Philips TV '11 umschalten

Antworten
Fillip11
Newbie
Beiträge: 6
Registriert: 17 Feb 2013, 20:35

Philips TV '11 umschalten

Beitrag von Fillip11 »

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

Code: Alles auswählen

http://192.168.0.100:1925/1/channels/current
eintrage und als Parameter

Code: Alles auswählen

\{"id":"{channel_name_external}"\}
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.
Benutzeravatar
Agrivaine
Moderator
Beiträge: 812
Registriert: 21 Nov 2007, 14:39
Kontaktdaten:

Re: Philips TV '11 umschalten

Beitrag von Agrivaine »

Hi,
versuche es mal mit anlegen eines kleinen Shellscriptes

Code: Alles auswählen

#!/bin/sh
curl $1
Unter "Applikation" dann den Namen des Shellscriptes eintragen, unter "Parameter" wie gehabt -X POST http://192.168.0.100:1925/1/channels/current -d '\{"id":"{channel_name_external}"\}'
Notfalls kann man so auch z.B. mittels echo schön debuggen :)
Gestern standen wir vor dem Abgrund; heute sind wir bereits einen Schritt weiter...
Fillip11
Newbie
Beiträge: 6
Registriert: 17 Feb 2013, 20:35

Re: Philips TV '11 umschalten

Beitrag von Fillip11 »

Hi,

dankeschön! So einfach kann es manchmal sein.

Nach folgender kleinen Anpassung im Shellscript

Code: Alles auswählen

#!/bin/sh
curl -X POST http://192.168.0.100:1925/1/channels/current -d $1
und kürzen des Parameters auf '\{"id":"{channel_name_external}"\}' geht jetzt das Umschalten wie gewünscht.

Nun hab ich nur noch bei den Einstellungen zum Gerät die Option "Rückgabe-Dialog nur bei Fehlern anzeigen" gesetzt. Und dann die IP des Fernsehers in die /etc/hosts eingetragen, um bei Änderungen diese nur einmal global anpassen zu müssen.

Auch ein RIIEESEN Dank an alle Macher vom TVBrowser! Ich nutze ihn schon seit fast 10 Jahren und es ist für mich immer noch eines der besten, praktischsten, wichtigsten, empfehlenswertesten und einfach tollsten Programmen überhaupt.

Gruß Andy
Antworten