DOIF nach Trigger für 30s ausschalten

Begonnen von Pati_Alpha, 03 April 2020, 22:17:32

Vorheriges Thema - Nächstes Thema

Pati_Alpha

Hey,

wie schaffe ich es, dass ein DOIF ganz normal auf ein Event reagiert (das tut es schon), aber danach z.B. 30 Sekunden auf "Durchzug" schaltet und auf nichts mehr hört?
Ich habe im "do"-Teil versucht mit "set doif_name disable ; sleep 30 ; set doif_name enable", aber das funktioniert nicht so richtig... :/

Grüße
Patrick

Frank_Huber

Poste doch mal dein doif im Ganzen.

Gesendet von meinem S68Pro mit Tapatalk

Pati_Alpha

Hey,

aktuell ist das:
defmod DashButtonNote DOIF ([DashButton:"short"]) (IF ([HM_5CCB28:state] eq "off") (set HM_5CCB28 pct 40,set DashButtonNote disable,sleep 30,set DashButtonNote enable) ELSE (set HM_5CCB28 pct 0,set DashButtonNote disable,sleep 30,set DashButtonNote enable))
attr DashButtonNote do always


Gibts dafür was einfacheres als diese disable-sleep-enable Geschichte?

Grüße :)

Frank_Huber

Dein initiales Problem kannst mit dem Attribut repeatsame lösen.

Gesendet von meinem S68Pro mit Tapatalk


Pati_Alpha

Hm, ich glaube nicht. Repeatsame führt das "do" ja mehrmals aus!
Genau das will ich ja verhindern, aber eben auch wenn in den nächsten 30s noch ein Trigger kommt!

Frank_Huber

Sorry. Waitsame ist es.
Hatte es falsch im kopf.

Gesendet von meinem S68Pro mit Tapatalk


Pati_Alpha

Leider auch nicht, waitsame ist dafür da, dass das "if" 2x passiert.
Das wäre bei mir also, wenn 2x der Button gedrückt wird passiert es erst.

Aber ich möchte ja, dass nach dem ersten Drücken für eine Zeit nichts mehr passiert.

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Pati_Alpha