HUE schalten ohne Addon ohne Kopplung

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

HUE schalten ohne Addon ohne Kopplung

Beitrag von Bernd-Joras » 29.05.2022, 08:08

Ich bin mal mutig und lege etwas bei => Tipps & Tricks ... ab .... wenn es nicht passt, sollte das ggf. ein Admin verschieben.

Kleine HUE Doku ohne HUE-Addon und ohne Kopplung …
(Habe ich mir nicht selbst ausgedacht … ist alles auch im Netz/Forum zu finden. DANKE)

Als erstes braucht man einen API Key (User) des eigenen HUE-GW.
Das ist so gesehen der User (Admin) der über die im HUE-GW integrierte API Schnittstelle auf das HUE-GW darf.

wie geht das => https://developers.meethue.com/develop/get-started-2/

Wenn man diesen erzeugt hat, kann man schon mal mit dem HUE GW ein wenig testen.
http://---IP---eigenes---HUE-GW---/debug/clip.html

Nun kann man mit den folgenden Skripts die HUE Lampen/Gruppen schalten und steuern …

Einerseits möchte ich hiermit kurz aufzeigen wie man die HUE Lampen/Gruppen auch ohne Addon oder HUE Kopplung schalten kann, muss jedoch zugeben, dass ich an der einen oder anderen Stelle noch nicht so ganz zufrieden bin….
Außerdem hat das alles auch nicht den Anspruch auf Vollständigkeit …


Schalten einer LAMPE (mit der als letztes eingestellten Farbe)

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true }' http://192.168.x.y/api/----der----eigene---API---Key----/lights/12/state";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Schalten einer LAMPE auf z.B. rot

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true , \"hue\":5}' http://192.168.x.y/api/----der----eigene---API---Key----/lights/12/state";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Schalten einer LAMPE auf z.B. grün / Helligkeit ca. 50 % / Sättigung ca. 50%

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true, \"sat\":127, \"bri\":127,\"hue\":20000}' http://192.168.x.y/api/----der----eigene---API---Key----/lights/12/state";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);




Schalten der GRUPPE-1 (mit der als letztes eingestellten Farbe, bei voller Helligkeit / Sättigung)

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true }' http://192.168.x.y/api/----der----eigene---API---Key----/groups/1/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Schalten der GRUPPE-5 auf z.B. rot

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true , \"hue\":5}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/5/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Schalten der GRUPPE-13 auf z.B. grün / Helligkeit ca. 50 % / Sättigung ca. 50%

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true, \"sat\":127, \"bri\":127,\"hue\":20000}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/13/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Schalten der LAMPE-14 auf wechselnde Farben (colorloop) mit ca. 50% Helligkeit (geht auch mit Gruppe - action)

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true, \"bri\":127, \"effect\":\"colorloop\"}' http://192.168.5.120/api/f7Jx8jnsbPiy8aBW-NBOBZzEacZkqei4deWKnch5/lights/14/state";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);


Blinken lassen …. etwas verzwickter … mit „lselect“ sind das 15 Sec. blinken, dann danach dauer leuchtend

Ist eine Lampe/Gruppe schon an (leuchtend) dann bewirkt der blinken Befehl ein Blinken zwischen 50% und 100% Helligkeit

Ist eine Lampe/Gruppe aus (nicht leuchtend) dann bewirkt der blinken Befehl ein Blinken zwischen 0% und 100% Helligkeit

Meines Wissen nach bezieht sich das blinken immer auf die zuletzt eingestellte Farbe.
Ich habe es jedenfalls nicht geschafft mit dem blinken Befehl (alert:lselect) innerhalb des gleichen Befehlskette auch die Helligkeit und/oder Farbe anzusteuern.

Da ich jedoch alle meine 30 HUE Lampen im Haus bei einem Einbruchalarm rot blinken lasse, habe ich das mit dem Blinken in mehrere Befehle gepackt und starte die zeitlich nacheinander.




