FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Michi240281 am 10 August 2015, 20:52:39

Titel: Rauchmelder: Smokealarm triggert falsch
Beitrag 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!!
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: marvin78 am 10 August 2015, 20:56:54
Das sieht nicht nach einem notify aus. Ist das ein DOIF?
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: Michi240281 am 10 August 2015, 21:02:51
Ah sorry, jepp ist ein DOIF!
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: marvin78 am 10 August 2015, 21:04:56
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.
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: Damian am 10 August 2015, 21:47:16
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
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag 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!
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: Damian am 10 August 2015, 22:12:41
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
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: timtom am 31 März 2016, 22:59:11
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?
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: timtom am 01 April 2016, 17:42:35
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)
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: econ_sl83 am 18 Juli 2016, 22:04:26
Darf ich mal freundlich fragen: Funktioniert das so?
Titel: Antw:Rauchmelder: Smokealarm triggert falsch
Beitrag von: fast-eddy am 19 Juli 2016, 14:40:06
ZitatDarf ich mal freundlich fragen: Funktioniert das so?
... würde mich auch interessieren!
Möchte ungern mit unnötigen Tests die Nachbarn erschrecken  ;)