
Wer einen Smart-TV zuhause hat, der kann bei diesem meist vorhandene Schnittstellen nutzen, um diesen zu bedienen.
Philips als Beispiel hat in manchen Modellen JointSpace integriert. Jointspace bietet eine REST-API welche via HTTP-Aufrufe eine Steuerung erlaubt und lauscht am TV-Gerät auf Port 1925.
Um openHAB zur Steuerung zu verwenden können wir bequem auf die http-Actions zurückgreifen.
Denkbare Anwendungsfälle zur Integration ins „Smart Home“:
- Prüfen, ob das Gerät an oder aus ist (um z.B. eine Beleuchtung abhängig davon zu schalten; in meinem Fall läuft dies aktuell noch über eine Funksteckdose mit Stromverbrauch)
- Schalten auf bestimmte Eingänge auf Basis bestimmter Events
- Steuern der Lautstärke des TVs via Smarthome
- Steuern der Wiedergabe anhand externer Ereignisse
JointSpace aktivieren
Sollte JointSpace nicht funktionieren, muss es ggf. erst aktiviert werden (Betrifft Modelle auis 2009 und 2010). Philips hat hierzu einen FAQ-Beitrag auf seinen Seiten veröffentlicht, Zitat:
● Drücken Sie beim Fernsehen die Tasten „5646877223“ (das Wort „jointspace“ über die Zifferntasten) auf der Fernbedienung des Fernsehers.
● Wenn der Vorgang erfolgreich war, wird die kurze Meldung „JointSpace aktiviert“ (jointSpace enabled) angezeigt.
JointSpace nutzen
Ich selbst nutze nur einen kleinen Teil der API und diesen dafür, um, wenn jemand an der Tür klingelt oder wenn das Telefon leutet, den TV in den Pause-Modus zu versetzen. Er beginnt damit automatisch aufzuzeichenn.
Wenn ich dann weiterschauen möchte, dann kann ich manuell mittels Play-Taste den TV wieder in den Abspielmodus versetzen und in Ruhe weiter schauen.
Den TV und damit seine Schnittstelle kann man entweder über den im Router konfigurierten Hostname oder über die IP errreichen. Wählt man die IP, so sollte diese natürlich fest vergeben werden und sich nicht ständig ändern.
Dies ist natürlich nur ein konkretes Beispiel für meinen Philips TV. Grundsätzlich aber scheinen inzwischen die meisten TV-Geräte Webschnittstellen zu haben. Google hilft dabei beim Finden der entsprechenden Protokolle und Schnittstellen.
Oft hilft es auch, einen Portscan auf den TV laufen zu lassen und sich ausgeben zu lassen, welche Ports grunddsätzlich erreichbar sind, und die Portnummer dann in die Internetsuche mit einzubeziehen.
Beispiel für eine openHAb rule:
rule "Türklingel wurde gedrückt" when Item klingel changed from OFF to ON then // Code für Klingel ausgeblendet sendHttpPostRequest("http://tv.fritz.box:1925/1/input/key", "application/json", '{"key":"Pause"}') end
Die komplette API ist unter http://jointspace.sourceforge.net/projectdata/documentation/jasonApi/1/doc/API.html oder am eigenen Gerät unter http://<IP-DES-TV>:1925 einsehbar