In meinem Artikel „Integration eines ZigBee-LED-Bandes in ein Homematic-Smart-Home mit RedMatic“ zeige ich bereits, wie man einen ZigBee-Stick in RedMatic/Node-RED einbindet und damit ein LED-Band steuert. In diesem Beitrag möchten wir erneut einen command-Knoten zur Steuerung eines LED-Bandes nutzen. Diesen binden wir jetzt in ein RedMatic-Programm ein.

command-Knoten zur Steuerung nutzen

Ein ZigBee-LED-Band lässt sich am Besten mit Hilfe des command-Knotens steuern. Dieser bietet Zugriff auf eine Vielzahl von Befehlen. Eine Beschreibung der möglichen Befehle findet ihr beispielsweise auf docs.silabs.com.

Ich möchte euch am Beispiel der Steuerung der Lichtfarbe zeigen, wie man diesen Knoten verwendet. Hierzu nutzen wir das Kommando ‚moveToColor‘.

Hierzu müssen wir zunächst command-Knoten konfigurieren. Wählt unter ‚ieeeAddr‘ euer LED-Band aus und setzt ‚endpoint‘ auf ‚1‘ und ‚cluster‘ auf ‚lightningColorCtrl‘. Danach könnt ihr als ‚command‘ den Wert ‚moveToColor‘ auswählen.

RedMatic Konfiguration ZigBee command-Knoten
RedMatic-Konfiguration command-Knoten

Dieser Befehl verwendet die Parameter ‚colorx‘, ‚colory‘ und ‚transtime‘. In diesem Beispiel beschränken wir uns allerdings auf die Steuerung einer Dimension (‚colorx‘). Die Übergangszeit (‚transtime‘, kurz für transitiontime) wird ebenfalls auf 0 ms belassen.

Um den Befehl zu testen, können wir jetzt bereits in der Knotenkonfiguration den Farbwerte (‚colorx‘ und ‚colory‘) ändern und den Befehle durch einen Klick auf ‚execute command‘ ausführen.

Einbindung des command-Knotens in ein RedMatic-Programm

Um das Ganze praktisch nutzen zu können, möchten den Befehl allerdings aus einem Programm heraus ausführen. Dieses Programm soll es uns ermöglichen die Farbe über das RedMatic/Node-RED-Dashboard zu steuern.

Hierzu erzeugen wir zunächst einen Schieberegler, der die x-Koordinate (‚colorx‘) der Farbe regelt.

RedMatic Konfiguration Schieberegler Lichtfarbe
RedMatic-Konfiguration Schieberegler Lichtfarbe

Das Kommando benötigt die Parameter ‚colorx‘, ‚colory’und ‚transtime‘ als Übergabewerte. Um den Schieberegler jetzt zur Regelung der Farbe nutzen zu können, muss der Wert des Schiebers über einen function-Knoten in das entsprechende Objekt geschrieben werden. Die beiden anderen Werte werden hier der Einfachheit halber konstant vergeben.

Wir nutzen folgenden JSON-Code:

var newMsg = { payload:
{
„colorx“: msg.payload,
„colory“: 10000,
„transtime“:0
}
}
return newMsg;

function-Knoten mit JSON-Code für moveToColor-Befehl
JSON-Code für function-Knoten

Dieser Code schreibt den Übergabewert des Schiebereglers in das Objekt ‚colorx‘. Die y-Koordinate der Farbe wird auf 10000 und die Übergangszeit ‚transtime‘ auf 0 gesetzt.

Zum Schluss werden alle 3 Knoten miteinander verbunden. Für die Fehlersuche und zur Anzeige des Zahlenwerts des Reglers habe ich noch einen Debug-Knoten und ein Zahlenanzeige-Elemente ergänzt.

RedMatic-Code zur Regelung der Farbe eines LED-Bandes
RedMatic-Code zur Regelung der Farbe eines LED-Bandes

Durch einen Klick auf ‚Deploy‘ müsst ihr den Code nun noch auf die Steuerung laden. Damit erhaltet ihr im RedMatic-Dashboard folgende Elemente.

RedMatic-Dashboard zur Regelung der Lichtfarbe
RedMatic-Dashboard zur Regelung der Lichtfarbe

Ihr seit nun in der Lage über den Schieberegler die Lichtfarbe einzustellen.

Kategorien: Smart Home

2 Kommentare

Torben · 17. Februar 2022 um 15:08

Coole Sache und jetzt noch auf der anderen Seite mit einem CUXD Schieberegler über die Webui der CCU3/Charly.
Dann ist die Anleitung komplett. *TOP*

Karsten Dernier · 14. Oktober 2022 um 17:10

Hallo
Das funktionier Super auch mit ein Zigbee RGBW Lampe.
Ich würde gerne die Lampe von der Homematic mit ein virtuelles Gerät steuern, ich weiß das ist ganz schön viel Arbeit, aber ich finde irgendwie kein Ansatz im Internet.
Lampe ein und aus geht, und mit den Slider kann ich die Farbe ändern, aber nicht in der Homematic.

Schreibe einen Kommentar

Avatar-Platzhalter

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