FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Phlox am 03 Februar 2015, 16:07:35

Titel: Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Phlox am 03 Februar 2015, 16:07:35
Hi,

ich habe es endlich geschafft mit sendEmail und gmx als Provider emails bei notify über das raspberry wheezy zu verschicken:

code in fhem.cfg:

define Bewegungsmeldung notify Flur.Bewegung:motion.* {\
DebianMail('empfänger@@gmx.net','Bewegung','Bewegung im Eingangsbereich:   '.localtime);;\
}


Leider werden bei motion immer 3 mails verschickt und das genau in 5sec Abstand. Gibt es da eine Möglichkeit diese notify Auslösung auf eine zu beschränken, und dann das ganze evtl. 30sec. sperren? Ich habe da mal was von short gelesen, ist das evtl. der richtige Weg. Aber ich kapier das mit short nicht so richtig.

Hier mein Log nach Auslösung des Ereignises motion:

2015.02.03 14:52:59 1: sendEmail Subject: Bewegung
2015.02.03 14:52:59 1: sendEmail Text: Bewegung im Eingangsbereich:   Tue Feb  3 14:52:59 2015
2015.02.03 14:53:04 1: sendEmail returned: Feb 03 14:53:04 rasp sendEmail[3978]: Email was sent successfully!
2015.02.03 14:53:04 1: sendEmail RCP: empfänger@gmx.net
2015.02.03 14:53:04 1: sendEmail Subject: Bewegung
2015.02.03 14:53:04 1: sendEmail Text: Bewegung im Eingangsbereich:   Tue Feb  3 14:53:04 2015
2015.02.03 14:53:09 1: sendEmail returned: Feb 03 14:53:09 rasp sendEmail[3982]: Email was sent successfully!
2015.02.03 14:53:09 1: sendEmail RCP: empfänger@gmx.net
2015.02.03 14:53:09 1: sendEmail Subject: Bewegung
2015.02.03 14:53:09 1: sendEmail Text: Bewegung im Eingangsbereich:   Tue Feb  3 14:53:09 2015
2015.02.03 14:53:13 1: sendEmail returned: Feb 03 14:53:13 rasp sendEmail[3986]: Email was sent successfully!
2015.02.03 15:39:23 1: sendEmail RCP: empfänger@gmx.net


Ähnliche Erfahrungen habe ich mit einem Schaltaktor. Löse ich den Einschaltvorgang über den Floorplan oder der fhem Webseite aus, erhalte ich nur eine email. Im Log steht dann auch nur eine notify Auslösung.
Schalte ich den Schaltaktor jedoch mit einer Fernbedienung ein, dann werden 10 und mehr emails verschickt, bzw. notifys ausgelöst. Je länger ich auf den Fernbedienungsknopf drücke, desto mehr werden verschickt.

Ich brauche also irgend einen Code, der nach dem Auslösen des notify ein weiteres Auslösen für eine gewisse Zeit (30sec.) verhindert oder unterdrückt. Kann mir da jemand helfen?

Danke
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: stromer-12 am 03 Februar 2015, 16:12:52
Dann schau mal in deinen EventMonitor, wieviele Events mit motion bei einer Bewegung erzeugt werden und setze dein notify entsprechend.
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: nesges am 03 Februar 2015, 16:15:36
Dein Problem ist wahrscheinlich weniger die Mail, als das mehrfache Auslösen von motion-Events durch Flur.Bewegung. Sieh dir mal die Ausgabe des Event-Monitors beim Auslösen an und lies dir "event-on-change-readings" unter http://fhem.de/commandref_DE.html#readingFnAttributes durch.
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Phlox am 03 Februar 2015, 16:25:03
Mein EventMonitor sieht so aus:

2015-02-03 16:20:15 CUL_HM Flur.Bewegung trigDst_26ECE4: noConfig
2015-02-03 16:20:15 CUL_HM Flur.Bewegung motion
2015-02-03 16:20:15 CUL_HM Flur.Bewegung motion: on (to HMLAN1)
2015-02-03 16:20:15 CUL_HMFlur.Bewegung motionCount: 12_next:116s
2015-02-03 16:20:15 CUL_HM Flur.Bewegung brightness: 254

