Inhaltsverzeichnis
Timeout
Mit einem Timeout kannst du eine Aktion zeitverzögert ausführen, wenn du diese in einen timeout
-Block steckst:
Bevor du ein neues Timeout startest, solltest du immer mit einem stop timeout
alle laufenden Timeouts stoppen:
Hinweis: Blöcke außerhalb des Timeouts werden sofort ausgeführt!
Verzögerung
Das gleiche Verhalten wie bei einem Timeout kannst du erzielen, wenn du bei einem Systemblock zum Steuern oder Aktualisieren „mit Verzögerung“ aktivierst. Dadurch wird dieser Block entsprechend dem eingestellten Wert verzögert:
Intervall
Ein Ausführen Intervall
-Block wiederholt eine im Block eingefügte Aktion immer wieder nach Ablauf der eingestellten Zeit. Es läuft, solange das Script gestartet ist oder bis du das Intervall durch eine andere Aktion stoppst:
Bevor du ein Intervall startest, solltest du immer mit einem stop zyklische Ausführung
alle laufenden Intervalle stoppen:
Hinweis: Blöcke außerhalb des Intervalls werden sofort ausgeführt!
Zeitplan
Für dieses Beispiel benötigst du den Block Zeitplan
aus dem Bereich Trigger:
Wiederkehrende Aktion
Über die 3 Punkte ...
öffnest du die Einstellung des Zeitplans. Möchtest du eine Aktion zu einer bestimmten Zeit an bestimmten Tagen ausführen lassen, ändere „Wiederholen“ auf „Bestimmte Zeit“:
Hier kannst du einstellen, um welche Uhrzeit und an welchem Wochentag die Aktion gestartet werden soll. Stelle als Test „Mo – So“ und als Uhrzeit „13:00“ ein:
Jetzt speicherst du den Zeitplan und kannst in diesem die eigentliche Aktion erstellen, zum Beispiel einen Datenpunkt steuern:
Wenn du diesen Datenpunkt nach Ablauf einer definierten Zeit wieder auf „falsch“ setzen möchtest, kannst du das mit einem timeout
-Block machen oder die zweite Aktion verzögert ausführen:
Einmalige Aktion
Starten wir wieder beim Block Zeitplan
aus dem Bereich Trigger:
Über die 3 Punkte …
öffnest du die Einstellung des Zeitplans. Möchtest du eine Aktion nur einmal ausführen lassen, stellst du „Wiederholen“ auf „Einmal“ und gibts Datum und Uhrzeit ein:
Jetzt speicherst du den Zeitplan und kannst in diesem die eigentliche Aktion erstellen, zum Beispiel einen Datenpunkt steuern:
Wenn du diesen Datenpunkt nach Ablauf einer definierten Zeit wieder auf „falsch“ setzen möchtest, kannst du das mit einem Timeout
-Block tun oder die zweite Aktion verzögert ausführen:
Zeitabhängiges Intervall
Starten wir wieder beim Block Zeitplan
aus dem Bereich Trigger. Mit diesem kannst du eine Aktion auch als Intervall ausführen lassen:
Über die 3 Punkte …
öffnest du die Einstellung des Zeitplans. Dieses lässt sich entweder als „alle x Sekunden/Minuten“ oder als „alle x Sekunden/Minuten in einem bestimmten Zeitraum“ definieren:
Konfiguriere das gewünschte Intervall, speichere den Zeitplan und erstelle dann in diesem die eigentliche Aktion, zum Beispiel einen Datenpunkt steuern:
Wenn du diesen Datenpunkt nach Ablauf einer definierten Zeit wieder auf „falsch“ setzen möchtest, kannst du das mit einem Timeout
-Block machen oder die zweite Aktion verzögert ausführen:
5 Kommentare
Kommentieren[…] diesen setzt du einen “stop timeout”-Block, der ein eventuell laufendes Timeout stoppt (Über Timeouts und Intervalle kannst du in diesem Artikel mehr erfahren). Als Wert für die Millisekunden habe ich mit “20000” gute Erfahrungen […]
[…] Vor diesen setzt du einen “stop timeout”-Block, der ein eventuell laufendes Timeout stoppt (über Timeouts und Intervalle kannst du in diesem Artikel mehr erfahren). Als Wert habe ich mit “5 Minuten” gute Erfahrungen […]
[…] Als Nächstes benötigst du einen “timeout”-Block sowie einen “stop timeout”-Block darüber (warum dieser Block hier sinnvoll ist und was er macht, erfährst du in diesem Artikel): […]
Hi, die Erklärung ist klasse, vielen Dank dafür!
Kannst Du mir erklären, wie ich einen Timeout von außen steuere. So will ich über Jarvis und eine freie Eingabe die Zeit der Verzögerung definieren können. Ziel ist es den Einschaltmoment meiner Bewässerung um x Stunden in die Nach hinein zu verzögern. Kann ist also irgendwie die Zeit im Timeout durch eine Variable ersetzen?
Hallo
ich steuere ein Heizspule für Brauchwasser. Je nach aktueller Wassertemperatur muss ich die Spule länger oder kürzer einschalt halten.
Das „Ausführen in ms“
könnte man verbessern, in dem man es erlaubt, die als Variable anzugeben. Augenblicklich muss man eine feste Zahl eingeben.
Z.Z. mache ich das über „Ausführen in ms was natürlich etwas heftig ist 😉