NEWS
Schleifen Wiederholung fehlerhaft
-
Wenn ich das Blockly ausführe, wird die Aktion in der Schleife 3 mal ausgeführt, aber ohne die 60 Sekunden Verzögerung.
Habe ich da einen Denkfehler, oder liegt ein Fehler vor?
-
@bergjet sagte:
Habe ich da einen Denkfehler
Ja, es werden 3 Timer gleichzeitig gestartet. Für verzögerte Wiederholungen gibt es Ausführen Intervall zusammen mit einer Zählvariablen. Prinzip:
-
Mit dieser Ausführung bekomme ich die Fehlermeldung:
javascript.0 2019-09-19 15:12:54.213 info script.js.Badezimmer.Lultfeuchte_prüfen1: null javascript.0 2019-09-19 15:12:54.213 warn at Timer.processTimers (timers.js:223:10) javascript.0 2019-09-19 15:12:54.213 warn at listOnTimeout (timers.js:263:5) javascript.0 2019-09-19 15:12:54.213 warn at tryOnTimeout (timers.js:300:5) javascript.0 2019-09-19 15:12:54.213 warn at ontimeout (timers.js:438:13) javascript.0 2019-09-19 15:12:54.213 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1856:34) javascript.0 2019-09-19 15:12:54.213 warn at Object.<anonymous> (script.js.Badezimmer.Lultfeuchte_prüfen1:15:19) javascript.0 2019-09-19 15:12:54.212 warn getState "0" not found (3) javascript.0 2019-09-19 15:12:54.212 info script.js.Badezimmer.Lultfeuchte_prüfen1: BadeZimmer_Prüfen
-
@bergjet du musst bei "Wert von Object ID" auch wirklich eine ID eingeben und nicht den Zähler.
Es gibt nämlich keinen State mit der ID 0
-
@thewhobox said in Schleifen Wiederholung fehlerhaft:
"Wert von Object ID"
Ah, ok. Ich wollte mir im Log ansehen, welchen Wert der Zähler hat. Aber jedenfalls, dürfte es funktionieren. Danke.
-
@bergjet dann lass das "Wert von Object ID" weg und mach den Zähler direkt an den debug
-
Jetzt stoppt mir der Zähler nicht.
-
@bergjet
Versuch mal Zähler <= 0.Javascript hat so seltsame "Rundungsfehler", da kommen beim Rechnen mit ganzen Zahlen, gerne mal Kommazahlen raus.
Könnte also sein, dass der Zähler nie "0", sondern nur "-0,00000000001" wird. -
-
Sieht jetzt so aus.
-
@bergjet sagte:
Sieht jetzt so aus
Sollte eigentlich funktionieren, es sein denn, es laufen mehrere Intervalle, weil zu häufig getriggert wird. Setze mal zusätzlich ein stop zyklische Ausführung Intervall vor Ausführen Intervall alle 2 Min.
-
@paul53 said in Schleifen Wiederholung fehlerhaft:
es sein denn, es laufen mehrere Intervalle, weil zu häufig getriggert wird
Das ist vermutlich das Problem. Habe deinen Vorschlag einmal umgesetzt und werde beobachten.