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); -
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);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden