Die guten alten Zeiten, als man noch ohne Sicherheitsmechanismen mit einem einfachen âhttp://â alles steuern konnte, sind leider vorbei.
Kein Passwort, keine Authentifizierung â einfach reinspazieren und loslegen. Heute? Willkommen in der Ăra der Digest-Authentifizierung!
Eine zusĂ€tzliche HĂŒrde, die uns SicherheitsgefĂŒhl gibt, aber jede DIY-Steuerung zur Geduldsprobe macht. Besonders Loxone Enthusiasten mĂŒssen tapfer sein: Einheimische Digest-UnterstĂŒtzung? Fehlanzeige.
Stattdessen fĂŒhlt sich die Steuerung moderner Android TVs an, als wĂŒrde man versuchen, einen Tresor mit einer đŽ Gabel zu knacken. Bleibt nur cURL, Python und ein Hauch von schwarzem Humor. Willkommen in der neuen RealitĂ€t der digitalen Heimsteuerung!
Willkommen im API-Dschungel
Anderes Modell, andere Befehle
Ahhh, wenn's nur das wĂ€re. Nein. Wechseln wir doch in diesem Jahr einfach mal den Port. Cool đ
NatĂŒrlich ist es auch hersteller- und modellabhĂ€ngig. Wieso auch irgendetwas normen, vereinheitlichen oder einfacher machen, wenn's auch kompliziert geht?
Jedes Jahr ein bisschen anders
Du denkst, du steuerst deinen Fernseher mit API-Befehlen, kaufst dir nĂ€chstes Jahr das Nachfolgemodell fĂŒr das Schlafzimmer und steuerst dieses dann auch mit den gleichen Befehlen? đ Eher Nein đ .
Praxisbeispiel: Philips 55OLED808/12
1. Vorbereitung & IP-Scan
Zuerst mal einen IP-Scan durchfĂŒhren, um die IP-Adresse des Fernsehers zu bekommen â oder einfach im MenĂŒ nachschauen.
Im MenĂŒ unter Netzwerk sollte man noch WoWLAN aktivieren. Dies erlaubt es, die GerĂ€te ĂŒber das Netzwerk ein- und auszuschalten (erhöht den Standby-Stromverbrauch leicht).
2. Der Zertifikats-Wahnsinn
Im Browser mal die folgenden Adressen testen:
http://IP-Adresse:1925/system(Ăltere Modelle)https://IP-Adresse:1926/6/system(Neuere Modelle)
Hier fÀngt der Stumpfsinn nÀmlich an. Auf dem TV lÀuft "Jointspace" mit eigenem Zertifikat. Eigentlich ein kleiner Webserver, welcher ein invalides Zertifikat ausstellt. Einfach auf "Weiter zu IP-Adresse (unsicher)" klicken.
Jetzt solltest du eigentlich eine JSON-Antwort von deinem TV bekommen:
đĄ Tipp: Wenn bei dir Port 1925 funktioniert, hast du GlĂŒck! Dein TV benötigt wahrscheinlich keine Digest-Auth und die Loxone-Integration ist ein Kinderspiel.
Pairing & Python
FĂŒr alle neueren TVs fĂ€ngt der Spass mit dem Pairing hier an: philips_android_tv auf GitHub
# 1. Dependencies installieren
pip install requests
pip install pycryptodome
pip install -r requirements.txt
# 2. Pairing starten (TV muss an sein!)
python philips.py --host 192.168.1.50 pair
Im besten Fall öffnet sich auf dem TV ein Fenster mit einem 4-stelligen Code. Diesen im Terminal eingeben. Du erhÀltst dann ID und App-Key.
Let's curl around
Mit den gewonnenen Daten kannst du nun Befehle senden:
Loxone Integration
Meine bisherigen Versuche, dies direkt in Loxone mit einem Virtuellen Ausgang zu lösen, scheiterten an der Digest-Authentifizierung.
Workaround: Ein Middleware-Server (z.B. Raspberry Pi mit Node-RED oder Home Assistant), der auf einfache HTTP-Befehle von Loxone hört und den komplexen Digest-Request an den TV sendet.
