NEWS
Mehrere SetState schalten nicht
JavaScript
6
Posts
2
Posters
374
Views
2
Watching
-
Folgende Funktion habe ich.
Zeile 2 WIrd ordnungsgemäß ausgeführt, 3+4 leider gar nicht.
Hab ich da nen Denkfehler?schedule("59 23 * * *", function () { setState(end_str1, getState(shelly_kwh).val); setState(dif_str1, (getState(end_str1).val - getState(start_str1).val)); setState(kosten_tag_gestern, (getState(dif_str1).val * preis_kwh)); }); -
Folgende Funktion habe ich.
Zeile 2 WIrd ordnungsgemäß ausgeführt, 3+4 leider gar nicht.
Hab ich da nen Denkfehler?schedule("59 23 * * *", function () { setState(end_str1, getState(shelly_kwh).val); setState(dif_str1, (getState(end_str1).val - getState(start_str1).val)); setState(kosten_tag_gestern, (getState(dif_str1).val * preis_kwh)); }); -
@CrunkFX
Man kann den Wert, den man gerade mit setState() erneuert hat, nicht sofort mit getState() auslesen, da setState() asynchron arbeitet, d.h. zum Zeitpunkt von getState() noch nicht fertig ist. Verwende Variablen ! -
@CrunkFX sagte:
sind doch variablen oder verstehe ich dich falsch?
Das sind Datenpunkte, keine Variablen.
-
@CrunkFX sagte:
Meinst du das so?
Ja.
schedule("59 23 * * *", function () { let end = getState(shelly_kwh).val; setState(end_str1, end); let diff = end - getState(start_str1).val; setState(dif_str1, diff); setState(kosten_tag_gestern, diff * preis_kwh)); });