Versucht man die Eigenschaften eines HUE-Bewegungsmelders auszulesen, wird man schnell merken, dass im HUE-Adpater in ioBroker der Bewegungsmelder nicht mit den notwendigen Objekten aufgeführt ist. Der Bewegungsmelder kann die Temperatur, den Batterieladestand und natürlich die Bewegung als Daten liefern.

Hinweis: Mittlerweile werden auch die Zubehör-Geräte der HUE-Bridge in ioBroker als Objekte angelegt, Schalter, Bewegungsmelder, Helligkeit, Batterie und Temperatur können auch ohne Zugriff über Node-RED genutzt werden.

Um auf die Informationen zugreifen zu können, benötigen wir Node-RED. Wir versuchen gar nicht erst, Node-RED umfassend zu beschreiben, es ist aber ein sehr mächtiges Tool, um Daten aus konnektierten Geräten abzurufen und auch zu schreiben: Wikipedia sagt:

„Node-RED ist ein von IBM entwickeltes grafisches Entwicklungswerkzeug. Die Software ermöglicht es, Anwendungsfälle im Bereich des Internets der Dinge mit einem einfachen Baukastenprinzip umzusetzen. Die einzelnen Funktionsbausteine werden durch Ziehen von Verbindungen verbunden.“


Unsere HUE-Empfehlungen


Los geht’s, Zunächst müssen wir ioBroker für den Einsatz von Node-RED vorbereiten:

  • Im Adapter Javascript das NPM-Modul node-hue-api laden
    node-hue-api in Javascript Adapter einbinden

    node-hue-api in Javascript Adapter einbinden

  • Den Adapter Node-RED installieren
    Node-RED-Adapter in ioBroker installieren

    Node-RED-Adapter in ioBroker installieren

  • Node-RED in der linken Navigation und über die Einstellungen (rechts oben) das Paket huemagic installieren
    huemagic in node-RED installieren

    huemagic in node-RED installieren

Nach diesen Schritten ist Node-RED mit den notwendigen Paketen für die Einbindung der HUE-Komponenten vorbereitet. In den nächsten Schritte bauen wir einen Node-RED-Flow, um über sogenannte Nodes auf die Geräte zugreifen und Daten auslesen zu können.

In Theorie funktioniert der Flow wie folgt:

Über einen Node wird auf den Bewegungsmelder an der gekoppelten Bridge zugegriffen, eine Funktion liest die Temperatur aus, um den Wert im letzten Schritt in ein ioBroker-Objekt zu schreiben.

  1. HUE-Temperatur-Node auswählen, einfach in der linken Navigation bis zum HueMagic-Bereich scrollen und den Node suchen
    Schritt 1: Node aus HueMagic für Temperatur wählen

    Schritt 1: Node aus HueMagic für Temperatur wählen

  2. In den Eigenschaften des Nodes lässt sich die Bridge auswählen, ist noch keine konfiguriert, erfolgt dies im nächsten Schritt
    Schritt 2: Node-Eigenschaften öffnen

    Schritt 2: Node-Eigenschaften öffnen

  3. Um eine neue Bridge anzulegen, benötigen wir die IP und den API-Key
    Schritt 3: Neue Bridge anlegen

    Schritt 3: Neue Bridge anlegen

  4. Im vierten Schritt wählen wir den Sensor aus der gewählten Bridge für den Node aus
    Schritt 4: Sensor aus Bridge auswählen

    Schritt 4: Sensor aus Bridge auswählen

  5. Ist der Sensor ausgewählt, benötigen wir einen Funktion-Node, um die Daten des Bewegungsmelders auszulesen
    Schritt 5: Daten abrufen

    Schritt 5: Daten abrufen

    Für die Temperatur nutzen wir: var newMsg = { payload: msg.payload.celsius };
    Für die Batterie nutzen wir: var newMsg = { payload: msg.info.battery };
    Für die Bewegung nutzen wir: var newMsg = { payload: msg.payload.motion };

  6. Sind die Daten erfasst, müssen wir diese nur noch an ioBroker weitergeben. Hierfür gibt es ein entsprechenden Node ioBroker out, mit den gezeigten Eigenschaften wird das Objekt mit dem Namen automatisch angelegt.

    Schritt 6: Daten in ioBroker-Objekt schreiben

    Schritt 6: Daten in ioBroker-Objekt schreiben

  7. Anschließend muss der Flow über „Deploy“ rechts oben im Node-RED-Fenster aktualisiert und gestartet werden. Die Werte werden jetzt direkt am Flow angezeigt.
    Schritt 7: Deploy und Funktion kontrollieren

    Schritt 7: Deploy und Funktion kontrollieren

  8. Zuletzt kontrollieren wir, ob die Daten auch korrekt in ioBroker angekommen sind, wir prüfen das entsprechende Objekt:
    Schritt 8: Objekt in ioBroker prüfen

    Schritt 8: Objekt in ioBroker prüfen

    Das Objekt kann jetzt in üblichen ioBroker-Scripts genutzt werden.

Wichtig zu wissen ist, dass wir einen eigenen Flow je Wert eines Gerätes benötigen, also in diesem Fall eine weitere Funktion am Bewegungsmelder-Node, um Batterie und auch Bewegung abzugreifen.