FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pi-user am 27 Mai 2017, 15:53:22

Titel: [Gelöst] Notify pausieren, aber nicht mit sleep
Beitrag von: pi-user am 27 Mai 2017, 15:53:22
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. :)
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: KernSani am 27 Mai 2017, 16:29:33
Du könntest ein event-min-interval von 185 Sekunden (oder so) beim Garagentor setzen.
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: igami am 27 Mai 2017, 16:39:59
Ich würde das notify so erweitern, dass es sich selbst auf inactive schaltet und nach 5 min  sleep wieder auf active schaltet
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag 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. 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.
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: LuckyDay am 27 Mai 2017, 16:56:27
event-min-interval auf 300

so funktioniert min-interval auch nicht,

ich würde auch igami's Vorschlag benützen
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: pi-user am 27 Mai 2017, 17:57:52
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}
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: igami am 27 Mai 2017, 18:05:20
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.
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: pi-user am 27 Mai 2017, 20:21:19
Super, ich danke Dir. :)
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: amenomade am 27 Mai 2017, 20:28:00
define Garagentor.Notify DOIF ([Garagentor:alarm] =~  /open/)      (set message "Nachricht Achtung Garagentor!")
attr Garagentor.Notify cmdpause 300
attr Garagentor.Notify do always
     
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: pi-user am 28 Mai 2017, 15:04:09
Hallo amenomade,

Deine Lösung hat super funktioniert.  :) Vielen Dank.
Titel: Antw:Notify pausieren, aber nicht mit sleep
Beitrag von: roedert am 28 Mai 2017, 18:41:35
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
Titel: Antw:[Gelöst] Notify pausieren, aber nicht mit sleep
Beitrag von: pi-user am 29 Mai 2017, 09:32:03
Hallo roedert,

danke für den Tipp. :)