Komplette Integration von Philips Hue-Lampen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
janhuddel
Beiträge: 7
Registriert: 25.05.2016, 15:21

Komplette Integration von Philips Hue-Lampen

Beitrag von janhuddel » 28.04.2017, 11:19

Tag zusammen,

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.
  1. 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)
  2. 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
    
Mit dieser Konfiguration kann ich bereits die Lampen via CCU schalten. Sofern ich sie lediglich innerhalb der CCU schalte, wird in den verschiedenen Ansichten auch immer der korrekte Status (ein oder aus) der Lampe angezeigt.

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:
Bild

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
Hinweis: Ich verwende hier zwei selbst entwickelte Nodes. Wer den Flow selbst testen möchte, muss vorher noch folgende 2 Nodes installieren (habe ich für diesen Zweck selbst geschrieben): Hier der Node-RED-Code zum importieren:
https://gist.github.com/janhuddel/862ae ... ea5912d13f

Ich freue mich auf euer Feedback.
RaspberryMatic 2.27.8.20170501 @ RPi3 + ioBroker

penicol
Beiträge: 1
Registriert: 06.06.2017, 20:35

Re: Komplette Integration von Philips Hue-Lampen

Beitrag von penicol » 06.06.2017, 20:42

Hallo,

ich habe meine Hue Lampen auch eingebunden, was auch gut funktioniert. Allerdings habe ich das von dir beschriebene Problem auch, dass der Status je nach Schaltung (über Homematic oder Hue) falsch gesetzt ist.
Kannst du kurz beschreiben, wie ich die Nodes in die CCU2 einbinde? Ich bn zwar kein völliger NOOB mehr, aber ganz so tief stecke ich in der Materie - noch - nicht drinnen.

Danke dir.

Gruß

Peter

Antworten

Zurück zu „CUxD“