feat(light): Farbe und Farbtemperatur ueber alle Segmente
In Home Assistant liessen sich nur Szenen und Helligkeit stellen, keine Farben - device/state traegt naemlich keine. Die steht je Segment, und die Segmente hat der Koordinator bisher gar nicht gelesen. Jetzt holt er device/segments mit (fuenfte Anfrage je Zyklus), und die Lichtentitaet bietet rgb_color und color_temp_kelvin an: * Setzen schreibt in ALLE Segmente, aber nur die Farbfelder - Grenzen, Namen und Helligkeit bleiben stehen. Die Einteilung eines Strips ist von Hand gemacht, die reisst eine Farbwahl nicht ein. Geschrieben wird die ganze Liste auf einmal, danach zurueckgelesen statt angenommen. * Angezeigt wird nur, worauf sich alle Segmente einigen. Zwei Farben und eine Entitaet - da waere jede Angabe gelogen, also gibt es keine. * Farbtemperatur nur, wenn alle auf "white" stehen; sonst RGB, sonst blendete HA den Farbkreis aus, sobald ein Segment einen Effekt faehrt. * Die Farbe geht VOR dem Einschalten raus, sonst leuchtet der Strip kurz in der alten auf. Die Spanne 2700-6500 K ist die, die die Firmware auf die Weisskanaele umrechnet (nl_ct.h); ohne Weisskanaele naehert sie sie in RGB an. Dazu: das Markenbild ist jetzt dasselbe wie bei ninlight - Michaels Wunsch, die beiden Integrationen gehoeren zusammen. Das Skript fuer ein eigenes Motiv bleibt als Ausgangspunkt liegen.
This commit is contained in:
@@ -95,3 +95,19 @@ SETTINGS_STORED: dict[str, Any] = {
|
||||
**SETTINGS_COMPILED,
|
||||
"wifi": {"ssid": "ninIOT", "source": "stored"},
|
||||
}
|
||||
|
||||
# Ein Segment ueber den ganzen Strip, warmweiss - so kommt ein Geraet aus dem
|
||||
# Werkszustand. Farbe und Farbtemperatur stehen nur hier, nicht in state.
|
||||
SEGMENTS_K1Y: dict[str, Any] = {
|
||||
"segments": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": None,
|
||||
"start": 0,
|
||||
"end": 59,
|
||||
"mode": "white",
|
||||
"color_temp": 2700,
|
||||
"brightness": 80,
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user