NEWS
HUE Lampen über "command" steuern
-
Hallo,
also ich nutze eine HUE Bridge Version 2 in Verbindung mit dem HUE Adapter Version 3.16.2. Bei der Lampe handelt es sich um einen Hue Color Spot.
Ich habe nun versucht, den Level der Lampe mit "50" zu beschreiben. Da kommt eine Warnmeldung, mit der ich nichts anfangen kann. Und der Level bleibt bei 100, obwohl ich ihn mit dem command Befehl vorher auf 30 gesetzt habe.
-
@marc-berg said in HUE Lampen über "command" steuern:
{ "bri": 50, "transitiontime": 30 }
Ich gabe folgendes im Command ein:
{"b":79,"bri":79,"ct":2732,"g":140,"hue":50,"r":173,"sat":73,"xy":[0.3911,0.5438],"colormode":"ct","transitiontime":30}
Als Ergebnis bekomme ich das:
Komplett anderes, als über Command vorgegeben. Das einzige, was stimmt, ist die Farbtemperatur und der Wert "hue".
-
@mariotti sagte in HUE Lampen über "command" steuern:
@marc-berg said in HUE Lampen über "command" steuern:
{ "bri": 50, "transitiontime": 30 }
Ich gabe folgendes im Command ein:
{"b":79,"bri":79,"ct":2732,"g":140,"hue":50,"r":173,"sat":73,"xy":[0.3911,0.5438],"colormode":"ct","transitiontime":30}
Als Ergebnis bekomme ich das:
Komplett anderes, als über Command vorgegeben. Das einzige, was stimmt, ist die Farbtemperatur und der Wert "hue".
Dir ist schon klar das du. mit
Hue 50
,sat 73
bri 79
undxy 0.3911, 0.5438
Werte vorgibst die im Konflikt zueinander stehen können ?Beides gibt die Farbe vor. Ob die Werte zueinander passen kann ich so erst einmal nicht sagen, dazu fehlen Informationen.
A.
-
Naja, das sind die Werte, die mir im ioBroker angezeigt werden. Mit diesen Werten leuchtet quasi die Lampe.
Aber wie, wenn nicht so, kann ich denn dann Farbwerte vorgeben?
-
@mariotti warum genau möchtest du denn all diese Werte ansteuern? Teilweise spiegeln die doch die gleichen Infos wieder, oder nicht?
Beispielsweise der Datenpunkt "hue" enthält doch schon alle Infos über die Farbe? Warum willst du dann die Datenpunkte "b", "g" und "r" gleichzeitig setzen? Das ist doch doppelt gemoppeltIch denke Asgothian hat da schon recht. Irgendwo werden Werte in Konflikt stehen.
Was genau macht Transitiontime? Ein Zeitfenster übergeben? Ich würde mal weniger Punkte in den Command schreiben und dann testweise erweitern. -
Zum einen möchte ich es verstehen. Und zum Andern halt die Lampe mit einer gewünschten Farbe ansteuern.
Selbst wenn ich nur Farben vorgebe, ist das Ergebnis immer anders (bis auf die Temperatur) (erste Spalte=Datenpunkt, zweite Spalte=Vorgabe, dritte Spalte=abgelesener Wert):
b 30 65
ct 2732 2732
g 70 128
r 150 254Der Hue Wert steht bei 21° und ändert sich überhaupt nicht.
-
Darüber hinaus übergibst du in deinem Blockly den Level 50 als Text. Das sollte eine Zahl sein.
-
@mariotti sagte in HUE Lampen über "command" steuern:
Zum einen möchte ich es verstehen. Und zum Andern halt die Lampe mit einer gewünschten Farbe ansteuern.
[snip...]Und schon wieder gibst du Werte die nicht unbedingt zusammen passen (müssen)
Du kannst Farbe bei den Leuchten auf 4 verschiedene Arten angeben:
- HSV (
Hue
,Saturation
,Value
) - wobei statt Value zumeistBrightness
genommen wird. - RGB (
Red
,Green
,Blue
) - Farbtemperatur (
Colortemp
,Brightness
) - CIExyz (
x
,y
) - der Z Wert ist nicht notwendig, da bei CIExyz die Summe der 3 Werte 1 sein muss,z
ist also 1-(x
+y
)
Die Umrechnung zwischen diesen Modellen ist fest vorgegeben - sofern man das eigentliche Leuchtmittel nie direkt damit ansteuert.
Das eigentliche Leuchtmittel ist immer entweder RGB oder RGBW, sprich nutzt rote, grüne und blaue LED's (und ggf. zusätzlich weisse) Allerdings ist es nicht korrekt, anzunehmen das die rote LED bei voller Leistung wirklich RGB
255,0,0
liefert. Das ist eher selten. Dito bei den grünen und blauen LED. Bei den Weissen LED's ist das noch extremer - sie alle haben eine 'Farbtemperatur', sprich bei voller Leistung liefern sie irgendwas zwischen255, 211, 168
und197, 211, 255
(Deswegen liest man auch oft RGBWW (für warmweiss)Um es noch komplexer zu machen stellt sich die Frage in welchen Abstufungen die LED wirklich angesteuert werden kann. numerisch ansteuern kann man eigentlich immer 256 Stufen. Ob diese auch wirklich als 256 Stromwerte an den LED ankommen hängt davon ab wieviel Strom die LED wirklich brauchen, und wie fein der DAC Wandler steuern kann. Da sind oft nur 100-150 Stufen wirklich zu unterscheiden (abhängig von der LED, und so weiter)
Die Frage in welcher Farbe eine Lampe also wirklich leuchtet ist hinreichend komplex bei der Ansteuerung. Bei Lampen gleicher Hardware kann man annehmen das die gleichen Vorgabewerte zum gleichen Farbeindruck im Auge führen. Lampen mit gleicher Hardware hat man aber ausschliesslich wenn man Lampen aus einer Herstell-Charge bekommt. Schon bei Lampen unterschiedlichen Alters und unterschiedlicher Nutzungsdauer kann es vorkommen das man den Unterschied in der Farbe sehen kann.
Kommen wir zum sehen - sieht der Mensch wirklich den Unterschied zwischen RGB
20, 200, 100
und10,210, 100
? Wenn die Lampen direkt nebeneinander liegen vielleicht. Sind sie an 2 unterschiedlichen Enden eines Raumes eher nicht.So, genug Exkurs in die Farblehre, zurück zum Ansteuern / verstehen.
Du kannst die Farbe bei den Hue leuchten in den 4 oben angegebenen Modellen ansteuern.
Wenn die Lampe Farbe meldet, weiss sie allerdings nicht welches Modell für Dich interessant ist. Daher liefert sie zumeist die Daten für mehrere Modelle zurück.
Zusätzlich kennt viele Lampen 2 unterschiedliche Betriebsmodi: XY und CT. Im XY Modus erwartet die Lampe eine Ansteuerung mit entweder RGB, HSV oder XY, und liefert entsprechend die Ergebnisse dieser 3 Modelle zurück. Dabei gibt es manchmal rundungseffekte. Intern nutzt die Lampe genau 1 Modell zur Verwaltung der Farbe. Daher muss umgerechnet werden, und da entstehen ggf. Rundungsfehler. Daher kann es passieren das man zuerst via RGB einen Wert einstellt, danach einen Wert mit den dabei zurück gemeldeten XY werten einstellt, und dabei einen anderen RGB Wert zurück gemeldet bekommt.
TLDR:
Du musst dich entscheiden, du nutzt entweder
r
g
b
oderhue
sat
bri
, oderxy
oderct
bri
A.
- HSV (
-
@linedancer Okay. Das teste ich morgen noch mal.
-
@asgothian Vielen Dank. Das muss ich morgen testen