NEWS
Dynamisches Licht - Farbverlauf Tag/Nacht
-
@vsa
hatte das Problem auch. Vermute mal da gabs irgendein Update, wo sich was geändert hat.
Die Lösung ist, bevor man die Farbe der Lampe setzt, einsetState(L1on, true);
einzusetzen.
Bei deinem wäre das nun so:
function Kelvin1 () { if (getState(L1mode).val == "ct"){ setState(L1on, true); setState(L1ct, K1); } }
-
@Malaus said in Dynamisches Licht - Farbverlauf Tag/Nacht:
Du bist super! Danke für die sehr schnelle Hilfe - funktioniert jetzt! Muss wohl an irgendeinem Update gelegen haben, denn vorher gings ja auch...
Schönen Sonntag noch,
vg -
... sorrry nocheinmal...
nur die logs laufen mit warn voll:
vg
-
@vsa
habs dir verbessert, in dem ich K1,K2 usw als Datenpunkte erstellt hab.
Allerdings ist mir ein anderer Fehler noch aufgefallen. Und zwar wird das Level also die Helligkeit jedes mal mit 100 überschrieben.
Muss ich mir mal genauer anschauen und ausprobieren, wie man das lösen kann.Hier hast mal eine Zwischenlösung, damit wenigstens die Warnungen weg sind.
/*** Leuchten ***/ /** Lampe 1 **/ var L1on = "hue.0.Hue_Lightstrip_Flur.on"; var L1ct = "hue.0.Hue_Lightstrip_Flur.ct"; var L1mode = "hue.0.Hue_Lightstrip_Flur.colormode"; /** Lampe 2 **/ var L2on = "hue.0.Hue_ambiance_links.on"; var L2ct = "hue.0.Hue_ambiance_links.ct"; var L2mode = "hue.0.Hue_ambiance_links.colormode"; /** Lampe 3 **/ var L3on = "hue.0.Hue_ambiance_rechts.on"; var L3ct = "hue.0.Hue_ambiance_rechts.ct"; var L3mode = "hue.0.Hue_ambiance_rechts.colormode"; /** Lampe 4 **/ //var L4on = ""; //var L4ct = ""; var Dynamiclight = "javascript.0.Dynamisches_Licht.Hilfswert_Kelvin"; var Offset1 = 'javascript.0.Dynamisches_Licht.Offset1'; var Offset2 = 'javascript.0.Dynamisches_Licht.Offset2'; var Offset3 = 'javascript.0.Dynamisches_Licht.Offset3'; var Offset4 = ''; var K1 = 'javascript.0.Dynamisches_Licht.K1'; var K2 = 'javascript.0.Dynamisches_Licht.K2'; var K3 = 'javascript.0.Dynamisches_Licht.K3'; //**PROGRAM **// function getStateKelvin () { setState(K1, getState(Dynamiclight).val + getState(Offset1).val); setState(K2, getState(Dynamiclight).val + getState(Offset2).val); setState(K3, getState(Dynamiclight).val + getState(Offset3).val); lightcheck (); } function lightcheck () { if (getState (L1on).val == true){ Kelvin1 (); } if (getState (L2on).val == true){ Kelvin2 (); } if (getState (L3on).val == true){ Kelvin3 (); } else return; } function Kelvin1 () { if (getState(L1mode).val == "ct"){ setState(L1on, true); setState(L1ct, getState(K1).val); } } function Kelvin2 () { if (getState(L2mode).val == "ct"){ setState(L2ct, getState(K2).val); } } function Kelvin3 () { if (getState(L3mode).val == "ct"){ setState(L3ct, getState(K3).val); } } /** Offsets der Leuchten erstellen **/ createState(Offset1, { name: 'Offset1', unit: 'K', type: 'number', }); createState(Offset2, { name: 'Offset2', unit: 'K', type: 'number', }); createState(Offset3, { name: 'Offset3', unit: 'K', type: 'number', }); createState(K1, { name: 'K1', unit: 'K', type: 'number', }); createState(K2, { name: 'K2', unit: 'K', type: 'number', }); createState(K3, { name: 'K1', unit: 'K', type: 'number', }); /** Datenpunkte abfragen **/ on({ id: L1on, val: true }, Kelvin1); on({ id: L2on, val: true }, Kelvin2); on({ id: L3on, val: true }, Kelvin3); /** on({ id: L3on, change: "any" }, Kelvin3); */ on({ id: Dynamiclight, change: "any" }, getStateKelvin);
-
@Malaus said in Dynamisches Licht - Farbverlauf Tag/Nacht:
setState(L1on, true);
Wieder ein dankeschön für das korrigieren&verbessern des Skriptes.
Wenn in der Zeile 73 -> setState(L1on, true);
steht, bekomme ich einige warns und die logs laufen voll. Wenn ich es entferne, klappt es....vg
-
@vsa wenn du das weg lässt, hast du aber wieder das Problem, dass es sofort ausgeht oder?
-
Tja, eigentlich ja schon. Aber gerade geht es... seltsam....! Da die logs vollgelaufen sind und mein Raspi nicht mhr reagiert hat, habe ich ihn vom Strom genoimmen und neu gestartet...
-
@vsa das mit dem Neustart hat bei mir auch für Wunder gesorgt. Jetzt läuft wieder alles
-
Hallo @Malaus,
nochmals ein feedback. Ich habe gestern Abend noch eine Weile daran rumgespielt.... Der Aufruf setState(L1on, true); bringt die logs zum überquellen und der Raspi reagiert nicht mehr.
Daher habe ich gestern mal (wie oben erwähnt) die Zeile setState(L1on, true); weggelassen und es ging mehrmals mit dem EIn-/Ausschalten der Lampen, so wie es eben sein soll.
Heute Mittag, wieder das gleiche Phänomen.... Nach dem Einschalten der Lampen gehen sie sofort wieder aus. Eigentlich seltsam. Eigentlich prüft ja die Funktion lightcheck() ob der Status an oder aus (true/false) ist. Kann es sein, dass es ein Timing Prolem sein könnte?
VG ,
-
...ich habs mal versucht... jetzt gehts (mal wieder. mal sehen wie lange.) Ich bleibe dran und werde berichten.
function Kelvin1 () { if (getState(L1mode).val == "ct"){ setTimeout(() => { setState(L1ct, getState(K1).val); }, 3000); } }
-
@vsa wie sah das log aus?
-
@Malaus leider genau so wie oben schon gepostet. geht ins unendliche....
Bisher zeigt das log keine AUfälligkeiten mit dem eingebauten delay... toitoitoi...
vg -
@Malaus So.... jetzt nocheinmal mein feedback:
- Deine Skripte laufen super, bis auf dass seit irgendeinem Update die eigeschaltenen Lichter gleich wieder ausgehen.!
- Ein setState(L1on, true); hilft zwar, dass die Lichter anbleiben. Die Logs laufen jedoch voll und der ioBroker reagiert kaum noch.
- Die obige Änderung von mir mit setTimeout ist - zumindest bei mir - absolut notwendig, und so funktioniert es ohne dass die logs vollaufen. Vielleicht liegt es am langsameren Raspi? Wie auch immer...
Vg
-
Ich bin gerade auch dabei das Skript bei mir einzubinden.
Das Astro Skript läuft ohne Probleme.
Nur beim eigentlich Skript, welches die Kelvin Werte in die Datenpunkte schreibt, habe ich bei allen Datenpunkten 0 K drin stehen.Das Astro Skript vom ersten Post habe ich kopiert ohne Änderungen
Das Rechenskript habe ich von Malaus' Beitrag vom 12.11.19 ohne Änderungen kopiert.In den Objekten sieht das Ganze so aus:
Weiß jemand welchen Fehler ich gemacht habe?
-
@Phinix was steht im Ordner Dynamisches Licht?
-
@Malaus said in Dynamisches Licht - Farbverlauf Tag/Nacht:
@Phinix was steht im Ordner Dynamisches Licht?
Das sind alle Objekte welche sich bei mir im Ordner befinden:
-
@Phinix sagte in Dynamisches Licht - Farbverlauf Tag/Nacht:
Das Astro Skript vom ersten Post habe ich kopiert ohne Änderungen
Das Rechenskript habe ich von Malaus' Beitrag vom 12.11.19 ohne Änderungen kopiert.Benutze bitte mal das Skript aus dem ersten Beitrag. Vielleicht hab ich damals doch nochmal was verändert. Bin mir aber sicher, dass ich es im ersten Post aktualisiert habe.
-
Ich habe nun das Skript aus dem ersten Post genommen, die K1-K3 und Offset Objekte sind nun weg, aber der Hilfswert bleibt weiterhin konstant.
-
Hat niemand mehr eine Idee was ich noch versuchen könnte, ich bin in JavaScript leider nicht so fit dass ich den Code selbst abändern könnte
-
@Phinix wie schon erwähnt, läuft es bei mir. Ich weiß leider nicht weiter, woran es bei dir liegt, dass es nicht funktioniert.
Woher kommen die 5000 bei dir?