NEWS
Timout 120 min erfolgt willkürlich
-
Hallo zusammen. Ich habe folgendes Blockly erstellt:
Dabei soll die Heizung für 120min von "Dauernd Normalbetrieb" auf "Nur Warmwasser" gestellt werden. Laut Log dauert der "Nur Warmwasser " Zustand in diesem Fall lediglich 19 min:
-
@passuff
und wie oft aktualisiert dein Trigger?
dann startet alles neu -
OK, das war mir nciht bewusst. Aber selbst wenn alle neu startet, dürfte der Reset doch niemals < 120min ausfallen, oder?
-
@passuff
Das ist dann ein Delay von 120 Minuten einer lange zurückliegenden Triggerung -
Ich glaube ich werde mich nie mit JS anfreunden können. Wie würdest du das ganze lösen? Cron?
-
@passuff
irgendwo oben ein stop timeout setzen, so dass ein laufendes Timeout gestoppt wird.Dann überlegen ob es auf aktualisieren getriggert werden aoll.
Ich kenne das Verhalten deines Datenpunktes nicht -
Hab das ganze wie folgt gelöst:
Zeile 5 im Skript:(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
Wie man sieht, wird der "stop timeout" nicht akzeptiert und erzeugt einen Error im Log.
Warum, verstehe ich nicht. -
@passuff
OK - mein Fehler.Habe gerade nochmal meine Blocklys angesehen, das habe ich mit "intervall", nicht mit "Timeout"
Wenn ich mit Timeout gearbeitet hae, ist das Stop timeout in einem SONST
-
Habe es auf mehrere Arten versucht den stop timeout einzubauen. Leider ohne Erfolg. Selbst wenn ich in einem Test Skript einen Timeout starte und anschließend stoppe, bekomme ich die Fehlermeldung. Ich vermute daher, dass es sich um einen Bug handelt.
-
Welchen Fehler erhältst Du bei Deinem Test (Ausgabe unter Log).
Ich frage, da gerade im JS-Script Adapter 4.1.4 ein entsprechender Fehler behoben wurde.Sofern Du Latest benutzt, könnte das auch für Dein Setup gelten.
Siehe hierzu https://forum.iobroker.net/topic/20203/java-script-engine-v-4-1-3-blockly-timeout-timeout-is-not-defined
-
Ich habe den Thread gelesen. Danke für den Hinweis. Ich nutzte leider bereits 4.1.3. Gerade eben wurde 4.1.4 released. Damit funktioniert es jetzt.