wie man mittels CCU und CUxD seine Hue-Lampen ansteuern kann ist mir bekannt. Allerdings ist das reine ein-/ausschalten via curl ja nur die eine Seite der Medaille. Ich möchte innerhalb der CCU (bzw. in Drittapplikationen wie zum Bsp. PocketControl) auch den Zustand der Lampe sehen. Eine Herausforderung hierbei ist, der CCU mitzuteilen, wenn die Lampen mit "Homematic-Fremden" Anwendungen geschaltet werden.
Ich habe mir mit CUxD und Node-RED eine Lösung gebastelt, welche grundsätzlich funktioniert, die ich aber hier mal zur Diskussion stellen möchte.
- Einrichtung eines neuen CUxD-Gerätes: (40) 16 Kanal Universalsteuerung - Icon: Schaltaktor 1fach Unterputz - Control: Schalter (Wichtig ist hier m.E., dass man hier explizit "Schalter" wählt - der Taster kennt keinen Status)
- In der CCU ordne ich jetzt jede Hue-Lampe einem Kanal des eben erzeugten Geräts zu.
In den Kanaleinstellungen setze ich dann folgende Parameter:Code: Alles auswählen
SWITCH|CMD_EXEC : on SWITCH|CMD_SHORT: /usr/local/addons/hue/lights.tcl 9 false SWITCH|CMD_LONG : /usr/local/addons/hue/lights.tcl 9 true
Schalte ich aber zum Bsp. die Lampe per Hue-App an, dann wird mir die Lampe in der CCU logischerweise immer noch als "aus" angezeigt. Das ist der Punkt, wo Node-RED ins Spiel kommt.
Das ist der Ablauf:
Erklärung der einzelnen Schritte:
- alle 10 Sekunden: Timer, welcher den Flow alle 10 Sekunden ausführt
- get light state: Liest den Status aller Lampen mittels http://<HUE-IP>/api/<APIKEY>/lights
- process & split: Wertet den Status aller Lampen aus und prüft, ob sich der Status seit dem letzten Abruf verändert hat. Für jede Lampe mit einem neuen Status werden dann die weiteren Schritte ausgeführt
- map light: Übersetzt die Lampen-ID (Bsp. '3') auf den entsprechenden CCU-Gerätekanal (Bsp. CUX4000002:3)
- prepare rega: Erzeugt ein REGA-Skript (Bsp. dom.GetObject('CUxD.CUX4000002:3.SET_STATE').State(1);)
- hmrega: Führt das zuvor erzeugte REGA-Skript auf der CCU aus
- map (https://github.com/janhuddel/node-red-contrib-map)
- hmrega (https://github.com/janhuddel/node-red-contrib-hmrega)
https://gist.github.com/janhuddel/862ae ... ea5912d13f
Ich freue mich auf euer Feedback.