Identifizierung von Rauchmelder für Mailversand / notify

Begonnen von tfrerichs, 23 Juli 2016, 19:25:10

Vorheriges Thema - Nächstes Thema

tfrerichs

Moin,
nachdem ich meine 3 HM-SEC-SD Rauchmelder vernetzt habe, wollte ich natürlich auch noch eine Mail versenden, wenn ein Melder Alarm schlägt. In der Mail sollte dieser Rauchmelder indentifiziert sein.

Dazu habe ich in der fhem.cfg folgendes eingetragen:

define n_Rauchmelder notify .*SD_.*:smoke.* {\
my $alarm = ReadingsVal("SD.TeamLeader","smoke_detect","");; \
{DebianMail('mailadresse@web.de','Rauchmelder Alarm',"Rauchmelder ".$alarm." hat ausgeloest!")};; \
fhem("set Ausloeser_Panikalarm on-for-timer 5;; \
set EG_Alle_Rollladen AUF")\
}


Diese Notify soll eine

    EINE(!!!) Mail schicken wenn ein Rauchmelder auslöst. In der Mail soll der Rauchmelder indentifiziert sein.
    [/li]

  • den Panikalarm EINMAL aktiv schalten

  • einmal ein Kommando zum Öffnen der Rollläden an jeden Rollladen schicken

Zum Testen srühe ich dann einen Rauchmelder mit Testspray an und der rappelt los. Die anderen beiden Melder rappeln kurze Zeit später ebenfalls los. Mein "Panikalarm" wird eingeschaltet (der macht im Haus das Licht an) und die Rolläden öffnen sich ebenfalls.
Soweit alles gut, aber ...

dann bekomme ich haufenweise Mails mit Alarmmeldung.
Die ersten Mails enthalten auch den korrekten Rauchmelder (ca 5 Mails), dann folgen auch Mails mit den anderen Rauchmeldern.

Beispiel für 2 "inhaltlich korrekte Mails"

2016.07.23 18:55:45 1: sendEmail RCP: mailadresse@web.de
2016.07.23 18:55:45 1: sendEmail Subject: Rauchmelder Alarm
2016.07.23 18:55:45 1: sendEmail Text: Rauchmelder SD_EG hat ausgeloest!
2016.07.23 18:55:45 1: sendEmail Anhang:
2016.07.23 18:55:47 1: sendEmail returned: Jul 23 18:55:47 raspberrypi sendEmail[11411]: Email was sent successfully!
2016.07.23 18:55:47 3: CUL_HM set Ausloeser_Panikalarm on-for-timer 5
2016.07.23 18:55:47 3: CUL_HM set Roll_Eckfenster_Links on
2016.07.23 18:55:47 3: CUL_HM set Roll_Eckfenster_Rechts on
2016.07.23 18:55:47 3: CUL_HM set Roll_Buero on
2016.07.23 18:55:47 3: CUL_HM set Roll_HWR on
2016.07.23 18:55:47 3: CUL_HM set Roll_WC on
2016.07.23 18:55:48 3: CUL_HM set Roll_Flur on
2016.07.23 18:55:48 3: CUL_HM set Roll_Kueche on
2016.07.23 18:55:48 3: CUL_HM set Roll_Spuele on
2016.07.23 18:55:48 3: CUL_HM set Roll_Terrasse on
2016.07.23 18:55:48 1: sendEmail RCP: mailadresse@web.de
2016.07.23 18:55:48 1: sendEmail Subject: Rauchmelder Alarm
2016.07.23 18:55:48 1: sendEmail Text: Rauchmelder SD_EG hat ausgeloest!
2016.07.23 18:55:48 1: sendEmail Anhang:
2016.07.23 18:55:50 1: sendEmail returned: Jul 23 18:55:50 raspberrypi sendEmail[11415]: Email was sent successfully!
2016.07.23 18:55:50 3: CUL_HM set Ausloeser_Panikalarm on-for-timer 5
2016.07.23 18:55:50 3: CUL_HM set Roll_Eckfenster_Links on
2016.07.23 18:55:50 3: CUL_HM set Roll_Eckfenster_Rechts on
2016.07.23 18:55:50 3: CUL_HM set Roll_Buero on
2016.07.23 18:55:50 3: CUL_HM set Roll_HWR on
2016.07.23 18:55:50 3: CUL_HM set Roll_WC on
2016.07.23 18:55:50 3: CUL_HM set Roll_Flur on
2016.07.23 18:55:50 3: CUL_HM set Roll_Kueche on
2016.07.23 18:55:50 3: CUL_HM set Roll_Spuele on
2016.07.23 18:55:50 3: CUL_HM set Roll_Terrasse on



