Hallo,
ich habe einen Fernseher von Philips aus der PFL 4000er Serie von 2011. Dieser hängt im heimischen Netzwerk und läßt sich über eine App steuern, die für iOS und Android erhältlich ist (PhilipsMyRemote). Für Linux gibt es nur ein halbausgegorenes Projekt, was ich nichtmal problemlos kompilieren konnte. Aber dabei bin ich auf die API des Fernsehers gestoßen, die sich leicht über das Terminal steuern läßt.
Zuerst habe ich im Browser die IP des Fernsehers eingegeben auf dem Port 1925 (also z.B. http://192.168.0.100:1925). Damit war ich dann auf der Dokumentationsseite zur API. (Im Web unter http://jointspace.sourceforge.net/projectdata/documentation/jasonApi/1/doc/API.html zu finden.) Im Terminal hab ich es dann einfach getestet und es funktionierte.
Code: Alles auswählen
curl -X POST http://192.168.0.100:1925/1/input/key -d '{"key":"Mute"}'
Man kann sich einige Infos ausgeben lassen, sämtliche Tasten der Fernbedienung nutzen und auch Sender gezielt auswählen.
Da dachte ich mir, es wäre doch praktisch, direkt aus dem TVBrowser heraus den Fernseher anzusteuern. Dazu habe ich mir erst einmal die Senderliste des Fernsehers gespeichert, denn zum Umschalten braucht man den Fingerprint des jeweiligen Kanals.
Code: Alles auswählen
curl --output channels.txt -X GET http://192.168.0.100:1925/1/channels
Jetzt habe ich das Plugin "Aufnahmesteuerung" installiert und ein Gerät hinzugefügt mit dem Standard-Treiber. Dann direkt weiter unter Sender die "externen Namen" mit den Fingerprints der gespeicherten Senderliste ausgefüllt. Unter "Parameter" habe ich ein zusätzliches Kommando definiert: "Umschalten". Und ab hier hängt es jetzt bei mir.
Trage ich bei Applikation curl ein und bei dem Parameter von Umschalten folgendes:
Code: Alles auswählen
-X POST http://192.168.0.100:1925/1/channels/current -d '\{"id":"{channel_name_external}"\}'
bekomme ich nur die Antwort auf den aktuell eingestellten Kanal aber der Fernseher schaltet nicht um.
Wenn ich als URL
eintrage und als Parameter
passiert das selbe.
Ich hab gerade echt ein Brett vor dem Kopf und komme einfach nicht auf den richtigen Ansatz, wie ich das im TVBrowser umsetzen kann. Ich hab noch mehr herumprobiert aber nichts lief. Wäre schön, wenn mir irgendjemand helfen könnte.
Hier noch eine komplette Beispielzeile mit der das direkte Umschalten zu einem Kanal im Terminal funktioniert:
Code: Alles auswählen
curl -X POST http://192.168.0.100:1925/1/channels/current -d '{"id":"0-3-2208-0-1-1010-11150"}'
Gruß Andy
PS: Angeblich soll JointSpace nur mit der Serie des Jahres 2011 funktionieren. Nur als Info, falls das jemand an seinem Modell nachbasteln möchte.