Alle Lampen auf rot schalten …

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":true , \"hue\":5, \"sat\":254 }' http://192.168.x.y/api/----der----eigene---API---Key----/groups/0/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);
Verzögert ca. 2 Sec.
Alle Lampen aus (damit diese mit dem kommenden blinken-Befehle von 0% zu 100% blinken…

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"on\":false}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/0/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);
Verzögert ca. 4 Sec.
Alle Lampen auf blinken schalten … (diese blinken nun mit der letzten eingestellten Farbe rot.

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"alert\":\"lselect\"}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/0/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);
Verzögert ca. 30 Sec.
Alle Lampen auf blinken schalten … (diese blinken nun mit der letzten eingestellten Farbe rot.

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"alert\":\"lselect\"}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/0/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

Verzögert ca. 60 Sec.
Alle Lampen auf blinken schalten … (diese blinken nun mit der letzten eingestellten Farbe rot.

Code: Alles auswählen

string curlcmd="/usr/local/addons/cuxd/curl --request PUT --data '{\"alert\":\"lselect\"}' http://192.168.x.y/api/----der----eigene---API---Key----/groups/0/action";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcmd);

usw.

Welche Lampe hat welche Nummer ? =>einfach im Browser

Code: Alles auswählen

http:/192.168.5.120/api/http://192.168.x.y/api/ f7Jx8jnsbPiy8aBW-NBOBZzEacZkqei4deWKnch5/lights/

Welche Gruppe hat welche Nummer ? =>einfach im Browser

Code: Alles auswählen

http:/192.168.5.120/api/http://192.168.x.y/api/ f7Jx8jnsbPiy8aBW-NBOBZzEacZkqei4deWKnch5/groups/


Code: Alles auswählen

!#  "on": true, false     		=>  LAMPE / SZENE /GRUPPE  ein- ausschalten
!#  "bri": 201,			      	=>  Helligkeit Werte von 0 bis 254
!#  "hue": 7061,		      	=>  Farbe Werte von 0 bis 65535 RGB-Farbkreises
!#  "sat": 254,		        	=>  Farb Sättigung Werte von 0 bis 254
!#  "effect": "none",		 	=>  Werte none" oder "colorloop" durchläuft alle Farbtöne
!#  "ct": 500,			     	=>  Farbtemperatur (Kelvin) Werte von 153 (6500k) bis 500 (2000K)
!#  "alert": "select",		 	=>  select = 1 x Blinken / lselect = Blinkt für 15s [kleines L] / none = Blinken abbrechen
!#  "transitiontime": 600	 	=>  Übergangs Zeit z.B. Ein/Aus  1/10 Sekunde (600 = 1 Min.)
!# Alle HUE´s schalten			=>  GRUPPE 0  

PS: Ich kann Euch sagen ... als alle meine HUE Lampen rot binkten ... beim Test der Homematic-Alarmanlage ... das war (zumindestens nachts) sehr Auffällig ... ich habe das dann im Programm weiterhin alle 30 Sekunden auslösen lassen und für 15 Minuten programiert ... am ende der 15 Min. bleiben dann alle HUE-Lampen rot bei voller Helligkeit.
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

etzel
Beiträge: 24
Registriert: 14.02.2021, 18:29
System: CCU
Danksagung erhalten: 3 Mal

Re: HUE schalten ohne Addon ohne Kopplung

Beitrag von etzel » 26.01.2023, 19:55

Hallo,

ziemlich mühselig, die scripterei. Das läßt sich doch viel einfacher mit nodered-contrib-zigbee oder mit einer Hue-Bridge und entsprechenden Nodes in Nodered oder mit externem Zigbee2MQTT lösen.
Trotzdem Chapeau!
RaspiMatic auf RPI4 mit HMIP-RF-MOD (Charly) und HM-Lan-Gateway, Nano-CUL (433MHz), NodeRed,ca 50 HMIP-Geräte, CUxD,
2x Zigbee2MQTT mit ConBee2 (RPI2),
Influx-DB (RPI4)
NAS (OMV6)

TomTB
Beiträge: 73
Registriert: 18.11.2018, 15:30
Danksagung erhalten: 4 Mal

Re: HUE schalten ohne Addon ohne Kopplung

Beitrag von TomTB » 27.01.2023, 09:12

Ich habe das auch so gemacht. Ich versuche, möglichst viel selbst in der Hand zu haben und vermeide von Entwicklern abhängig zu sein, die irgendwann mal keine Lust mehr haben. Ich steuere auch meine Sonos-Anlage über diesen Weg. Bei Hue war mein Problem, dass es bei Integration in Homematic kein Status (welche Helligkeit hat die Lampe gerade) gab. Ich wollte aber eine Lampe an der Wohnungstür in Abhängigkeit von Türsensorstatus und Außenhelligkeit einschalten und danach wieder in den Ausgangszustand zurückversetzen. Außerdem kann man auf diesem Weg Dimmen um x Prozent. Dazu muss man auch erstmal wissen, was gerade 100 Prozent sind.

Die Mühsal der Scripterei kann man sich vereinfachen, in dem man parametrisierbare Shell-Scripte bastelt und diese dann per CUXd über ein virtuelles Gerät ansteuert. So habe ich das für Hue und Sonos gemacht. Dann ist das Ein-/Ausschalten nur noch ein PRESS_SHORT bzw. PRESS_LONG.

Tom

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“