Hallo zusammen,
ich habe eine Notify für das Garagentor. Ich möchte gerne diese Notify für 5 Minuten lahm legen, nach dem sie ausgelöst wurden ist. Das Garagentor wird geöffnet, dann wird eine Notify ausgelöst. 3 Minuten später geht das Tor zu, dann wird wieder diese Notify ausgelöst. Aus diesem Grund möchte ich diese Notify für 5 Minuten schlafen legen. Ich weiß nicht, ab der Befehl sleep das richtige dafür ist!
define Garagentor.Notify notify Garagentor:alarm:.* {\
if($EVENT =~ m/HomeSecurity: Intrusion/g) {\
fhem ("Nachricht Achtung Garagentor");;\
}\
}
Ich danke Euch im Voraus. :)
Du könntest ein event-min-interval von 185 Sekunden (oder so) beim Garagentor setzen.
Ich würde das notify so erweitern, dass es sich selbst auf inactive schaltet und nach 5 min sleep wieder auf active schaltet
Es hat mit event-min-interval nicht funktioniert. Ich habe event-min-interval auf 300 gesetzt. Ich habe innerhalb von 2 Minuten das Tor zwei mal Geöffnet. Jedes Mal wurde eine Notify ausgelöst. Wie könnte der Code aussehen? Habt ihr ein Beispiel? Danke.
event-min-interval auf 300
so funktioniert min-interval auch nicht,
ich würde auch igami's Vorschlag benützen
Ich habe so probiert, aber ohne Erfolg. Dadurch wird überhaupt keine Notifikation ausgelöst! Ich bekomme eine Fehlermeldung:
Code:
define Garagentor.Notify notify Garagentor:alarm:.* {\
if($EVENT =~ m/HomeSecurity: Intrusion/g) {\
fhem ("Nachricht senden....");;\
fhem ("set Garagentor.Notify inactive;; sleep 300;; set Garagentor.Notify active");;\
}\
}
Fehlermeldung:
2017.05.27 17:53:52 3: Garagentor.Notify return value: Unknown command {
, try help.
Usage: fhemdebug {enable|disable|status}
2017.05.27 17:54:03 3: Garagentor.Notify return value: Unknown command {
, try help.
Usage: fhemdebug {enable|disable|status}
2017.05.27 17:54:38 3: Garagentor.Notify return value: Unknown command {
, try help.
Usage: fhemdebug {enable|disable|status}
2017.05.27 17:54:49 3: Garagentor.Notify return value: Unknown command {
, try help.
Usage: fhemdebug {enable|disable|status}
Zitat von: pi-user am 27 Mai 2017, 16:47:19
Habt ihr ein Beispiel? Danke.
Na wenns denn sein muss ;)
1. ein dummy als Garagentor
defmod Garagentor dummy
attr Garagentor webCmd open:closed
2. das notify
defmod Garagentor_notify notify Garagentor:open {\
if($EVENT =~ /open/){\
fhem(\
"trigger global Nachricht Achtung Garagentor!;;"\
. "set $SELF inactive;;"\
. "sleep 5;;"\
. "set $SELF active;;"\
)\
}\
}
Da du "define" in deinem Code stehen hast gehe ich mal davon aus, dass du die config direkt bearbeitest. Davon ist abzuraten, da du dann, unter anderem, selbst wissen musst was alles maskiert werden muss. Besser du klickst in der Detail ansicht auf das Internal "DEF" oder für mein Beispiel unter dem device auf "Raw definition".
Das Beispiel habe ich getestet und es funktioniert. Du musst es nur an deine Forderungen anpassen.
Super, ich danke Dir. :)
define Garagentor.Notify DOIF ([Garagentor:alarm] =~ /open/) (set message "Nachricht Achtung Garagentor!")
attr Garagentor.Notify cmdpause 300
attr Garagentor.Notify do always
Hallo amenomade,
Deine Lösung hat super funktioniert. :) Vielen Dank.
Zitat von: pi-user am 27 Mai 2017, 16:47:19
Es hat mit event-min-interval nicht funktioniert. Ich habe event-min-interval auf 300 gesetzt.
300 alleine reicht auch nicht ... der richtige Syntax von event-min-interval ist <readingsanme>:300
Hallo roedert,
danke für den Tipp. :)