Hauptmenü

Doif set inactive

Begonnen von deathworm, 20 Oktober 2024, 18:28:25

Vorheriges Thema - Nächstes Thema

deathworm

Hoi

Ich habe folgende Thematik: ein Gira Relais meldet mir wenn die Klingel gedrückt wird. Zu Halloween gibt es noch einen extra esp der daraufhin an der Tür ein Blitzlicht und eine Stimme aktiviert. Nun habe ich das Problem, dass wenn jemand zwei mal klingelt, dies wieder ausgemacht wird. Nun würde ich hier gerne eine mehrsekündige Aktionspause einbauen. Hierfür würde meiner Meinung nach der set Befehl inactive/active ja gehen, da ein DOIF das Ganze auslöst.


Nun hab ich aber das Problem, dass wenn ich ein ,,set Modulname inactive" mache, einfach nichts passiert.

Mache ich da was falsch und/oder gäbe es noch etwas anderes um das doif kurzzeitig zu de- und dann wieder zu aktivieren. Disable fliegt ja raus, weil das nicht mehr im DOIF enabled werden kann.


Danke!

Damian

Du kannst per set <DOIF-Device> disable ein DOIF-Device deaktivieren und mit set <DOIF-Device> enable wieder aktivieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rabehd

Zitat von: deathworm am 20 Oktober 2024, 18:28:25Nun würde ich hier gerne eine mehrsekündige Aktionspause einbauen. Hierfür würde meiner Meinung nach der set Befehl inactive/active ja gehen, da ein DOIF das Ganze auslöst.

Was soll denn pausieren?
Das auslösende DOIF? Dafr muss man es doch nicht deaktivieren, sondern mit den Attributen steuern.
Auch funktionierende Lösungen kann man hinterfragen.

deathworm

Zitat von: Damian am 20 Oktober 2024, 18:38:02Du kannst per set <DOIF-Device> disable ein DOIF-Device deaktivieren und mit set <DOIF-Device> enable wieder aktivieren.

Aber es ist doch so, dass ich im doif selbst ihn sich doch nicht eigenständig deaktivieren und wieder aktivieren lassen kann. Weil er ja folglich deaktiviert ist. Das müsste ich ja dann per einem zweiten doif machen.

deathworm

Zitat von: rabehd am 20 Oktober 2024, 20:01:08
Zitat von: deathworm am 20 Oktober 2024, 18:28:25Nun würde ich hier gerne eine mehrsekündige Aktionspause einbauen. Hierfür würde meiner Meinung nach der set Befehl inactive/active ja gehen, da ein DOIF das Ganze auslöst.

Was soll denn pausieren?
Das auslösende DOIF? Dafr muss man es doch nicht deaktivieren, sondern mit den Attributen steuern.

Jep. Das auslösende doif soll sich selbst in einen Zustand versetzen, dass es nach Aktivierung für zum Beispiel 5 Sekunden nicht erneut aktivierbar ist.

rabehd

Aktivierbar oder nur nicht einen Zweig ausführen?
Auch funktionierende Lösungen kann man hinterfragen.

teufelchen

DOIF kann mit cmdpause wiederholende Ereignisse ignorieren.
Somit könntest Du erwirken, dass trotz mehrmaligen Klingeln erst nach einer vorgegebenen Zeit wieder die Aktion auslöst.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

deathworm

Zitat von: teufelchen am 21 Oktober 2024, 15:56:47DOIF kann mit cmdpause wiederholende Ereignisse ignorieren.
Somit könntest Du erwirken, dass trotz mehrmaligen Klingeln erst nach einer vorgegebenen Zeit wieder die Aktion auslöst.

Hi!

Dies ist wohl exakt dass, was ich brauche. Also ein erster Test war halbwegs erfolgreich. Also ein wiederholtes auslösen wurde verhindert, jedoch hat nach langem warten es noch nicht wieder funktioniert.

Aaaaber das kann auch an mir liegen, denn ich bin noch ungewiss, was denn die Zahlen genau bedeuten.

Also es ist ja attr cmdpause Sekunde:Sekunde

Nun weiß ich leider nicht, welcher Wert für welchen Zustand verantwortlich ist. Per googlesuche und auch in der commandref habe ich für commandpause nichts finden können. Hab in der ref direkt danach gesucht und auch unter dem Unterpunkt doif danach.

Eingestellt habe ich nun einfach mal cmdpause 10:10, was ja auch viel zu lang sein kann.

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

deathworm

Hi

Wahnsinn - Dankeschön. Das hilft mir irre weiter.