Rauchmelder: Smokealarm triggert falsch

Begonnen von Michi240281, 10 August 2015, 20:52:39

Vorheriges Thema - Nächstes Thema

Michi240281

Hallo zusammen,

ich nutze einen HM Rauchmelder

a.) als Brandmelder
b.) als interne Sirene für die Alarmanlage

Ich habe wie im Wiki erklärt, ein Rauchmelder_Team angelegt. Mit folgendem notify soll normalerweise auf einen Smokealarm reagiert werden:


([Rauchmelder_Team:state] =~ ".*smoke-Alarm.*") (set Push msg "ACHTUNG" "!!!!!!!ES BRENNT!!!!!!!!" """)


Nur aus irgendwelchen Gründen reagiert das Notify auch, wenn die Alarmanlage auslöst. In so einem Fall nimmt das Reading

Rauchmelder_Team:state den Wert "alarmOn" an. Da kommt also nix mit "smoke-Alarm" vor.

Also immer, wenn die Alarmanlage auslöst, bekomme ich auch ne Pushnachricht, dass es brennt!

Sieht jmd den Fehler?

Besten Dank schon mal!!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

marvin78

Das sieht nicht nach einem notify aus. Ist das ein DOIF?

Michi240281

FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

marvin78

Dann bin ich raus. Aber ich könnte mir vorstellen, dass es mit den Anführungszeichen zu tun hat. Besser wäre aber, dass sich ein DOIF-Kenner zu Wort meldet. Ich nutze DOIF nicht.

Damian

#4
Zitat von: Michi240281 am 10 August 2015, 20:52:39
Hallo zusammen,

ich nutze einen HM Rauchmelder

a.) als Brandmelder
b.) als interne Sirene für die Alarmanlage

Ich habe wie im Wiki erklärt, ein Rauchmelder_Team angelegt. Mit folgendem notify soll normalerweise auf einen Smokealarm reagiert werden:


([Rauchmelder_Team:state] =~ ".*smoke-Alarm.*") (set Push msg "ACHTUNG" "!!!!!!!ES BRENNT!!!!!!!!" """)


Nur aus irgendwelchen Gründen reagiert das Notify auch, wenn die Alarmanlage auslöst. In so einem Fall nimmt das Reading

Rauchmelder_Team:state den Wert "alarmOn" an. Da kommt also nix mit "smoke-Alarm" vor.

Also immer, wenn die Alarmanlage auslöst, bekomme ich auch ne Pushnachricht, dass es brennt!

Sieht jmd den Fehler?

Besten Dank schon mal!!

Dann würde ich es mit Event-Auswertung umsetzen, wie beim notify, die Sternchen kannst du dir bei DOIF sparen, also:

([Rauchmelder_Team:?smoke-Alarm]) (set push ...)

oder auch

([Rauchmelder_Team:state] =~ "smoke-Alarm") (set Push...


.* "frist" dir alles weg und führt zu einer wahren Aussage. Das ist aber Perl-Wissen und weniger DOIF.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Michi240281

Vielen Dank Damian! Werde ich so testen!

Ich hatte das halt aus diesem notify übernommen:

define sd.nf.report notify sdTeam:.*smoke-Alarm.* {\
   <Mail versenden>;;
   fhem("set LichtTreppenhaus on");;
}\


Das stammt aus dem Wiki!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Damian

Zitat von: Michi240281 am 10 August 2015, 22:05:51
Vielen Dank Damian! Werde ich so testen!

Ich hatte das halt aus diesem notify übernommen:

define sd.nf.report notify sdTeam:.*smoke-Alarm.* {\
   <Mail versenden>;;
   fhem("set LichtTreppenhaus on");;
}\


Das stammt aus dem Wiki!

Ja beim notify setzt Rudi intern ein ^ für den Anfang und $ fürs Ende. Ich fand das eher ungünstig, weil die Leute dann immer mit .* arbeiten müssen. Daher reicht bei Eventabfragen in DOIF mit ? nur die eindeutige Zeichenkette. =~ ist dagegen Perl und würde mit .* am Anfang nie richtig funktionieren.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

timtom

Da ich die Abfrage ebenfalls nutzen möchte, hänge ich mich mal dran. Auch wenn es schon etwas her ist, jedoch hat sich ja DOIF auch weiterentwickelt.

Hier mal meine DOIF DEF Code, der bei einem Alarm mir eine Push-Nachricht über WhatsApp (yowsup) schicken soll

([Rauchmelder_TeamLead:state] =~ "smoke-Alarm")
  (set WhatsApp send 4917123456789 ALARM Rauchmelder aktiv)


Jetzt möchte ich aber auch wissen, welcher der Rauchmelder "angeschlagen" hat. Wenn ich das richtig verstaden habe, würde sowohl $DEVICE als auch $EVENT immer den Namen des TeamLead ausgeben. Regexp gibt es ja bei DOIF "nur" für Events, so dass ich für den state nicht über alle "_Rauchmelder" gehen kann.

Gibt es eine andere Möglichkeit, für den TeamLead das Reading "smoke_detect" in der Push-Message ausgeben zu lassen?

timtom

Ich Depp. So schwer war's glaub ich gar nicht. Jetzt muss ich nur noch gucken, wie ich die Rauchmelder testen kann ;) Dann hoffe ich, dass folgender Code funktioniert:

([Rauchmelder_TeamLead] =~ "smoke-Alarm")
  (set WhatsApp send 4917123456789 ALARM Rauchmelder [$DEVICE:smoke_detect] aktiv)

econ_sl83

Darf ich mal freundlich fragen: Funktioniert das so?

fast-eddy

ZitatDarf ich mal freundlich fragen: Funktioniert das so?
... würde mich auch interessieren!
Möchte ungern mit unnötigen Tests die Nachbarn erschrecken  ;)
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|