Status der Lichter abfragen

HomeMatic-Addon zum Steuern von Philips Hue

Moderator: Co-Administratoren

Antworten
Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Status der Lichter abfragen

Beitrag von Dome_2001 » 30.10.2021, 19:07

Hallo,
ich bin gerade am überlegen wie ich den Status von HUE Lights abfragen kann.

Damit kann ich ja z.B. eine ganze Gruppe an und ausschalten. Das ist ja kein Thema

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801014:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl XXXX group 17 on:false");
Jetzt dachte ich das ich es auch ein Befehl gibt zum Status (Light an oder aus) gibt.

Auf der Git-Hub Site https://github.com/j-a-n/homematic-addon-hue finde ich allerdings kein Beispiel welches ich auf ein Licht oder am besten auf eine Gruppe adaptieren kann.

Mit

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").Value("//usr/local/addons/hue/hue.tcl XXX request GET lights");
kommt nichts. (Überblick Get info about connected lights:) bleibt bei mir leer.

Habt Ihr dafür eine Lösung?

Danke schon mal

Edit: Jetzt blicke ich es gar nicht mehr

Code: Alles auswählen

var Status1 = "1";
var Status2 = "2";
var Status3 = "3";

! dom.GetObject("CUxD.CUX2801014:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx group 17 on:false");
! Status = dom.GetObject("CUxD.CUX2801014:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx group 17 state);

dom.GetObject("CUxD.CUX2801015:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx light 8 on:false");
Status1 = dom.GetObject("CUxD.CUX2801015:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx light 8 state");

dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx light 3 on:false");
Status2 = dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx light 3 state");

Status3 = dom.GetObject("CUxD.CUX2801013:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx light 2 state");

WriteLine("Arbeitszimmer Rechts: " # Status1);
WriteLine("Office Monitor: " # Status2);
WriteLine("Office Kammera: " # Status3);
Bringt das Ergebnis:

Code: Alles auswählen

Arbeitszimmer Rechts: true
Office Monitor: true
Office Kammera: true
Erwartet hätte ich aber:

Code: Alles auswählen

Arbeitszimmer Rechts: false
Office Monitor: false
Office Kammera: true
Bringt dann state nix?

Wenn ich mir im Hue Addon das anschaue sehe ich unter der Lampe

state {"on":false,"alert":"select","mode":"homeautomation","reachable":true}

Ich vermute das er mit das reachable ausgibt. Das würde zumindest die Rückmeldung true bei allen Lichtern erklären.

Wenn ich nun

Code: Alles auswählen

Status2 = dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").State("//usr/local/addons/hue/hue.tcl xxx GET lights/3/state");
Mache kommt auch true. Ich glaube ich muss Ihm noch irgendwie sagen das ich aus state von on den Status haben will. Nur wie :?: :?:
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: Status der Lichter abfragen

Beitrag von Dome_2001 » 31.10.2021, 21:04

Sodelle, heute wieder Zeit investiert und war Erfolgreich

So geht es

Code: Alles auswählen

! Philip Hue API

! LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f 
 
dom.GetObject("CUxD.CUX2801012:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f http://192.168.0.85/api/--- hier API KEY --- /lights/3");
 
dom.GetObject("CUxD.CUX2801012:1.CMD_QUERY_RET").State(1);
var v = dom.GetObject("CUxD.CUX2801012:1.CMD_RETS").State();
 
string findthis = "{\"state\":{\"on\":true";
if ( v.Find(findthis) >= 0 )
{
   dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").State("/bin/tclsh /usr/local/addons/hue/ol_on.tcl");
  Status4 = "An";
}
else
{
  dom.GetObject("CUxD.CUX2801012:1.CMD_EXEC").State("/bin/tclsh /usr/local/addons/hue/ol_off.tcl");
  Status4 = "Aus";
}

WriteLine("Office Monitor2: " # Status4);
Jetzt werde ich den Status in eine Systemvaribale schreiben und kann dann in meinem eigentlich Script die Logik optimieren.
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

trikki
Beiträge: 19
Registriert: 10.07.2016, 20:40
Danksagung erhalten: 2 Mal

Re: Status der Lichter abfragen

Beitrag von trikki » 18.11.2021, 12:30

Hallo Dome_2001,

ich würde auch gerne den Status der Lampen abfragen.
Kannst Du eine Anleitung erstellen.
Cux ist schon auf der CCU3.
Vielen Dank

Antworten

Zurück zu „Hue-Addon“