Beispiel für Mail mit Rauchmelder der keinen Rauch detektiert hat, aber natürlich trotzdem losrappelt:

2016.07.23 18:55:55 1: sendEmail RCP: mailadresse@web.de
2016.07.23 18:55:55 1: sendEmail Subject: Rauchmelder Alarm
2016.07.23 18:55:55 1: sendEmail Text: Rauchmelder SD_EG hat ausgeloest!
2016.07.23 18:55:55 1: sendEmail Anhang:
2016.07.23 18:55:57 1: sendEmail returned: Jul 23 18:55:57 raspberrypi sendEmail[11427]: Email was sent successfully!
2016.07.23 18:55:57 3: CUL_HM set Ausloeser_Panikalarm on-for-timer 5
2016.07.23 18:55:57 3: CUL_HM set Roll_Eckfenster_Links on
2016.07.23 18:55:57 3: CUL_HM set Roll_Eckfenster_Rechts on
2016.07.23 18:55:57 3: CUL_HM set Roll_Buero on
2016.07.23 18:55:57 3: CUL_HM set Roll_HWR on
2016.07.23 18:55:57 3: CUL_HM set Roll_WC on
2016.07.23 18:55:57 3: CUL_HM set Roll_Flur on
2016.07.23 18:55:57 3: CUL_HM set Roll_Kueche on
2016.07.23 18:55:58 3: CUL_HM set Roll_Spuele on
2016.07.23 18:55:58 3: CUL_HM set Roll_Terrasse on
2016.07.23 18:56:05 3: CUL_HM Roll_Flur repeat, level 00 instead of C8
2016.07.23 18:56:15 3: CUL_HM Roll_WC repeat, level 00 instead of C8
2016.07.23 18:56:18 3: CUL_HM set SD.TeamLeader alarmOff


Manchmal steht in der der Mail für den Rauchmelder auch "none" ...
Wenn ich über "set SD.TeamLeader alarmOn" testweise auslöse, steht in der Mail im der name des virtuellen(!!!) Teamleaders.

Warum wird das notify immer wieder ausgeführt?
Oder müsste ich das irgendwie "verriegeln"?

Vielen Dank für etwas Hilfe!

automatisierer

Das Notify wird immer wieder ausgeführt, weil offensichtlich mehrere Events auftauchen die zu deiner Regex '.*SD_.*:smoke.*'passen. Wenn das nicht sein soll, musst du die Regex so anpassen, dass sie nur auf ein Event passt, welches bei einem Feueralarm nur einmal vor kommt.

CoolTux


Internals:
   CFGFN
   DEF        (RauchmelderKueche|RauchmelderTeam):smoke_detect:.Rauchmelder.* set pushmsg msg 'RAUCHALARM' '$EVTPART1 meldet Rauchalarm' '' 1 ''
   NAME       notifySmokeDetect
   NR         454
   NTFY_ORDER 50-notifySmokeDetect
   REGEXP     (RauchmelderKueche|RauchmelderTeam):smoke_detect:.Rauchmelder.*
   STATE      active
   TYPE       notify
   Readings:
     2016-07-21 15:05:05   state           active
Attributes:
   alias      Rauchmeldung
   group      Notify
   room       BMZ


Wie Du sehen kannst Trigger ich einfach nur die jeweiligen Teamleader.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Zitat von: CoolTux am 24 Juli 2016, 08:03:16
(RauchmelderKueche|RauchmelderTeam)
Wie Du sehen kannst Trigger ich einfach nur die jeweiligen Teamleader.
Aber Du triggerst doch Kueche und Teamleader?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

