NEWS
"stop timeout" wohin damit
-
ich stelle mir/euch die Frage, wohin gehört das "stop timeout" ?
Google Recherche ergibt viele Varianten. Ich habe einige Blocklys, bei denen ich Benachrichtigungen bekomme,
obwohl die gar nicht mehr kommen dürften und ich denke, es liegt an der (falschen) Position des "stop timeouts".Hier mal 4 Beispiele, welches ist richtig ? Bzw, wo gehört es wirklich hin ?
Danke
-
@darkblu Wichtig ist, dass alte Timeouts gestoppt werden, bevor unter gleichem Namen ein neuer Timeout aufgezogen wird...
Stoppen kann man also z. B. direkt bevor man den neuen Timeout aufzieht, oder wenn das, was nach Ablauf des Timeouts erledigt werden soll hinfällig geworden ist ...
Im zweiten Fall sollte man aber nicht zu sehr bummeln, sondern den Stecker so schnell wie möglich ziehen ...
In Deinem Beispiel sind zwei Dinge wichtig:
- Das "wurde geändert" im Trigger. "wurde aktualisiert" würde Probleme machen
- die "falls" Abfrage im Trigger, damit der Timer nur bei jeweils einer der Änderungsrichtungen aufgezogen wird...
-
Das ist richtig:
- Öffnest Du das Fenster, ist der Wert
true
und die Timer werden gestartet - Schließt Du das Fenster, greift der sonst Fall und die Timer werden wieder gestoppt
Alles andere ergibt logisch keinen Sinn, weil sonst ja die Ansagt kommt, obwohl das Fenster schon wieder geschlossen wurde.
- Öffnest Du das Fenster, ist der Wert
-
Alles klar, ich danke euch
-
@darkblu sagte: 4 Beispiele, welches ist richtig ?
Das erste Beispiel ist richtig, denn die Timer sollen gestoppt werden, wenn das Fenster geschlossen wird (
Wert
wird false).
Möglich ist auch das Stoppen der Timer vor der Prüfung "fallsWert
". -
Statt Timeout nutze ich bei lägeren Intervallen einfach Variablen unter 0_userdata.0...
Die werden minütlich von einem Skript gelesen, wenn größer 0 dekrementiert, wenn dann 0 wird was geschaltet. Erkennt z.B. ein Bewegungsmelder Bewegung, wird die Variable auf den Sollwert gesetzt und was geschaltet.
Timeout nutze ich nur, um Kommunikationsfehler abzufangen, wenn z.B. eine Gegenstelle nicht erreichbar ist, wie es m Falle von Bildern von einer Netzwerkkamera schonmal passieren kann.