Kontaktieren Sie mich unter info@tiemerding.com

Fernseher in HomeKit steuern (Tutorial)

Fernseher in HomeKit steuern (Tutorial)

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.

‎Intelligent Home Center For EU
‎Intelligent Home Center For EU

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.

1
$ (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.

1
$ (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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "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.

1
2
3
4
[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.

1
$ 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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  "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 du auf so einen Link klickst und darüber einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht.

 

  1. Homebridge ist eine Open-Source-Lösung um inkompatible Geräte über einen Raspberry Pi mit HomeKit zu verbinden