Als ich die ersten Gehversuche mit NodeRED wagte, waren die smarten Leuchten von Philipps Hue die ersten eingebundenen Geräte. Relativ simpel können hier Parameter wie Helligkeit ausgelesen und in Schaltern und Anzeigen verwendet werden. Allerdings kam es immer wieder dazu, dass Lampen ohne Steuerbefehl an oder aus gingen. Eine ganze Weile habe ich nach der Ursache gesucht und festgestellt, dass scheinbar unvollständige Datenpakete durch das Netzwerk geistern. Diese enthielten nicht alle Parameter und das führte aber dazu, dass das beispielsweise Ausbleiben des Parameters „Helligkeit“ als „Helligkeit = 0“ und damit dem Ausschalten der Lampe gleichgesetzt wurde.


Ich habe die kleine Funktion „split“ in die Steuerkette gesetzt, die nun seit einem Jahr für Ruhe und absolut fehlerfreie Steuerung sorgt:

Abb. Flow der Steuerung für Philipps Hue Leuchten
var check1 = (msg.payload.on);
var check2 = (msg.payload.brightness);
var check3 = (msg.payload.reachable);

if (check1 === true & check3 === true) {
  return [
    { payload: msg.payload.on },
    { payload: msg.payload.brightness }
  ];
} else if (check1 === false & check2 === 0 & check3 === true) {
  return [
   { payload: msg.payload.on },
   { payload: msg.payload.brightness }
  ];
} else { }

Philipps Hue und NodeRED