NEWS
Dynamisches Licht - Farbverlauf Tag/Nacht
-
@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
-
@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
-
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...
-
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); } } -
@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?
-
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?
-
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 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.
-
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 :disappointed_relieved:
-
@Malaus das glaube ich dir natürlich ;)
bei den 5000 gehe ich mal davon aus, dass die beim Anlegen der States erzeugt werden:
Wie gesagt, ich habe den Code aus dem ersten Post kopiert und eingefügt. Ändern muss ich ja im Prinzip nur die Kelvin Werte zu der gewünschten Zeit.


