NEWS
Mehrere SetState schalten nicht
-
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 ! -
@paul53 aber end_str1 und dif_str1 sind doch variablen oder verstehe ich dich falsch?
-
@CrunkFX sagte:
sind doch variablen oder verstehe ich dich falsch?
Das sind Datenpunkte, keine Variablen.
-
@paul53 Meinst du das so?
let test = getstate(dp).val setstate(dp2,test)
-
@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)); });