Bestimmte Befehle verzögern und dann ab einem bestimmten Befehl wiederholen

Begonnen von ReneR1986, 06 Oktober 2024, 18:35:56

Vorheriges Thema - Nächstes Thema

ReneR1986

Hallo zusammen,
ich komme bei einem DOIF nicht wirklich weiter...
Ich möchte, dass nach wahrwerden der Bedingungen der erste Befehl (Befehl 1) einmal ausgeführt wird.
Die darauf folgenden Befehle sollen jeweils nacheinander im Abstand von einer Minute ausgeführt werden. Wenn der letzte Befehl (Befehl 4) ausgeführt wurde, dann soll wieder bei dem zweiten (Befehl 2) begonnen werden usw.

define di DOIF ([06:00])
(Befeh1)
(Befeh2)
(Befeh3)
(Befeh4)
DOELSEIF ([23:00]) (Befehl 5)

Mit wait kann ich die Befehle verzögern aber wie kann ich dann dafür sorgen, dass es dann wieder mit Befehl 2 von vorne los geht? Kann man wait und repeatcmd zusammen verwenden?

Damian

repeatcmd kann nur die ganze Abfolge, also vom ersten bis zum letzten Befehl, wiederholen.

Du könntest einen DOIF-Zweig nur mit Befehl1 definieren, der die Ausführung eines zweiten DOIF-Zweiges auslöst, der wiederum die restlichen Befehle beinhaltet. repeatcmd würde man dann für den zweiten DOIF Zweig definieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ReneR1986

OK, verstehe.
Dann könnte ich im zweiten DOIF Zweig trotzdem wit wait arbeiten, um die Befehle zu verzögern und repeatcmd sorgt dann zusätzlich dafür, dass der komplette Zweig wiederholt wird?