NEWS
Timeout richtig verwenden
-
@invidianer schau mal, dort https://forum.iobroker.net/post/110978 ist das für Jscript beschrieben. Das was innerhalb der function steht, wird nach Ablauf der Zeit ausgeführt. Ist etwas ungewöhnlich, weil das dann vor der timeout-Zeit steht und nicht danach.
-
@klassisch
Danke! Das ist je bestimmt geil, wenn man es versteht
Kann man das in Blockly denn gar nicht machen? Wofür gibt es in Blockly dann diese olivefarbenen "timeout"-Dinger? -
@invidianer vielleicht so; Mein erstes Blockly.
schickt nach 5 Sekunden eine Mail. Führt nach 5 Sekunden das aus, was innerhalb der "Zange" ist,
-
Hilft mir leider nicht weiter.
Hier mein Blockly als Bild.Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.
-
@invidianer sagte: Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.
-
@invidianer
Durch Prüfung der Variable timeout lässt es sich vereinfachen. -
Cool, danke!!
Wen wir nochmal MEINE Version (der Einfachheit) nehmen:
Dann ist es also so, daß der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet und dann die "mache"-Zange für Tauchpumpe inaktiv abgearbeitet wird?
Ich war davon ausgegangen, daß die "mache"-Zange (Tauchpumpe aktiv) auf jeden Fall zuerst mal komplett ausgeführt wird, also auch der Timeout unabhängig davon, ob sich der Stromverbrauch mittlerweile geändert hat. Dem ist also nicht so? -
@invidianer sagte: der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet
Nein, es wird nichts unterbrochen: Der Timeout läuft weiter, wenn er nicht im sonst-Zweig gestoppt wird.
-
@paul53
Hmm, das bedeutet, auch, wenn die Pumpe nach 5 Sekunden längst fertig ist, wartet er erst insgesamt 20 Sekunden und meldet erst dann, daß sie fertig ist? -
@invidianer sagte: wenn die Pumpe nach 5 Sekunden längst fertig ist, wartet er erst insgesamt 20 Sekunden und meldet erst dann, daß sie fertig ist?
Nein, die Verzögerung wirkt nur auf die Meldung, dass die Pumpe seit 20 s läuft.