Die Licht-Bastler unter euch kennen sicherlich die tollen Philips hue LED Leuchtmittel. (s. hier…)
Diese LED Leuchtmittel bieten enorme Möglichkeiten für die stimmungsvolle Beleuchtung eurer Räumlichkeiten. Die verwendete LED-Technologie hat Philips dabei perfektioniert: So sind warmweiss-Töne in allen Helligkeiten (bis zu 600 Lumen pro Leuchtmittel) möglich.
Die Bedienung erfolgt dabei per Smartphone-App. Und genau da liegt das Problem: Wer möchte schon immer das Smartphone rauskramen, die App starten, darin rumnavigieren und dann kompliziert die Lampen schalten ? Die Leuchtmittel sind klasse, aber früher gings doch viel einfacher: Wandschalter AN oder Wandschalter AUS. Was nämlich, wenn das Smartphone gerade ganz woanders ist, womöglich in einer anderen Etage des Hauses ? Mal eben “Licht einschalten” geht dann nicht. Bleibts dann dunkel ?
NEIN! Also ein tolles neues Projekt: Philips hue LED System mit einem Wandschalter ODER der Smartphone-App steuern.
Bei mir ist das Haussteuerungssystem Homematic im Einsatz, welches bisher schon viele andere Steuerungsaufgaben übernimmt. Warum also nicht dann auch die Philips hue damit steuern ? Und das auch noch mit einem vorhandenen Installations-Wandschalter wie aus den Busch-Jäger (oder Gira, oder …) Serien ?
Was brauchen wir ?
- Philips hue natürlich (mind. 1 Lampe und die Hue-Bridge)
- Homematic Zentrale CCU1 oder CCU2
- Einen beliebigen Homematic Sender (Handsender oder Installationsadapter, Fernbedienung oder ähnliches)
- Heimnetz mit Router
- Etwas Bastler-Geschick und Grundkenntnisse in Elektro-Installationen
Los Gehts:
Die Philips Hue wird über ein LAN-Ethernet Kabel mit eurem Hausnetz (Router) verbunden. Die Bridge gibt die Schaltsignale per Funk (Zigbee-Protokoll) an die einzelnen Lampen weiter. Daher die Bridge besser nicht elektromagnetisch abschirmen oder in den hintersten Keller-Winkel verbannen, wenn auch Lampen im Dachbereich geschaltet werden sollen. Bei mir gabs jedoch noch nie Reichweiten-Probleme.
Steuerung über die Homematic-Zentrale
Der Clou beim Hue-System ist, dass die Lampen über standardisierte Protokolle geschaltet werden können. Auch die Smartphone App bedient sich dieser. Konkret muss nur ein JSON-Objekt per HTTP (put) an die Bridge gesendet werden. Das JSON-Objekt enthält dabei die Steuerparameter (Lampen-Nr., Helligkeit, Farbe usw.). Also werden auch die Bedingungen klar: Der Absender des Steuerbefehls (könnte auch ein Browser sein) muss sich also im gleichen Heimnetz befinden wie die Bridge. Der Bridge ist es dabei egal, welchen Ursprung dieser Steuerbefehl hat, sofern sich die Anwendung vorher Registriert hat. Dazu dient der “Anlern-Knopf” der Hue-Bridge.
Hue API-Key erzeugen
Dieses Anlernen erfolgt, indem man einen “Usernamen” bei der Bridge registriert. Über einen Key in Form eines MD5-Hash kann man danach auf die Bridge über HTTP (put) zugreifen. Dieser Prozess ist ganz passend in folgendem Blog-Eintrag beschrieben: Hack the Hue – Ross McKillop
Hue API-Key testen:
Habt ihr einen solchen Key angelegt besser kurz testen:
Gebt die folgende Adresse in euren Browser (im Hausnetz) ein:
http://[IP-Adresse-Bridge]/api/[EUER-API-KEY]/lights/1/
Damit wird der Status der Lampe 1 (“lights/1/”) ausgelesen. Die Bridge sendet bei Erfolg etwa sowas zurück:
{"state": {"on":false,"bri":108,"hue":13117,"sat":210,"xy":[0.5113,0.4145],"ct":463,"alert":"none","effect":"none","colormode":"hs","reachable":true}, "type": "Extended color light", "name": "Fernseher", "modelid": "LCT001", "swversion": "65003148", "pointsymbol": { "1":"none", "2":"none", "3":"none", "4":"none", "5":"none", "6":"none", "7":"none", "8":"none" }}
Das sind die einzelnen Konfigurationsdetails der Lampe 1. Sollte der API-Key nicht korrekt registriert sein (die Sache mit dem Bridge-Knopf drücken), erscheint sowas hier:
[{"error":{"type":1,"address":"/lights","description":"unauthorized user"}}]
In diesem Fall den API-Key nochmals sauber registrieren.
Danach geht es mit der Homematic weiter:
Homematic CCU vorbereiten
Als Zentrale für die Steuer-Aufgaben dient die Homematic CCU1 oder CCU2. Diese zentrale ist je eh immer aktiv und eignet sich somit perfekt. Also müssen wir dieser nur noch beibringen, einen HTTP-PUT an die Bridge zu senden, und zwar genau dann, wenn der Schalter gedrückt wird. Die CCU ist dabei ein Linux-System, welches sich einfach mit Root-Rechten versehen lässt. Damit kommen wir in die komfortable Lage die für den HTTP-PUT Aufruf erforderlichen Tools nachzuinstallieren: CURL
CURL ist ein Linux Programm, welches die nötigen JSON Objekte per PUT (oder GET) an das HTTP-Ziel der Bridge versenden kann. Um CURL auf der CCU zu installieren sind einige Linux-Kniffe nötig, die nachfolgend aber sehr einfach und Schritt für Schritt erläutert sind: Homematic-Forum: CURL
CuxD statt system.Exec
Die Homematic-Zentrale kann jetzt theoretisch per Script und Aufruf von system.Exec(“curl…”) einen solchen Aufruf starten. Allerdings ist der system.Exec Befehl inoffiziell und fehlerhaft: Die CCU (zumindest CCU1) stürzte bei mir in ca. 1 von 20 Fällen beim Aufruf ab, wodurch ein Neustart nötig wurde. Also ist von system.Exec() abzuraten. Es gibt aber eine Lösung: Ein Homematic Plugin Namens CuxD.
Dieses Plugin enthält einen sicheren und stabilen EXEC-Ersatz, welcher störungsfrei und dauerhaft zuverlässig arbeitet. Also noch schnell das obenstehende CuxD wie beschrieben installieren.
Homematic Scripte
Nach CURL und CuxD gehts jetzt an die Scripte. Ist alles korrekt installiert, sollte das folgende Homematic-Script eine Lampe einschalten: (Grundkenntnisse zu Homematic-Scripten werden hier vorausgesetzt)
string jdata=" {\"on\":true,\"bri\":108,\"hue\":13122,\"sat\":211,\"xy\":[0.5119,0.4147],\"ct\":467,\"alert\":\"none\",\"effect\":\"none\",\"colormode\":\"ct\",\"reachable\":true}"; string curlcommand="curl --request PUT --data '"+jdata#"' http://192.168.178.38/api/[euer API-Key]/lights/1/state/ "; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(curlcommand);
ACHTUNG: Die IP-Adresse, die CUxD-Adresse und der oben erzeugte API-Key müssen noch durch eure Konfigurationsdetails ersetzt werden !
Die CuxD-Adresse könnt ihr nach der Installation abfragen: es wird ein neues “virtuelles Gerät” angelegt, dessen Name ungefähr so lautet: HM-Sen-EP CUX2801001:1 – Die letzte Zeichenfolge ist die CuxD-Adresse, hier: “CUX2801001:1“.
Das Ausschalten einer Lampe funktioniert so:
string jdata=”{\”on\”:false}”;
(Der Rest dann wie oben)
HUE-Parameter
Die oben beschriebenen Scripte enthalten die JSON-Parameter zum Einstellen der Licht-Parameter. Eine Dokumentation ist von Philips veröffentlicht worden: Philips Hue Developer API. Hier könnt ihr die genauen Bedeutungen nachlesen.
Homematic-Programme
Jetzt nur noch ein neues “Programm” in der CCU anlegen mit dem obenstehenden Code und dieses dann dem Schalter zuordnen.
Das obenstehende Beispiel würde nun, wenn der verknüpfte Schalter betätigt wird, per CuxD den CURL-Befehl absetzen, welcher die Parameter zur Hue senden und die Lampe 1 mit den Eigenschaften der ersten Zeile (Helligkeit, Sättigung, Farbton usw.) einschaltet.
Etwas kompliziert, funktioniert aber prima !!
Kami
28 Kommentare
Zum Kommentar-Formular springen
Danke für die prima Anleitung. Abgesehen davon, dass sich CURL anscheinend nur auf der CCU1 installieren lässt frage ich mich, wie ich an
CUxD-Adresse und API-Key
komme.
Autor
Die CUXD-Adresse kannst Du in der Homematic Weboberfläche abfragen:
Unter “STATUS UND BEDIENUNG” und dann “GERÄTE” werden alle Geräte angezeigt.
Nach der Installation von CuxD findest Du ein neues “virtuelles Gerät”. Dieses heisst bei mir z.B. so:
HM-Sen-EP CUX2801001:1
Der letzte Teil ist die CUXD-Adresse.
Grüße,
Kami
Hallo kami wie kann / muss ich denn diese virtuelle Gerät erstellen ?
Danke, klapot gut.
Kann man eigentlich die Zeitdauer zwischen Tastendruck bzw. Programmstart und dem Einschalten des Lichts verkürzen? Dies dauert bei mir zwischen 1 und,5 Sekunden (vermutlich in Abhängigkeit der CCU). Das Schalten via HUE-App geht quasi verzögerungsfrei.
Autor
Ja, die Verzögerung ist deutlich spürbar. Ich vermute es liegt an der relativ schwachen Prozessorleistung der CCU1. Zum Schalten ist ja auch eine etwas aufwändige Prozedur mit Umleitung über die CURL Verarbeitung nötig. Ich habe es bisher nocht nicht geschafft, die Verzögerung abzustellen. Bei mir sind es ca. 1-2 Sekunden (bei 4 Lampen) über eine CCU1. Interessant wären Erfahrungen mit einer CCU2, welche ja wesentlich mehr CPU-Power mitbringt. Hat hier schon jemand Erfahrungen ?
Hallo,
Danke für die ausführliche Beschreibung, aber ich bekomme es leider nicht hin. Gibt es eine Möglichkeit irgendwo zu sehen, woran es hängt? Im log vom CuX- D sehe ich nur:
May 18 16:00:54 homematic-ccu2 daemon.info cuxd[1530]: system(curl –request PUT –data ‘ {“on”:true,”bri”:108,”hue”:13122,”sat”:211,”xy”:[0.5119,0.4147],”ct”:467,”alert”:”none”,”effect”:”none”,”colormode”:”ct”,”reachable”:true}’ http://10.0.1.56/api/newdeveloper/lights/1/state
Ich möchte am Ende 4 Living Colors steuern.
Über jede Hilfe wäre ich dankbar. Gruß
Autor
Hallo Jens,
versuche mal, ob Du den Status der Hue mit deinem Browser auslesen kannst:
Gib mal die folgende URL in deinen Browser ein:
http://10.0.1.56/api/newdeveloper/lights/1/
Wobei 10.0.1.56 die IP-Adresse der Bridge in deinem Heimnetz sein sollte und
“newdeveloper” Dein API-Key, welcher vorher an der Bridge angelernt wurde.
Mit diesem Aufruf kannst Du den Status der Hue “1” abfragen.
Es sollte in etwa so etwas angezeigt werden:
{“state”: {“on”:false,”bri”:108,”hue”:13117,”sat”:210,”xy”:[0.5113,0.4145],”ct”:463,”alert”:”none”,”effect”:”none”,”colormode”:”hs”,”reachable”:true}, “type”: “Extended color light”, “name”: “Fernseher”, “modelid”: “LCT001”, “swversion”: “65003148”, “pointsymbol”: { “1”:”none”, “2”:”none”, “3”:”none”, “4”:”none”, “5”:”none”, “6”:”none”, “7”:”none”, “8”:”none” }}
Das sind die aktuellen Parameter der Hue 1, welche damit ausgelesen wurden.
Sollte da etwas anderes stehen, z.B. sowas:
[{“error”:{“type”:1,”address”:”/lights”,”description”:”unauthorized user”}}]
dann hat die Registrierung des API-Keys nicht funktioniert.
Vielleicht kannst Du den Status deiner Hue mal hier posten ?
Grüße
Kami
Hi Kami,
vielen Dank für die schnelle Antwort. Ich habe das jetzt mal gemacht. Hier der Output:
{“state”: {“on”:true,”bri”:254,”hue”:54000,”sat”:234,”xy”:[0.3537,0.1744],”alert”:”none”,”effect”:”none”,”colormode”:”xy”,”reachable”:true}, “type”: “Color light”, “name”: “Color light 4”, “modelid”: “LLC001”, “swversion”: “2.0.0.5206”, “pointsymbol”: { “1”:”none”, “2”:”none”, “3”:”none”, “4”:”none”, “5”:”none”, “6”:”none”, “7”:”none”, “8”:”none” }}
Scheint also zu funktionieren. Ich habe übrigens eine CCU2. Und wie gehts jetzt weiter?
Autor
Hallo Jens,
das sieht erstmal gut aus.
Dann folgendes prüfen: ist CURL richtig installiert ?
Ist die richtige CUXD-Adresse angesprochen ?
In folgendem Script ist die Adresse “CUxD.CUX2801001:1”, dies muss aber nicht mit deiner Installation übereinstimmen. In der CCU sollte unter “Geräten” ein Eintrag der CUXD zu finden sein, hier kannst Du die Adresse ablesen.
Hi Kami,
jetzt gehts!!! Genial. Es lag am Curl Aufruf. Bei der CCU2 mit installierten CuxD läuft es folgendermaßen:
string jdata=” {\”on\”:true,\”bri\”:108,\”hue\”:13122,\”sat\”:211,\”xy\”:[0.5119,0.4147],\”ct\”:467,\”alert\”:\”none\”,\”effect\”:\”none\”,\”colormode\”:\”ct\”,\”reachable\”:true}”;
string curlcommand=”LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl –request PUT –data ‘”+jdata#”‘ http://10.0.1.56/api/newdeveloper/lights/3/state/ “;
dom.GetObject(“CUxD.CUX2801001:1.CMD_EXEC”).State(curlcommand);
Vielen Dank noch einmal.
Gruß,
Jens
Danke für den Hinweis mit der CCU2 – funktioniert prima!
Hallo zusammen
Ich habe gespannt die Infos und Kommentare durchgelesen, scheine aber irgendwo einen Fehler zu haben.
Bei mir läuft eine CCU2, der aktuelle CuXD 0.67 und Curl 1:1 installiert gemäs dieser Anleitung (http://homematic-forum.de/forum/viewtopic.php?f=19&t=5414&start=8#p35326)
Den User an der Bridge habe ich 1:1 aus der Philips Anleitung erstellt (http://www.developers.meethue.com/documentation/getting-started)
Ich habe in CUxD das virtuelle Gerät erstellt und in der CCU2 angelernt.
Die CUxD Adresse ist identisch, die API und IP Adresse habe ich geändert.
Weder der Code von Jens, noch von kami funktioniert bei mir.
Weiss jemand woran es liegen könnte?
Autor
Hast Du mal geprüft, ob der Anlernprozess an der Hue-Bridge mit deinem API-Key erfolgreich war ?
Bei der folgenden Anfrage (im Browser) sollten keine Hinweise auf “Error” oder Ähnliches zurückgegeben werden, sondern nur der Status der ersten Lampe:
http://[IP-Adresse-Bridge]/api/[EUER-API-KEY]/lights/1/
(Werte in Klammern durch eigene ersetzen)
Hallo Kami
Ich habe mir die Philips Anleitung durchgelesen und 1:1 umgesetzt, heisst.
http://192.168.177.130/api/newdeveloper/lights/1
Wenn ich die Adresse im Brower eingebe erhalte ich erfolgreich die aktuellen Werte der angesprochenen Lampe zurück, das sollte somit funktionieren.
Ich habe curl vorab gemäss der Anleitung installiert wie ich sie gepostet hatte, erst anschliessend habe ich cuxd installiert und dabei gelesen, dass cuxd ebenfalls curl mitbringt.
Kann das ggf. dazu führen dass es nicht funktioniert?
Wobei im Script auf die curl installation in cuxd verwiesen wird.
Oder liegt es gar am Schalter mit dem ich den Befehl absetzen möchte?
http://www.elv.de/homematic-funk-wandsender-2fach.html
Autor
CURL ist erst in einer der letzten Versionen in die CuxD-Installation hinzugefügt worden.
Die Anleitung bezog sich auf frühere Versionen (ohne CURL), daher das Ganze noch separat.
Prinzipiell sollte es egal sein, über welchen Weg CURL bereitgestellt wird.
Im Falle der Installation über CuxD bin ich mir aber nicht sicher, über welche Pfade CURL dann angesprochen wird.
Evtl. sind auch die Berechtigungen nicht vollständig für den Zugriff aus Scripten heraus gesetzt. (Execute)
Ich würde zunächst die korrekte Funktion von CURL von der Konsole aus testen. (Testaufruf einer URL)
Dann das Ganze aus einem Script mit Testseite, und dann als letzten Schritt das Gesamtpaket.
Am Schalter sollte es nicht liegen, Du kannst das Programm in dem das Script ausgeführt wird ja auch manuell über die CCU starten.
Hallo kami
Ich bin leider etwas unbedarft und kenne mich faktisch noch nicht aus.
Kannst du es evtl. ein wenig genauer beschreiben?
Welche Konsole meinst du bzw. wie gelange ich dort hin?
Wie bzw. wo kann ich eine Testurl aufrufen?
Wie könnte ich herausfinden ob die Berechtigungen funktionieren?
Sind alles absolute Anfängerfragen ich weiss, ich finde nur kein Wiki welches diese Fragen beantwortet.
Hallo Kami,
deine Anleitung ist sehr ausführlich und müsste zum Erfolg führen; bei mir leider nicht.
Was will ich erreichen?
Ein Script, dass angesteuert wird, wenn die Rollladen sich schließen.
Damit sollen dann mehrere HUEs eingeschaltet werden (also ohne Taster, Schalter, etc.).
Was habe ich gemacht?
Bridge
Auf der Bridge habe ich einen User (API) angelegt und kann darüber den Status der Lampen lesen und verändern.
CUxD
.. auf die Version 0.9 aktualisiert und darüber mit Gerätetyp (28) System, Funktion Exec mehrere Gerät angelegt. Dabei wird das verwendete Geräte-Icon keinen Einfluss auf die Funktionalität haben?! Vielleicht der Controller? Sowohl mit Taster als auch mit Schalter habe ich Geräte angelegt.
CCU2
Im Posteingang der CCU2 standen beide Geräte zur Verfügung und sie wurden eingebunden.
Müssen dabei Kanal- oder Geräteparameter gesetzt werden?
Bei der Systemsteuerung ist SSH aktiv (mit PW geschützt).
CCU2-Programmierung
Dann habe ich den in deinem Artikel unter “Homematic Scripte” stehenden Code in “Scripte testen” kopiert, meine Werte (IP-Adresse, CUxD-Adresse, API-Key) angepasst und ausgeführt.
Zur Sicherheit läuft die Standardzeile “WriteLine(“Hallo Welt!”)” als letzte Zeile und wird auch ausgegeben.
An meiner Beleuchtung hat sich nichts geändert :-((
Der CUxD-Log sieht so aus:
Feb 9 08:52:50 ccu2 daemon.info cuxd[6565]: system(curl –request PUT –data ‘ {“on”: true,”bri”: 200,”hue”: 54282 }’ http://**IP**/api/**eigene API**/lights/2/state/) exit(127) 0s
Auch Varianten mit den anderen hinzugefügten Geräten und der Neustart der CCU2 haben es nicht hell werden lassen (oder die eingeschalteten Lichter verändert).
Auch die Variante von Jens (23.05.14) habe ich ausprobiert.
Hast du die erhellende Idee?!
Vielen Dank im Voraus
Ralph
Hallo Kami,
meine Anfrage hat sich erledigt.
Alles funktioniert wie beschrieben, WENN ich die Hochkommas des Strings “jdata” in Hochkommas meines Zeichensatzes ändere.
Kleine Ursache, große Suche und Unsicherheit.
Bitte für andere Interessierte veröffentlichen!
VG Ralph
Hi Kami
Eine Frage zu den Parametern. Ich suche wie wild ein Umrechner oder Picker für den Integerwert der Farbe zum Übergeben an die hue. 0-65535. Ich finde nichts.
Kannst du mir auf die Sprünge helfen ?
VG
PashScott
Autor
Wenn es nur darum geht eine Lieblingsfarbe einzustellen, hier ein recht einfacher Trick:
1. gewünschte Farbe mit der hue App einstellen.
2. anschließend die Farb-Parameter über die Bridge auslesen.
Diese Parameter kann man dann für die Scripte verwenden.
Hallo Zusammen,
ich verzweifele gerade ein wenig. Die gesendeten Befehle steuern leider die Lampen nicht.
Die unter “INFO” unter CUx angezeigten und vom virtuellen Gerät erzeugten CURL Aufrufe sind korrekt. Ich habe den CURL Befehl dort kopiert und auf der Konsole getestet. Die HUE Lampen lassen sich so steuern.
Ich drücke den virtuellen Taster und die Konsole zeigt folgendes an:
Nov 1 13:16:50 homematic-ccu2 daemon.debug cuxd[525]: CUX2801002:1 curl –request PUT –data ‘{“on”:false}’ http://192.168.2.8/api/3bcab518c685d2769bfe7e6c512766/lights/20/state/
Nov 1 13:16:50 homematic-ccu2 daemon.info cuxd[525]: system(curl –request PUT –data ‘{“on”:false}’ http://192.168.2.8/api/3bcab518c685d2769bfe7e6c512766/lights/20/state/) exit(127) 0s
Folgendes Skript verwende ich:
string jdata=”{\”on\”:false}”;
string curlcommand=”curl –request PUT –data ‘”+jdata#”‘ http://192.168.2.8/api/3bcab518c685d2769bfe7e6c512766/lights/20/state/ “;
dom.GetObject(“CUxD.CUX2801002:1.CMD_EXEC”).State(curl command);
Die CUX Adresse wird so in der WEB Oberfläche angezeigt. Scheint aber richtig zu sein, denn wenn ich die Adresse ändere, dann wird auch im CUX INFO Fenster keine Übertragung angezeigt.
Ich vermute den Fehler in der Konfiguration des virtuellen Geräts. Wer kann mir helfen ?
Ich versteh hier nur Hauptbahnhof und hoffe, das mir jemand den richtigen Weg zeigt.
Wenn ich im Browser eingebe:
http://192.168.178.xx/api
bekomme ich immer nur:
[{“error”:{“type”:4,”address”:”/”,”description”:”method, GET, not available for resource, /”}}]
Wie macht man diesen Post:
Make an HTTP POST request of the following to http://YourHueHub/api
{“username”: “YourHash”, “devicetype”: “YourAppName”}
Gibt es so was eigentlich auch in einfach?
Hallo,
kann mir jemand sagen mit welchem Befehl ich diese Lichtszene hinbekomme?
“6”: {
“state”: {
“on”: true,
“bri”: 254,
“ct”: 156,
“alert”: “none”,
“colormode”: “ct”,
“reachable”: true
},
“type”: “Color temperature light”,
“name”: “Bad”,
“modelid”: “Surface Light TW”,
“manufacturername”: “OSRAM”,
“uniqueid”: “7c:b0:3e:aa:00:14:f2:bd-03”,
“swversion”: “1131861”
}
}
Vielen Dank in voraus.
Hallo,
super Anleitung. Kann man auch Szenen aufrufen?
LG
Jürgen
Hallo, gibt es einen Grund, warum du das “#” statt des “+” verwendest:
string curlcommand=”curl –request PUT –data ‘”+jdata#”‘ …. ”
statt:
string curlcommand=”curl –request PUT –data ‘”+jdata + ” …”‘
Grüße Henning
Hallo,
ich komme jetzt wirklich nicht mehr weiter. Ich versuche das seit 5 Monaten im Wochentakt immer wieder mit Keinem erfolg.
Die API Stimmt, kann ich im Browser auslesen, kommt das hier bei Raus.
{“state”:{“on”:true,”bri”:5,”hue”:41291,”sat”:229,”effect”:”none”,”xy”:[0.1796,0.2390],”ct”:153,”alert”:”none”,”colormode”:”xy”,”reachable”:true},”type”:”Extended color light”,”name”:”Hue Go”,”modelid”:”LLC020″,”manufacturername”:”Philips”,”uniqueid”:”xxxxxxxxxxxxxxxxxxxxxxxx”,”swversion”:”5.38.1.14378″}
Als Skript nutze ich dieses:
string jdata=” {\”on\”:False,\”bri\”:200,\”hue\”:41287,\”sat\”:229,\”xy\”:[0.1799,0.2393],\”ct\”:488,\”alert\”:\”none\”,\”effect\”:\”none\”,\”colormode\”:\”xy\”,\”reachable\”:true}”;
string curlcommand=”curl –request PUT –data ‘”+jdata#”‘ http://xxx.xxx.xxx.xxx/api/xxxxxxxxxx hier steht die API xxxxxxxxx/lights/4 “;
dom.GetObject(“CUxD.CUX2801001:1.CMD_EXEC”).State(curlcommand);
im CUx Deamon kommt das als Zeile an:
Sep 10 23:24:02 homematic-ccu2 daemon.info cuxd[8296]: system(curl –request PUT –data ‘ {“on”:False,”bri”:200,”hue”:41287,”sat”:229,”xy”:[0.1799,0.2393],”ct”:488,”alert”:”none”,”effect”:”none”,”colormode”:”xy”,”reachable”:true}’ http://xxx.xxx.xxx.xxx/api/xxxxxxxx nur die halbe API wird angezeigt dann is die Zeile zu ende xxxxxxx
ich habe alle Hochkommas getausch und den Text neu eingegeben von Hand – > keine wirklung
auf der CCU läuft 2.21.10 und CUxDeamon hat version 1.5.1
Ich weiss wirklich nicht mehr weiter, vielleicht sieht ja einer von euch den Fehler.
Viele grüße aus Köln
Patrick
Hatte auch den Fehler von Ralph mit exit(127). Pfad und curl stimmten, der Fehler waren bei mir nicht die Hochkommata sondern das Doppel-Minus vor request. Beim Kopieren wurde daraus ein einzelnes. Zeichen weggelöscht, 2x minus hinzugefügt und schon gehts. Danke für die gute Anleitung!
Hallo,
ich habe ein Hue-Addon für Homematic erstellt.
Wer Lust hat das auszuprobieren, findet es auf GitHub.
Die Einrichtung ist sehr einfach: Addon runterladen, installieren und Konfigurations-Seite aufrufen.
Es können auch mehrere Bridges verwendet werden.
Grüße
Jan