Also wird hier das ganze doch nur einmal ausgelöst, oder?

Ich les mir das mit event-on-change-readings mal durch. Wenn ich das nicht kapier, dann rühr ich mich nochmal, ok?
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: marvin78 am 03 Februar 2015, 16:29:17
Du siehst 3 Events, die mit motion beginnen, also löst dein Regex mit motion.* auch 3 mal aus. Du musst das mit event-on-(change|update)-reading einschränken oder korrekt auf das Event reagieren. Alles dazu steht in der commandref.

attr Flur.Bewegung event-on-update-reading motion,brightness

oder ähnliches.
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Markus am 03 Februar 2015, 16:30:12
Ich hab das so gelöst also im besten Fall nur alle 15 minuten eine Nachricht

define Batterie_wird_Lehr notify USV_Batterie:off { \
if (Value("USV_2000_Batterie") eq "off" && Value{"batterie_petze"} ne "nein" ) \
{fhem "set batterie_petze nein ;; delete batterie_petzen ;; define batterie_petzen at +00:15:00 set batterie_petze ja" }\
{NMA_send("USV ","Accu Ladung beträgt unter 20 Prozent",5,"Markus")} \
}



aber das müsste auch gehen

define Bewegungsmeldung notify Flur.Bewegung:motion {\
DebianMail('empfänger@@gmx.net','Bewegung','Bewegung im Eingangsbereich:   '.localtime);;\
}

Gruss Markus
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: nesges am 03 Februar 2015, 16:31:47
Zitat von: marvin78 am 03 Februar 2015, 16:29:17
korrekt auf das Event reagieren

This! :-) motion.* ist in dem Fall zu diffus
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Damian am 03 Februar 2015, 16:36:44
Zitat von: Markus am 03 Februar 2015, 16:30:12
Ich hab das so gelöst also im besten Fall nur alle 15 minuten eine Nachricht

define Batterie_wird_Lehr notify USV_Batterie:off { \
if (Value("USV_2000_Batterie") eq "off" && Value{"batterie_petze"} ne "nein" ) \
{fhem "set batterie_petze nein ;; delete batterie_petzen ;; define batterie_petzen at +00:15:00 set batterie_petze ja" }\
{NMA_send("USV ","Accu Ladung beträgt unter 20 Prozent",5,"Markus")} \
}


Gruss Markus

oder einfach:

define di_motion DOIF ([Flur.Bewegung:?motion])({DebianMail...})
attr di_motion do always
attr di_motion cmdpause 900



Gruß

Damian
Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Phlox am 03 Februar 2015, 18:22:05
Ich habe jetzt mal ein wenig um das "event-on-update-reading" oder "event-on-change-reading" im Internet rumgelesen. Dann müsste ja eigentlich für den Bewegungsmelder das attr "event-on-update-reading" sinnvoll erscheinen, da ja der Status motion bestehen bleibt und sich nur updatet.

Ich probierte mal

attr Flur.Bewegung event-on-update-reading motion

mal

attr Flur.Bewegung event-on-change-reading motion

und auch mal beides zusammen

attr Flur.Bewegung event-on-update-reading motion
attr Flur.Bewegung event-on-change-reading motion

aus.

Doch sobald ich diese Änderungen vorgenommen habe, erhalte weder ein notify noch ne email.

Jetzt probier ich mal die anderen Sachen wie bei Batterie oben angegeben aus....


Titel: Antw:Homematic Bewegungsmelder löst immer dreimal notify aus
Beitrag von: Phlox am 03 Februar 2015, 20:18:38
Problem gelöst.

Es war der .* nach motion. Ich weiß nicht welcher Teufel mich da geritten hat. Wenn man diese 2 Zeichen weglässt dann funktioniert#s mit eben nur diesen einer Benachrichtigungsmail.

Der richtige Code lautet also:


define Bewegungsmeldung notify Flur.Bewegung:motion {\
DebianMail('empfänger@@gmx.net','Bewegung','Bewegung im Eingangsbereich:   '.localtime);;\
}

Ich danke allen für eure Hilfe. der entscheidende Hinweis war von nesges.  Danke

Kann geschlossen werden...und ich kann endlich wieder schlafen-man hat mich das gewurmt