himpler.com himpler.com

So geht’s: Harmony Hub mit Philips Hue verbinden

Ein Zuhause wird erst dann richtig smart, wenn man nicht mehr manuell eingreifen muss. Ein Beispiel dafür ist eine automatisierte Beleuchtungssteuerung bei einem Filmabend.

Vorausgesetzt man nennt ein Harmony Hub* und mindestens eine Philips Hue Lampe samt Bridge sein Eigen, lässt sich dies mit Node-RED und einem kleinen Flow umsetzen. Als Beispiel soll hier der Start und das Ende einer Aktivität als Auslöser verwendet werden.

Damit Node-RED sowohl mit dem Harmony Hub als auch mit der Hue-Bridge kommunizieren kann, werden zwei Plugins benötigt. Die lassen sich bei einer Standardinstallation mit den folgenden Befehlen installieren. Alternativ können diese auch über das Node-RED Menü (Palette - Manage Palette) installiert werden.

cd ~/.node-red
npm install node-red-contrib-huemagic node-red-contrib-harmony

Bei der manuellen Installation ist anschließend noch ein Neustart der Node-RED Instanz notwendig.

Aktivierung einer Hue Szene nach Aktivitätswahl

Jetzt kann der Flow erstellt werden. Benötigt wird der Harmony-Observe Node und zur Auslösung einer Szene auf der Hue Bridge der entsprechende Node von Huemagic. Alternativ kann aber natürlich auch nur eine einzelne Lampe geschaltet werden. Die beiden werden über eine Funktion miteinander verbunden.

Harmony und Hue in Node-RED verbinden

Der Harmony Node lässt sich sehr einfach konfigurieren. Durch einen Klick auf die Lupe wird automatisch das Netzwerk nach Hubs durchsucht.

Harmony Server Node Config

Die Konfiguration des Hue Nodes ist auch nicht wesentlich aufwendiger. Hier muss nach der ebenfalls automatischen Suche nur der Knopf auf der Harmony Bridge gedrückt werden, damit ein entsprechender Token generiert und übermittelt wird. Anschließend kann nach verschiedenen Szenen der Hue Bridge gesucht werden.

node-red-contrib-hue-magic Konfiguration

Der Harmony-Observe Node sendet eine Nachricht, sobald etwas auf dem Harmony Hub passiert. Da dies alles sein kann, verwenden wir die angebundene Funktion zur Filterung der Aktivitäts-ID und des Status.

if (msg.payload.activityId === "12345678" && msg.payload.activityStatus === 2) return msg;

Die ActivityID lässt sich am einfachsten durch einmaliges Schalten mit einem verbundenen Debug Node herausfinden. Der Activity Status 2 sagt aus, dass die Aktion gestartet wurde. Laut ReadMe des Harmony Plugins gibt es folgende mögliche Werte:

  • 0 - ist ausgeschaltet
  • 1 - Aktivität startet
  • 2 - Aktivität ist gestartet
  • 3 - Harmony Hub wird ausgeschaltet

Erweiterung des Flows

Wird die Aktivität beendet, soll eine andere Szene auf der Hue Bridge aktiviert werden. Dazu wird der Flow wie folgt erweitert.

Erweiterter Node-RED Flow für Harmony und Hue

Anschließend muss die Funktion ein wenig verändert und dem Node ein zweiter Ausgang (im Bearbeitungsmodus unten veränderbar) verpasst werden.

if (msg.payload.activityId === "12345678" && msg.payload.activityStatus === 1) {
    return [msg, null];
} else if (msg.payload.activityId === "12345678" && msg.payload.activityStatus === 3) {
    return [null, msg];
}

Die Funktion sorgt nun dafür, dass beim Ausschalten (ausgehend von der gewünschten Aktivität, die Szene “Hell” auf der Hue Bridge aktiviert wird. Die Szene wird dann an den zweiten Ausgang des Funktionsloses angeschlossen.

Weitere Möglichkeiten

Dank der umfangreichen Möglichkeiten in Node-RED sind noch viele Erweiterungen des Flows denkbar. Zum Beispiel kann die Aktivierung der Hue Szene erst nach einer bestimmten Uhrzeit oder in Abhängigkeit des aktuellen Sonnenstands erfolgen.

* Wenn Du über diesen Link bei Amazon einkaufst, erhalte ich eine kleine Provision. Damit unterstützt Du mich bei der Pflege meiner OpenSource Projekte. Du zahlst dafür nichts extra.

Share this post!

Das könnte dir auch gefallen