Philips Hue-Status auslesen

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Nine
Beiträge: 9
Registriert: 18.02.2014, 20:40

Philips Hue-Status auslesen

Beitrag von Nine » 03.04.2014, 22:14

Hallo zusammen

Die Philips Hue-Lampen mittels HM zu schalten funktioniert bei mir recht gut. Leider erhält HM mit dem aktuell im Umlauf befindlichen hue-scripten keine Rückmeldung über den Zustand der Lampen (weshalb man nicht kontrollieren kann, ob alle Lampen den Einschalt-Befehl erhalten und ausgeführt haben).

Da man alle Lampen via URL abfragen kann (z.B. http://192.168.1.20/api/newdeveloper/lights/7) und als Rückmeldung ein JSON mit diversen Infos erhält:

Code: Alles auswählen

{
  "state": {
    "on": false,
    "bri": 1,
    "hue": 14884,
    "sat": 235,
    "xy": [0.5099, 0.4315],
    "ct": 463,
    "alert": "none",
    "effect": "none",
    "colormode": "xy",
    "reachable": true
  },
  "type": "Extended color light",
  "name": "Hue Lamp 5",
  "modelid": "LCT001",
  "swversion": "66009663",
  "pointsymbol": {
    "1": "none",
    "2": "none",
    "3": "none",
    "4": "none",
    "5": "none",
    "6": "none",
    "7": "none",
    "8": "none"
  }
}
wären alle Infos, die ich benötige eigentlich vorhanden.

Wie kann ich auf diese Infos aus einem HM-Script (oder alternativ aus einem TCL) zugreifen? :roll:

Mittels dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null 'URL'"); kriege ich ja leider keine Rückmeldung...

Gruss, Nine

Benutzeravatar
Christian61
Beiträge: 3
Registriert: 16.04.2014, 21:33

Re: Philips Hue-Status auslesen

Beitrag von Christian61 » 16.04.2014, 21:48

Hallo,
vielleicht hilft es, bei mir geht's mit dem Script... ( ist nicht von mir )
mit CUXD und curl
Objektname und IP Adresse anpassen...
die Systemvariable Hue1 muss angelegt sein... oder alternativ im Script weglassen und an dieser Stelle eigenen Code einfügen

Code: Alles auswählen

! Philip Hue API
! 
! LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f http://192.123.4.567/api/newdeveloper/lights/1

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f http://192.123.4.567/api/newdeveloper/lights/1");

dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var v = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

string findthis = "{\"state\": {\"on\":true";
if ( v.Find(findthis) >= 0 )
{
   dom.GetObject("Hue1").State(true);
}
else
{
  dom.GetObject("Hue1").State(false);
}


Nine
Beiträge: 9
Registriert: 18.02.2014, 20:40

Re: Philips Hue-Status auslesen

Beitrag von Nine » 17.04.2014, 06:58

Ahh super, funktionier prima!

Danke :!:

Juljo
Beiträge: 7
Registriert: 06.08.2014, 01:15

Re: Philips Hue-Status auslesen

Beitrag von Juljo » 26.08.2014, 23:35

Jemand ein Tipp wie ich das auf der CCU1 einbinde?

Code funktioniert so nicht...

Danke
Juljo

andybau
Beiträge: 79
Registriert: 18.11.2014, 18:29

Re: Philips Hue-Status auslesen

Beitrag von andybau » 21.12.2014, 09:28

Hallo.... würde ein wenig Hilfe benötigen dieses Script einzubinden.
Meine Hue's kann ich bereits mit Homematic steuern.... dass habe ich mit den hier im Forum erhältlichen Scripten / Anleitungen hinbekommen.

Nun würde ich sehr gerne auch den Status abfragen können und angezeigt bekommen.

Könnte ich kleine Step by Step Anleitung/Beschreibung bekommen?

andybau
Beiträge: 79
Registriert: 18.11.2014, 18:29

Re: Philips Hue-Status auslesen

Beitrag von andybau » 01.01.2015, 13:52

Frohes neues Jahr wünsche ich

ich habs noch nicht geschafft es ans Laufen zu bringen.
Alles wie beschrieben ausgeführt, aber der Status der Systemvariable Hue1 ändert sich nicht

Juljo
Beiträge: 7
Registriert: 06.08.2014, 01:15

Re: Philips Hue-Status auslesen

Beitrag von Juljo » 25.03.2015, 19:13

Geht das Skript nur mit der CCU2?

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

Re: Philips Hue-Status auslesen

Beitrag von helmi74 » 03.09.2015, 14:19

In welchem Zeitintervall rufst du das Script denn auf? Oder wie startest du es??

leerzeichen
Beiträge: 138
Registriert: 25.10.2014, 19:03
Hat sich bedankt: 4 Mal

Re: Philips Hue-Status auslesen

Beitrag von leerzeichen » 20.02.2016, 18:25

Weiss jemand wie man die vorhandenen Informationen
"bri": 1,
"hue": 14884,
"sat": 235,
suchen und dann z.B. in einer resp. jeweils einer Systemvariable speichern kann?

Ich schalte meine HUEs nach 20 Minuten aus, wenn der Bewegungsmelder keine Bewegungen mehr erkennt, möchte allerdings verhinden, dass sie ausgeschalten werden, wenn eine bestimmte Farbe eingestellt ist.

Wäre super wenn jemand eine Lösung für die Frage hätte :)

@helmi74
Ich aktualisiere den Status EIN/AUS alle 3 Minuten und habe bis anhin noch keine Probleme damit gehabt.
Welches Intervall verwendest du?

RicoA
Beiträge: 23
Registriert: 17.01.2016, 19:14

Re: Philips Hue-Status auslesen

Beitrag von RicoA » 12.10.2016, 15:06

Hallo Gemeinde,

ich möchte diesen Thread gerne noch einmal aufgreifen:

Bei mir ist obiges Skript in Benutzung. Die Abfrage des Status klappt aber nicht.
Das angesprochene Licht wird eingeschaltet, wenn in der if-Abfrage ein ">=" steht. Es kann aber nur abgeschaltet werden, wenn dort "<=" steht. Die Ansprache der Lampe funktioniert also. Aber die Abfrage meldet nicht den aktuellen Status zurück.

Hier mein Code:

Code: Alles auswählen

! Philip Hue API
!
! LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f http://192.168.178.33/api/zmJsjdFwBzV1UHTB0HdxPpqGBeDeg254dMdjekLU/lights/2
 
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -f http://192.168.178.33/api/zmJsjdFwBzV1UHTB0HdxPpqGBeDeg254dMdjekLU/lights/2");
 
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var v = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
 
string findthis = "{\"state\": {\"on\":true";
if ( v.Find(findthis) >= 0 )
{
   dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/tclsh /usr/local/addons/hue/ol_off.tcl");
}
else
{
  dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/tclsh /usr/local/addons/hue/ol_on.tcl");
}
Hat einer von Euch eine Idee, was ich falsch mache?

Bis bald,
Rico

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“