[Gelöst] Notify pausieren, aber nicht mit sleep

Begonnen von pi-user, 27 Mai 2017, 15:53:22

Vorheriges Thema - Nächstes Thema

pi-user

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. :)

KernSani

Du könntest ein event-min-interval von 185 Sekunden (oder so) beim Garagentor setzen.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

igami

Ich würde das notify so erweitern, dass es sich selbst auf inactive schaltet und nach 5 min  sleep wieder auf active schaltet
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

pi-user

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.

LuckyDay

event-min-interval auf 300

so funktioniert min-interval auch nicht,

ich würde auch igami's Vorschlag benützen

pi-user

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}

igami

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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

pi-user


amenomade

define Garagentor.Notify DOIF ([Garagentor:alarm] =~  /open/)      (set message "Nachricht Achtung Garagentor!")
attr Garagentor.Notify cmdpause 300
attr Garagentor.Notify do always
     
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pi-user

Hallo amenomade,

Deine Lösung hat super funktioniert.  :) Vielen Dank.

roedert

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

pi-user