Live-TV: der Empfänger spricht eine andere Sprache als der Programmführer
Aus der Antwort von /media/grabbers/devices/1:
{"channelKey":"6228f7f2364e02fa5ec8e51c-5fc706063f45c6002eab58a3",
"deviceIdentifier":"300",
"lineupIdentifier":"002"}
Der Programmführer kennt den Sender als `6228f7f2…-5fc706…`, der Tuner
als `300`. Die Zuordnung im Empfänger übersetzt zwischen beidem — und
genau diese Übersetzung habe ich nie benutzt. Jede Anfrage an den
Empfänger ging in der Sprache des Programmführers hinaus, und darauf gibt
es nur eine Antwort: 404.
Die Nummer am Empfänger steht jetzt an erster Stelle im Suchraum und im
Bericht. Der Empfänger ist ein HDHomeRun FLEX QUATRO mit vier Tunern; er
kennt Sender ausschließlich unter dieser Nummer.
Nebenbei aus derselben Ausgabe: /livetv/sessions antwortet mit size 0.
Die Route gibt es also — sie ist eine Liste. /livetv/sessions/<uuid> gibt
es nur, wenn die Sitzung vorher angelegt wurde, und deshalb war jeder
Abruf dort ein 404 ohne Aussagekraft.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7987dbf9a4
commit
08e6e14534
@@ -295,6 +295,36 @@ struct LiveTVGuideTests {
|
||||
#expect(path == "/livetv/sessions/xyz/stream")
|
||||
}
|
||||
|
||||
@Test("Die Zuordnung übersetzt zwischen Programmführer und Empfänger")
|
||||
func translatesChannelKeyToDeviceChannel() {
|
||||
// Der Programmführer kennt den Sender als `6228f7f2…-5fc706…`, der
|
||||
// Tuner als `300`. Ohne diese Übersetzung spricht man den Empfänger
|
||||
// in einer Sprache an, die er nicht versteht — und bekommt 404 auf
|
||||
// alles. Genau daran ist das Einschalten reihenweise gescheitert.
|
||||
let dvr = PlexDVR(
|
||||
key: "2",
|
||||
devices: [PlexTunerDevice(key: "1", channelMappings: [
|
||||
PlexChannelMapping(
|
||||
channelKey: "6228f7f2364e02fa5ec8e51c-5fc706063f45c6002eab58a3",
|
||||
deviceIdentifier: "300",
|
||||
lineupIdentifier: "002"
|
||||
),
|
||||
PlexChannelMapping(
|
||||
channelKey: "6228f7f2364e02fa5ec8e51c-5fc705fa6b022a002d77f212",
|
||||
deviceIdentifier: "299",
|
||||
lineupIdentifier: "001"
|
||||
),
|
||||
])]
|
||||
)
|
||||
|
||||
#expect(dvr.deviceChannel(forChannelKey: "6228f7f2364e02fa5ec8e51c-5fc706063f45c6002eab58a3") == "300")
|
||||
#expect(dvr.deviceChannel(forChannelKey: "6228f7f2364e02fa5ec8e51c-5fc705fa6b022a002d77f212") == "299")
|
||||
// Auch ohne den Vorsatz der Senderliste, denn die Kennung kommt je
|
||||
// nach Quelle mit oder ohne ihn.
|
||||
#expect(dvr.deviceChannel(forChannelKey: "5fc706063f45c6002eab58a3") == "300")
|
||||
#expect(dvr.deviceChannel(forChannelKey: "unbekannt") == nil)
|
||||
}
|
||||
|
||||
@Test("Die Sender des Tuners stehen unter DeviceChannel")
|
||||
func readsDeviceChannelKey() async throws {
|
||||
// Der Server lieferte 278 Sender, die Hülle verwarf sie: sie kannte
|
||||
|
||||
Reference in New Issue
Block a user