NEWS
Fehlermeldung: Object.<anonymous>
-
Ich habe fogendes kleines Script geschreiben:
var NeueDatenVorhanden; schedule("0 20 * * *", async function () { setState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp"/*Vis_Var_MaxTemp*/, (-20), true); }); on({id: 'mqtt.0.zuHause.ESP01.aussen.Wetter.Temperatur', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('#1: Temp hat sich geändert'); if (getState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp").val < getState("mqtt.0.zuHause.ESP01.aussen.Wetter.Temperatur").val) { setState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp"/*Vis_Var_MaxTemp*/, getState("mqtt.0.zuHause.ESP01.aussen.Wetter.Temperatur").val, true); NeueDatenVorhanden = true; console.log('#2: Aktuelle Temp ist Tiefer als die Gespeicherte '); } if (NeueDatenVorhanden && getState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp").val > getState("mqtt.0.zuHause.ESP01.aussen.Wetter.Temperatur").val) { setState("0_userdata.0.Vis_Wetter.Vis_MaxTemp"/*Vis_MaxTemp*/, getState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp").val, true); NeueDatenVorhanden = false; console.log('#3: Die Tiefste Temperatur wird auf die Vis übernommen'); } console.log((['Aktuelle Temperatur: ',getState("mqtt.0.zuHause.ESP01.aussen.Wetter.Temperatur").val,' / ','Bis Jetzt max Temp: ',getState("0_userdata.0.Vis_Wetter.Vis_Var_MaxTemp").val,' / ','Vis max Temp: ',getState("0_userdata.0.Vis_Wetter.Vis_MaxTemp").val].join(''))); });
Jetzt bekomme ich bei jedem Druchlauf die Meldung:
aber ich habe keine Ahnung warum. Der Datenpunkt existiert und wurde auch schon aus dem Script beschrieben.
-
@chrisbie sagte: kleines Script
Weshalb gibt es zwei Datenpunkte mit der maximalen Temperatur?
Man sollte nie einen Datenpunkt (Vis_Var_MaxTemp) abfragen, der gerade schrieben wird, da setState() asynchron ausgeführt wird.Vorschlag: