NEWS
Hue adapter
-
cool
d.h. auswerten, ggf. korrigieren und dann in einem Rutsch zur Bridge?
Gesendet von iPhone mit Tapatalk
-
ct_inc verstehe ich nicht. ct kann Werte von 153 bis 500 haben, ct_inc aber bis 65534?
Ich lasse xy_inc und ct_inc erstmal weg, da mir die Wirkungsweise nicht klar ist.
bri_inc wird im Adapter zu bri verarbeitet (da Farbänderungen teilweise bri schon verändern), aber nur wenn bri nicht angegeben wurde.
sat_inc und hue_inc werden an die node-hue-api weitergegeben.
-
ct_inc verstehe ich nicht. ct kann Werte von 153 bis 500 haben, ct_inc aber bis 65534? `
Ja, das ist mir auch aufgefallen. Ich habe es für mich als Fehler in der hue Doku verbucht.
Der alte hue Adapter für die ccu.io hatte die Datenpunkte wohl drin. Zu mindestens kann man davon ausgehen, aus dem Code-Beispiel hier:
-
Ich mache ct_inc mal rein ohne die Werte zu begrenzen, dann müssen wir mal testen was passiert wenn man +100 oder +65000 eingibt.
-
die hue-node-api kann die inc-werte seit 1.1.0, allerdings reagiert die Lampe nicht bisher nicht, wenn ich die entsprechenden Funktionen nutze. bri_inc funktioniert, da dieser Wert ja im Adapter selber verarbeitet wird.
-
ich teste das nachher mal mit der Dev-Webseite der Bridge und gebe eine Rückmeldung
Gesendet von iPhone mit Tapatalk
-
ich teste das nachher mal mit der Dev-Webseite der Bridge und gebe eine Rückmeldung
Gesendet von iPhone mit Tapatalk `
Das wäre super! Der Fehler könnte aber auch in der node-hue-api liegen, die Unterstützung für die inc-Werte ist erst eine Woche alt und evtl. noch unfertig.Wenn der command state ansonsten (inklusive bri_inc) ordentlich funktioniert mache ich damit schonmal einen pull request, damit eine aktuelle Version online kommt. Ich teste gerade einige Dinge durch, du kannst auch gerne schonmal von meinem Github testen.
-
/api/xxxxxxxxx/lights/12/state
Message Body:
{ "bri_inc": -32 }
Ergebnis:
[ { "success": { "/lights/12/state/bri": 190 } } ]
-
alle Kommandos haben funktioniert.
Noch ein Beispiel:
Body:
{ "ct_inc": 400, "transitiontime": 100 }
Ergebnis:
[ { "success": { "/lights/12/state/transitiontime": 100 } }, { "success": { "/lights/12/state/ct": 500 } } ]
-
komisch, über die node-hue-api bekomme ich es nicht hin
-
shit…
an der Version wird es nicht liegen, denke ich. Trotzdem mal zur Info:
"modelid": "BSB001", "swversion": "01024156", "apiversion": "1.8.0",
Klappt das denn bei Dir direkt über die API Webseite?
http://[bridge-ip]/debug/clip.html
-
Ja, das geht. Ich denke es liegt an der node-hue-api. Da muss ich mal weiter probieren und ggf. dort nachfragen.
Funktioniert denn außer den inc Werten alles bei dir?
-
Du meinst mit der Version von Github?
Die wollte ich jetzt installieren. Irgendetwas, auf das ich speziell achten muss?
-
Du meinst mit der Version von Github?
Die wollte ich jetzt installieren. Irgendetwas, auf das ich speziell achten muss? `
Genau, Version 0.4.0. Eigentlich gibt es nichts zu beachten, beim starten der Instanz sollten die neuen command-States hinzugefügt werden. bri_inc sollte funktionieren, die anderen inc Werte nicht. transitiontime geht bei mir! Es gibt natürlich relativ viele Kombinationen von on, bri, hue, ct, xy, rgb usw., ob es bei einigen Sonderfällen zu Problemen mit der aktuellen Implementierung kommt wäre interessant. Ein paar Fehler hatte ich schon gefunden und gefixt.
-
Habe mir die Files rüber kopiert und den Adapter neu gestartet upload/restart.
Kämpfe gerade damit, dass er nun nicht mehr startet:
iobroker 2015-08-03 17:54:20 error host.iobroker instance system.adapter.hue.0 terminated with code 8 (node.js: Cannot find module)
-
Ist jetzt gestartet.
In den Objekten ist nur der Datenpunkt command dazugekommen?
D.h. alle besprochenen Punkte muss ich darüber testen?
1526_uifrhi6f.txt -
Im iobroker Verzeichnis:
npm install https://github.com/pmant/ioBroker.hue/tarball/master iobroker upload hue
Läuft bei mir so durch und der Adapter lässt sich starten.
-
Ist jetzt gestartet.
In den Objekten ist nur der Datenpunkt command dazugekommen?
D.h. alle besprochenen Punkte muss ich darüber testen? `
Du kannst dort so was wie "{"bri_inc":100,"ct":369,"transitiontime":10}" machen. Ich glaube die gröbsten Fehler sind raus, evtl. gibt es ein paar Unstimmigkeiten, wenn "on", "bri" und rgb kombiniert werden, da sich diese gegenseitig verändern… -
-
bric_inc und transitiontime funktionieren.
-
sat, hue, bri, alert, effect in verschiedenen Kombinationen: OK
-
keine Überraschung: ct hat keinerlei Funktion bei einem Lightstripe (vielleicht kann man das abfangen und in hue/sat umwandeln)
-
sat_inc und hue_inc verursachen einen Fehler, s.u. (has no method 'sat_in')
-
r,g,b (keine hue Brige Funktion oder? Wird im Adapter umgerechnet?) funktionieren, wobei ich den Eindruck hatte, dass es einmal erst im zweiten Anlauf funktioniert hat (nicht Vollständig alle Variablen ausgeführt)
Alles in allem sieht es gut aus
Wie ist denn die Funktion im Adapter?
Die Daten werden erst auseinandergenommen, geprüft, wieder zusammengesetzt und dann in einem Rutsch per Put zur Bridge?
host-iobroker 2015-08-03 18:12:30 error instance system.adapter.hue.0 terminated with code 6 (uncaught exception) TypeError: 2015-08-03 18:12:30 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) TypeError: 2015-08-03 18:12:30 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) TypeError: 2015-08-03 18:12:30 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:301:8) TypeError: 2015-08-03 18:12:30 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) TypeError: 2015-08-03 18:12:30 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) TypeError: 2015-08-03 18:12:30 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:220:12) TypeError: 2015-08-03 18:12:30 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:295:6) TypeError: 2015-08-03 18:12:30 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/statesInMemClient.js:151:27) TypeError: 2015-08-03 18:12:30 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2331:60 TypeError: 2015-08-03 18:12:30 error at /opt/iobroker/node_modules/iobroker.hue/hue.js:243:37 TypeError: 2015-08-03 18:12:30 error Object [object Object] has no method 'sat_inc' uncaught 2015-08-03 18:12:30 error exception: Object [object Object] has no method 'sat_inc'
u.a. getestete Einstellungen:
"standard": {"ct":500,"bri":254,"effect":"none","alert":"none"}, // standard /warmweiss (2000k) - Standardfarbe der hue bei Power on "cool": {"ct":153,"bri":254}, // kaltweiss (6500k) "blue": {"hue":47125,"sat":254,"bri":254}, // blue - blau "red": {"hue":65535,"sat":254,"bri":254}, // red -rot "green": {"hue":25500,"sat":254,"bri":254}, // green -grün "on": {"on":true}, // on - schaltet die Gruppe ein "off": {"on":false}, // off - schaltet die Gruppe aus "effectColorloop": {"effect":"colorloop"}, // effectColorloop - effect Collor Loop ein "effectOff": {"effect":"none"}, // effectOff "alertOn": {"alert":"lselect"}, // alertOn - Intervall auf- und abblenden "alertOff": {"alert":"none"}, // alertOff "test2": { "hue": 24000, "sat": 254, "bri": 254, "effect": "none", "alert": "none" }, "test": {"r":0,"g":254,"b":0,"effect":"none","alert":"none"}
> Ich glaube die gröbsten Fehler sind raus, evtl. gibt es ein paar Unstimmigkeiten, wenn "on", "bri" und rgb kombiniert werden, da sich diese gegenseitig verändern…
Was macht denn die Bridge daraus?
Der Adapter versucht die unlogischen Angaben zu eliminieren, bevor sie an die Bridge gehen?
-
-
weitere Tests mit den bestehenden Scripten:
In einem Script erhalte ich nun einen 404er, der vorher nicht da war (Überlast?).
`for (i = 0; i < hueLichter.length; i++) { //setState(hueLichter[i] + ".colormode","ct"); setState(hueLichter[i] + ".hue", 14922); setState(hueLichter[i] + ".sat", 144); setState(hueLichter[i] + ".effect", "none"); setState(hueLichter[i] + ".alert", "none"); if(isTimeInRange('23:00:00', '05:00:00')) { // Nachts mit verringerter Helligkeit setState(hueLichter[i] + ".bri", 100); } else { setState(hueLichter[i] + ".bri", 254); // Tagsüber mit voller Helligkeit }` Erzeugt bei zwei Lampen, die geschaltet werden einen 404er. Dürfte kein Problem sein, da ich die ganzen setState() nun in ein setState() umbauen kann ;-) Dann bekomme ich noch einen: `~~[code]~~hue-0 2015-08-03 18:43:17 error error: Api Error: parameter, xy, is not modifiable. Device is set to off. hue-0 2015-08-03 18:43:17 error error: Api Error: parameter, xy, is not modifiable. Device is set to off.[/code]` Wobei ich in keinem Script mit [x,y] arbeite. Zeitlich passt der Fehler zu dem Fehler oben. Wie gesagt, ich sehe da kein Problem, da ich das Script ja nun umbauen kann. Ist nur ein Hinweis, dass die 404er vorher bei dem Script nie aufgetreten sind.[/i][/i][/i][/i][/i][/i][/i]