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!!
Das sieht nicht nach einem notify aus. Ist das ein DOIF?
Ah sorry, jepp ist ein DOIF!
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.
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
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!
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
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?
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)
Darf ich mal freundlich fragen: Funktioniert das so?
ZitatDarf ich mal freundlich fragen: Funktioniert das so?
... würde mich auch interessieren!
Möchte ungern mit unnötigen Tests die Nachbarn erschrecken ;)