Seit iOS 12 unterstützt Apple in HomeKit die Steuerung von Fernsehgeräten. Leider haben erste wenige Geräte wie der LG 55UN71006LB* oder Sony KD-49XH8096* diese Funktion adaptiert. Mit ein wenig Bastelei lassen sich aber auch ältere Fernseher einfach in ein Smart Home Setup mit Apple Homekit integrieren. Hierzu wird die Fernbedienung durch ein Gerät, den sogenannten Infrarot Blaster, simuliert.
Neben dem Infrarot Blaster, hier Broadlink RM Mini 3*, welcher bereits für rund 20€ erhältlich ist, wird ein Raspberry Pi (z.B. Pi Zero W*, Pi 3 Model B+*, Pi 4 Model B*) mit einer Installation von Homebridge1 benötigt.
Broadlink RM einrichten
Zunächst muss der RM Mini 3 mit dem lokalen WLAN verbunden werden. Hierzu wird die App Intelligent Home Center vom Hersteller Broadlink genutzt.
Zur Einrichtung bzw. Freischaltung der App wird ein Account benötigt. Um diesen zu Erstellen habe ich auf eine temporäre Wegwerf-E-Mail-Adresse zurückgegriffen.
Der Assistent zur Einrichtung des RM Mini 3 wird mit einer Ausnahme durchgearbeitet. Das Gerät darf im letzten Schritt keinem Raum / Standort zugeordnet werden. Ansonsten kann es sein, dass der RM Mini 3 nur noch mit der App sprechen möchte.
Broadlink RM in Homebridge einbinden
Für die Einbindung des Broadlink RM Mini 3* in Homebridge gibt es mehrere Plugins. Für dieses Tutorial wird das Plugin homebridge-broadlink-rm-tv genutzt. Mit diesem Plugin können neben Fernseher auch zahlreiche andere Geräte mit Fernbedienung wie z.B. Ventilatoren eingebunden werden.
Die Installation des homebridge-broadlink-rm-tv Plugins läuft wie gewohnt.
$ (sudo) npm install -g homebridge-broadlink-rm-tv
Aktuell (Stand Juni 2020) unterstützt das Plugin standardmäßig noch nicht die aktuellste Hardwarerevision des RM Mini 3, welche je nach Händler ausgeliefert werden kann. Daher muss eine Datei im Plugin ausgetauscht werden. Ohne den Austausch der Datei können Tastendrücke einer Fernbedienung (Hex-Codes) nicht angelernt werden.
$ (sudo) sudo curl https://raw.githubusercontent.com/lprhodes/broadlinkjs-rm/master/index.js -o /usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/broadlinkjs-rm/index.js
Nach der Installation kann die Konfiguration von Homebridge config.json mit einer initialen Konfiguration erweitert. Mit dieser Konfiguration werden nachfolgende die Hex-Codes der Fernbedienung des Ventilators angelernt.
{
"bridge": {
"name": "Homebridge",
"username": "AA:BB:CC:DD:EE:FF",
"port": 12345,
"pin": "123-45-678"
},
"accessories": [
{
"platform": "BroadlinkRM",
"name": "Broadlink RM 3 Mini"
}
]
}
Im Anschluss wird homebridge neu gestartet.
Hex-Codes lernen
In der Home App findet man im Standardraum nun den Schalter Learn. Nachdem dieser aktiviert wurde hat man 10 Sekunden Zeit eine Taste auf der Fernbedienung zu drücken. Der Hex-Code der Taste wird aufgezeichnet und im Log von Homebridge ausgegeben.
[Broadlink RM] Learn Code (ready)
[Broadlink RM] Learn Code (learned hex code: HEX_CODE)
[Broadlink RM] Learn Code (complete)
[Broadlink RM] Learn Code (stopped)
Den Log findet man unter /var/log/homebridge.log.
$ tail -n 100 /var/log/homebridge.log
Mit obigem Befehl werden die letzten 100 Zeilen des Logs ausgegeben. Unter diesen sollte sich auch obige Ausgabe befinden.
Je nach unterstütztem Funktionsumfang des eigenen Fernsehers müssen / können unterschiedliche Hex-Codes gelernt werden, z.B. zum Verändern der Lautstärke, Ein- und Ausschalten oder Auswahl der Quelle.
Konfiguration vervollständigen
Die initiale Konfiguration wird nun mit den ermittelten Hex-Codes ergänzt und homebridge neu gestartet. Die hier gezeigte Konfiguration ist ein Beispiel. Weitere Parameter können der Dokumentation entnommen werden.
{
"bridge": {
"name": "Homebridge",
"username": "AA:BB:CC:DD:EE:FF",
"port": 12345,
"pin": "123-45-678"
},
"accessories": [
{
"platform": "BroadlinkRM",
"name": "Broadlink RM 3 Mini",
"accessories": [
{
"name": "TV",
"type": "tv",
"data": {
"on": "HEX code",
"off": "HEX code",
"volume": {
"up": "HEX code",
"down": "HEX code"
},
"remote": {
"select": "HEX code",
"arrowUp": "HEX code",
"arrowDown": "HEX code",
"arrowLeft": "HEX code",
"arrowRight": "HEX code",
"back": "HEX code",
"exit": "HEX code",
"playPause": "HEX code",
"rewind": "HEX code",
"fastForward": "HEX code",
"info": "HEX code"
}
}
}
]
}
]
}
TV via Home und Remote steuern
Nach einem Neustart taucht der Fernseher in der Home App und als fernsteuerbares Gerät im Control Center auf. Er kann nun in Automationen genutzt werden, z.b. um diesen pünktlich zu Tagesschau einzuschalten.
Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Wenn Sie auf so einen Link klicken und darüber einkaufen, bekomme ich von Ihrem Einkauf eine kleine Provision. Für Sie verändert sich der Preis nicht.