Ja. Weil er für sich selbst Teamleader ist.
Ein Rauchmelder in der Küche ist schon ein Wagnes an sich, diesen aber dann noch in ein 7 Köpfiges Team mit ein zu binden ist schlicht ein Scheidungsgrund. Daher piept der in der Küche für sich alleine. Als Teamleader und Teammitglied.

;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tfrerichs

Dann versteh ich nicht so ganz, wie bei mir das notify dann aussehen müsste.
Vielleicht so?

define n_Rauchmelder notify .*SD.TeamLeader.*:smoke.* {\
my $alarm = ReadingsVal("SD.TeamLeader","smoke_detect","");; \
{DebianMail('mailadresse@web.de','Rauchmelder Alarm',"Rauchmelder ".$alarm." hat ausgeloest!")};; \
fhem("set Ausloeser_Panikalarm on-for-timer 5;; \
set EG_Alle_Rollladen AUF")\
}

oder so:

define n_Rauchmelder notify SD.TeamLeader:smoke_detect:.SD_.* {\ ...


Kann ich so ein notify "sicher" mit set SD:TeamLeader alarmOn testweise trtiggern?

Wo ist denn der Unterschied zwischen "smoke" und "smoke_detect"?

CoolTux

Da mein Rauchmelderexcurs schon ne Weile her ist und ich nicht zu Hause kann ich Dir nicht sagen wo da jetzt der Unterschied ist.

Alles andere ist testen. Probiere es aus. Ich habe mir damals eine Zigarette von einer meiner Freundin gemopst und damit getestet. Ware am Husten was kreppiert (Nichtraucher halt)
Im Wiki steht noch ein schönes Beispiel wie man das ganze Team stumm bekommt wenn man nur bei einem Rauchmelder die Meldung quitiert. Also direkt am Rauchmelder.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tfrerichs

#7
Das Quittieren eine Alarms an nur einem Rauchmelder habe ich eingebaut und getestet. Hat aber nur teilweise funktioniert:

https://forum.fhem.de/index.php/topic,55837.msg475484.html#msg475484

Hast Du das Quittieren des Alarms getestet ... von einem Rauchmelder der nur gemeldet, aber keinen Rauch gesehen hat?
Ich konnte den Alarm für das ganze Team nur an dem Rauchmelder quittieren, der tatsächlich den Rauch gesehen hat und nicht an den anderen Rauchmeldern im Team.


CoolTux

Kann ich so genau gar nicht mehr sagen. Müsste ich die Tage mal testen wenn ich alleine bin.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tfrerichs

Sicherheitshalber habe ich jetzt noch Folgendes gebaut:

define RAUCHALARM_AUS dummy
attr RAUCHALARM_AUS devStateIcon aktiv:secur_smoke_detector@green:inaktiv inaktiv:secur_smoke_detector@grey:aktiv
attr RAUCHALARM_AUS group Schalter_Alarm
attr RAUCHALARM_AUS room Parameter
attr RAUCHALARM_AUS setList state:aktiv,inaktiv

define mynot1 notify RAUCHALARM_AUS.aktiv {Log( 1, "RAUCHALARM_AUS aktiv");; fhem("sleep 0.5;; set RAUCHALARM_AUS inaktiv;; set SD.TeamLeader alarmOff");; Log( 1, "RAUCHALARM_AUS inaktiv")}


Das sollte den SD.TeamLeader einmal mit alarmOff triggern und somit alle Rauchmelder im Team abschalten.
Ich werde das später mal testen ... mit Rauchspray.

Hoffentlich habe ich bei einem Fehlalarm schnell genug ein Tablet oder das Handy zur Hand ...   ::) Schon unglaublich was man alles baut, weil man Angst vor Fehlalarmen der HM-SEC-SDs hat, obwohl ich noch keinen hatte bisher.

Otto123

Einen davon an die Wand. Den HM-PBI-4-FM dran und Toggle  machen.
Also für Alarm an und Alarm aus  8)

Viel Erfolg beim Testen.

Scherzhafte und tropische Grüße
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

automatisierer

guckst du hier...
https://forum.fhem.de/index.php/topic,35298.msg475731.html#msg475731
geht sich ja quasi ums Gleiche...
... hab da mal ein wenig aus der Bed.-Anleitung zitiert...