Logitech Harmony Hub in homee integrieren

Wie ihr wisst, ist homee aus Stuttgart noch immer die bevorzugte Smart Home Lösung meiner Wahl. Mit dem Kauf eines Harmony Hubs zur Steuerung meiner TV Landschaft, kam nun die Frage auf, ob dieser in homee integrierbar ist. Ziel soll es beispielsweise sein, den Fernseher über homee an- und auszuschalten, bzw. bei eingeschaltenem Fernseher die indirekte TV-Beleuchtung zu aktivieren.

Der Harmony Hub aus dem Hause Logitech wird leider (noch) nicht offiziell von homee unterstützt. Glücklicherweise habe ich damals das Plugin homeeUp geschrieben, welches genau für solche Anwendungsfälle gemacht ist und nicht unterstützte Geräte in die Steuerzentrale homee integriert. Wie das Ganze funktioniert, könnt ihr hier ausführlicher nachlesen.

Zunächst müssen wir das Plugin „harmony-api“ installieren, damit wir unseren Hub per HTTP steuern können:

wget https://github.com/maddox/harmony-api/archive/master.zip
unzip master.zip && rm master.zip
cd harmony-api-master/
script/install-linux

Nach der Installation können wir mit systemctl status harmony-api-server den Status des Plugins prüfen. Wenn ihr http://EUREIP:8282 im Browser aufruft, seht ihr welche Aktivitäten im Harmony Hub angelegt wurden und über welche URLs diese aufgerufen, bzw. gestartet werden können.

Um den Fernseher nun in homee anzuzeigen, nutzen wir das SimpleCMDPlugin aus homeeUp, welches einen einfachen Schalter in homee simuliert. Über die config.json können wir zuweisen, was beim Ein- und Ausschalten dieses Schalters passiert:

"plugins": [
    {
        "deviceName": "TV",
        "type": "SimpleCMDPlugin",
	    "pluginParams": {
                "onCmd": "curl -X POST http://127.0.0.1:8282/hubs/harmony-hub/activities/watch-tv > /dev/null",
                "offCmd": "curl -X PUT http://127.0.0.1:8282/hubs/harmony-hub/off > /dev/null"
]

In meinem Fall wird beim Einschalten die Aktivität „watch-tv“ gestartet, beim Ausschalten werden alle mit dem Harmony Hub verbundenen Geräte ausgeschaltet.

Da wir den Fernseher natürlich nicht nur über homee an- und ausschalten, sondern auch mit der Fernbedienung, müssen wir solche Schaltungen homee mitteilen, sodass der Status des Geräts immer überein stimmt. Wir fügen in die obige Config folgende zwei Zeilen ein:

"statusCmd": "curl -v --silent http://127.0.0.1:8282/hubs/harmony-hub/status 2>&1 | grep 'watch-tv' > /dev/null; echo $?",
"checkInterval": 10000,
"pauseCheckIntervalAfterSwitch": 15000

Durch diese Zeilen prüft homeeUp alle 10 Sekunden den Status der Aktivität watch-tv und passt den Status des Geräts in homee entsprechend an.

Viel Spaß beim Ausprobieren! 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.