ioBroker Node-RED – Teil 4.4 – Change Node

In diesem Teil der ioBroker Node-RED Artikelreihe zeige ich Dir, wie Du Node-Red in ioBroker verwenden kannst.

Im Teil 4.4 der ioBroker Node-RED Artikelreihe werden wir uns den Change-Node ansehen. Mit dem Change-Node können wir die Werte (Payload) von Nachrichten in einem Flow ändern. Für das Beispiel legen wir uns zunächst einen neuen Flow an, und fügen im ersten Schritt den Change-Node ein. Wir finden den Change-Node in der Kategorie „Funktionen“. Der Change Node besitzt für die Wert-Änderung auf der linken Seite einen Eingangspunkt, sowie für die Rückgabe auf der rechten Seite einen Ausgangspunkt.

Für unseren Flow füge ich nun die weiteren Nodes ein und ziehe die folgenden Verbindungslinien:

Der Flow beginnt mit der Node „ioBroker in“. Als Datenpunkt habe ich hier unser virtuelles „LightA“ verwendet. Für die Ausgabe und Kontrolle des originalen sowie veränderten Payloads habe ich zudem zwei Debug-Nodes eingefügt. In der Konfiguration der Debug-Nodes habe ich zudem den Node-Status aktiviert, sodass wir den Payload direkt im Flow einsehen können.

Im nächsten Schritt können wir mit der Konfiguration des Change-Nodes beginnen. Ich möchte hier den Payload wie folgt ändern:

  • Wenn LightA Status = true -> setze den Payload auf 100
  • Wenn LightA Status = false-> setze den Payload auf 0

 

Mit einem Doppelklick öffnen wir nun die Konfiguration des Change-Nodes. Im ersten Schritt können wir für den Node einen sprechenden Namen vergeben. Ich habe hier als Namen „Helligkeit 0-100“ definiert. Nun fügen wir die Regeln der Change-Node hinzu. Dazu klickst Du unten auf die Schaltfläche „Hinzufügen“. Da wir zwei Regeln benötigen, können wir an diesem Punkt gleich beide Regeln anlegen.

Die Regeln habe ich wie im Screenshot unten abgebildet definiert. Beide Regeln verwenden den Typ „Ändern“, da wir nach einem Wert suchen und diesen ersetzten möchten. Am Feld „Suchen nach“ legen wir zunächst den Datentyp fest, nach welchem wir suchen möchten. Dies ist bei uns „boolean“. Wir können dann in der Liste der Werte true oder false auswählen. Im Feld „Ersetzen durch“ wählen wir den Datentyp Number und tragen hier in der ersten Regel 100 und in der zweiten Regel 0 ein.

 

Im nächsten Schritt können wir den Flow „deployen“ und testen.

 

Wenn nun der Datenpunkt LightA auf true gesetzt wird, wird der Payload auf 100 gesetzt. Steht der Wert auf false, wird der Payload auf 0 gesetzt.

 

 

 

 

Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

 

 

 

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

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