Hallo DOIF Spezialisten,
ich möchte bei eintreffen eines Ereignisses immer wieder mit zeitlichen Versatz (20 sekunden) das gleiche Kommando absetzen, bis ein anderes Ereignis kommt. Das Ereigniss kommt nur einmal.
In der Vergangenheit habe ich das über einen Timer (defmod timer at +*00:00:20 set Soundausgabe playTone 1,1) gelöst, welchen ich im DOIF dann aktiviert (set timer active) bzw. deaktiviert habe. Meine Hoffnung ist nun das ich das direkt im DOIF machen kann, und keinen zusätzlichen Timer mehr benötige.
Hat jemand eine Idee ?
VG Klaus
Wie wäre es damit?
ZitatWiederholungen der Ausführung von Kommandos werden pro Befehlsfolge über das Attribut repeatcmd definiert.
Erläuterungen und Beispiele in der Hilfe
Danke, das Leben kann so einfach sein.
Keine Ahnung, warum ich das damals über einen Timer gelöst habe
Sorry, muss nochmal stören.
Das repeatcmd unterstützt leider keine Subcommands (kommas, ähnlich wait):
([PR.button:1_press] eq "1" and [FL.EG.gong.mp3.muteswitch] eq "off")
(setreading FL.EG.dummyanzeige.led08 PR.button red)
((set FL.EG.gong.mp3 playTone 47,47))
wait ,60:,60:,...
repeatcmd ,20:.....
Ich kann also nur repaetcmd 20:... angeben, dadurch durchläuft er aber wieder beide Kommandos, also wieder mit wait.
Ich möchte aber nur das zweite Kommand unendlich ausführen ..
Ich glaube das funktioniert so nicht.
Repeatcmd lässt keine Definition auf Subcommand Ebene zu. Es wird also immer der jeweilige Kommandzweig komplett durchlaufen auch mit den Waits...
ZitatIch möchte aber nur das zweite Kommand unendlich ausführen ..
Dann das DOIF anderes aufbauen oder ein "IF" in den Zweig einfügen.
Das Du nur einen Teil des Zweiges ausführen willst, sehe ich in Deinem Text nicht.
Zitat von: Rampler am 27 August 2021, 12:02:15
Repeatcmd lässt keine Definition auf Subcommand Ebene zu. Es wird also immer der jeweilige Kommandzweig komplett durchlaufen auch mit den Waits...
Das ist auch gut so. Es handelt sich um eine unendliche Wiederholung und eine sequentielle Abarbeitung. Würde der erste Teil eines Zweiges unendlich oft wiederholt werden, dann würde der zweite Teil nie ausgeführt werden.
Hallo Damian,
guckst Du hier ....
https://forum.fhem.de/index.php/topic,48788.0.html (https://forum.fhem.de/index.php/topic,48788.0.html)