NEWS
Sofortige Auswertung trotz Verzögerung normal?
-
Hi,
bin gerade fast bei der Fehlersuche verzweifelt, da mir nicht bewusst war, wie JS hier arbeitet...
War auf der Suche nach einem vermeindlichen Timing Problem...In folgendem Skript wird "wert von" wohl direkt zu Beginn des Skripts ausgelesen, auch wenn das übergeordnete "steuere" erst in 10 Sekunden greift.
War mir nicht klar und frage mich jetzt ist das normal?Ich habe dazu mal das Testskript gestartet und dann von Hand in den Objekten nach 5 Sekunden den Wert des Datenpunkts geändert.
Wie man am Debug sieht, wird nach der abgelaufenen Verzögerung wieder der Wert vor meiner händischen in den Datenpunkt geschrieben.Da ich das Problem, bzw. die Ursache nun kenne, weiß ich, dass ich in dem Fall einen "timeout" für das steuere nutzen sollte/muss.
Nur wie gesagt, die Frage, die mich beschäftigt, ist das normal?
Liegt das evtl. am JS Code, mit dem die Verzögerung umgesetzt wird (ein JS Guru sieht das evtl. direkt :D)setStateDelayed("0_userdata.0.außentemperatur_alarm"/*außentemperatur_alarm*/, getState("0_userdata.0.außentemperatur_alarm").val, true, 10000, false);
-
@padrino sagte: ist das normal?
Ja, der Wert wird bei Aufruf der Funktion setStateDelayed(id, val, ack, delay) übergeben und nur setState(id, val, ack) wird verzögert ausgeführt.