Feueralarm erkennen

Begonnen von kossmann, 29 Januar 2013, 12:46:52

Vorheriges Thema - Nächstes Thema

kossmann

Für HomeMatic nutze ich den HMLAN, für Intertechno das CUL.

Die Loglevel sind seit heute früh sowieso so hoch eingestellt, alle 30 Sekunden bekomme ich im Logfile jedoch ...

2013.01.30 10:16:40.512 1: HMLAN_Send:  K
2013.01.30 10:16:40.516 1: HMLAN/RAW: /HHM-LAN-IF,03C1,JEQ0185873,1ACAC0,<hmId>,224CE694,0001

2013.01.30 10:16:40.516 1: HMLAN_Parse: MyHMLAN V:03C1 sNo:JEQ0185873 d:1ACAC0 O:<hmId> m:224CE694 IDcnt:0001

... wobei der Wert hinter m: sich immer ändert. Das macht mein globales Logfile etwas voll und unübersichtlich. Ob die Seriennummer JEQ0185873 mein HMLAN ist, weiß ich momentan nicht (ein Aktor oder Sensor ist es jedoch nicht), die hmId ist meine eigene. Die Leerzeile wundert mich auch etwas.

=> Hat hier zufällig jemand eine Idee, was das ist, ist das sogar normal oder soll ich einen eigenen Thread öffnen?

=> Hast du auf die Schnelle noch eine Idee, warum mein Notify gestern nicht "angesprungen" ist? Wenn ich schon Alarm in der Bude habe, würde ich dies auch gerne testen.

Martin Thomas Schrott

Hi!

also bei der Antwort muss dir Martin helfen, ich weiß nicht was die Meldungen bedeuten.

Leerzeile seh ich hier keine, wenn du diese meinst:
2013.01.30 10:16:40.512 1: HMLAN_Send:  K

Das ist das keep alive das an den hmnlan gesendet wird, damit er sich nicht reconnected/runterfährt.

Das notify sollte doch gehen, wie wir es besprochen hatten.
Ich geb dir mal meines, das geht auf jeden Fall:
define mail_on_smoke notify .*Rauchmelder.*:.*smoke_detect:.* ...

Mit diesem fängst du garantiert alles ab, was hier wichtig ist. Einfach genügend Platzhalter nutzen, dann können Leerzeichen und Sonderzeichen auch keine Probleme bereiten den Ausdruck zu erkennen.;-) Aber reguläre Ausdrücke sind in der Tat oft schwierig, wenn man nicht jeden Tag damit arbeitet.

lG
Martin

kossmann

Mit Leerzeile meinte ich die Zeile die oben im Code auch wirklich leer ist, dies ist kein Copy&Paste-Fehler, also die Zeile zwischen HMLAN/RAW und HMLAN_Parse.

Braucht das HMLAN wirklich alle 30 Sekunden ein KeepAlive? In diesem Fall wären die Zeilen (bis auf die Leerzeile) klar.

Ich habe mein Notify nun auf ".*Rauchmelder.*smoke_detect.*on.*" geändert, mal gucken, was nachher beim Testen passiert.

kossmann

Sooo... der nächste Test ist hoffentlich aufschlussreicher. Der Ablauf war ungefähr (!) wie folgt (die Zeiten sind nicht mit den Logfiles abgeglichen):

18:35 - Kammer (Master), Batterien raus
18:36 - Flur (Slave), Alarm provoziert
18:38 - Wohnzimmer (Slave), Alarm manuell deaktiviert (Licht blieb an, Piepsen aus, Flur weiterhin Alarm)
18:39 - Flur (Slave), Alarm manuell deaktiviert (alles ging aus)
18:39 - Flur (Slave), Fehlalarm (vermutlich wegen verbliebenem Rauch im Inneren, stand mit dem "Dach" nach oben auf dem Tisch)
18:50 - Kammer (Master), Batterien rein
19:09 - Flur (Slave), Alarm provoziert
19:10 - Kammer (Master), Alarm manuell deaktiviert (Licht blieb an, Piepsen aus, Flur und Wohnzimmer weiterhin Alarm)
19:11 - Flur (Slave), Alarm manuell deaktiviert (alles ging aus)

Das Verhalten der Rauchmelder bei manueller Deaktivierung war also so, wie in der Bedienungsanleitung beschrieben - der Alarm kann nur am auslösenden Melder komplett deaktiviert werden.

Hier die Logfiles:

--- Kammer_Rauchmelder.log ---
2013-01-30_18:35:43 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_18:35:43 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_18:35:43 Kammer_Rauchmelder RSSI: -62
2013-01-30_18:35:43 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2415DA81,FF,FFC2,6694411C2FCE1C2FB60108C8
2013-01-30_18:35:44 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_18:35:44 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_18:35:44 Kammer_Rauchmelder RSSI: -62
2013-01-30_18:35:44 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2415DE1D,FF,FFC2,6794411C2FCE1C2FB60108C8
2013-01-30_18:35:45 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_18:35:45 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_18:35:45 Kammer_Rauchmelder RSSI: -63
2013-01-30_18:35:45 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2415E1B8,FF,FFC1,6894411C2FCE1C2FB60108C8
2013-01-30_18:36:27 Kammer_Rauchmelder Activity:alive
2013-01-30_18:37:07 Kammer_Rauchmelder on:from:Wohnzimmer_Rauchmelder
2013-01-30_18:37:07 Kammer_Rauchmelder smoke_detect: on Wohnzimmer_Rauchmelder
2013-01-30_18:37:07 Kammer_Rauchmelder RSSI: -61
2013-01-30_18:37:07 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2417231B,FF,FFC3,2494411C2FCE1C29220102C7
2013-01-30_18:37:08 Kammer_Rauchmelder on:from:Wohnzimmer_Rauchmelder
2013-01-30_18:37:08 Kammer_Rauchmelder smoke_detect: on Wohnzimmer_Rauchmelder
2013-01-30_18:37:08 Kammer_Rauchmelder RSSI: -63
2013-01-30_18:37:08 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,241726BB,FF,FFC1,2594411C2FCE1C29220102C7
2013-01-30_18:37:09 Kammer_Rauchmelder on:from:Wohnzimmer_Rauchmelder
2013-01-30_18:37:09 Kammer_Rauchmelder smoke_detect: on Wohnzimmer_Rauchmelder
2013-01-30_18:37:09 Kammer_Rauchmelder RSSI: -63
2013-01-30_18:37:09 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,24172A5B,FF,FFC1,2694411C2FCE1C29220102C7
2013-01-30_18:37:40 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_18:37:40 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_18:37:40 Kammer_Rauchmelder RSSI: -69
2013-01-30_18:37:40 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2417A309,FF,FFBB,6994411C2FCE1C2FB6010901
2013-01-30_18:37:41 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_18:37:41 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_18:37:41 Kammer_Rauchmelder RSSI: -65
2013-01-30_18:37:41 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2417A6A3,FF,FFBF,6A94411C2FCE1C2FB6010901
2013-01-30_18:37:42 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_18:37:42 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_18:37:42 Kammer_Rauchmelder RSSI: -63
2013-01-30_18:37:42 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2417AA3D,FF,FFC1,6B94411C2FCE1C2FB6010901
2013-01-30_18:49:13 Kammer_Rauchmelder battery: ok
2013-01-30_18:49:13 Kammer_Rauchmelder alive
2013-01-30_18:49:13 Kammer_Rauchmelder RSSI: -64
2013-01-30_18:49:13 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,24223727,FF,FFC0,00A4101C2FCE20331706010000
2013-01-30_19:08:31 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_19:08:31 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_19:08:31 Kammer_Rauchmelder RSSI: -67
2013-01-30_19:08:31 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2433E4AE,FF,FFBD,6C94411C2FCE1C2FB6010AC8
2013-01-30_19:08:32 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_19:08:32 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_19:08:32 Kammer_Rauchmelder RSSI: -63
2013-01-30_19:08:32 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2433E847,FF,FFC1,6D94411C2FCE1C2FB6010AC8
2013-01-30_19:08:33 Kammer_Rauchmelder on:from:Flur_Rauchmelder
2013-01-30_19:08:33 Kammer_Rauchmelder smoke_detect: on Flur_Rauchmelder
2013-01-30_19:08:33 Kammer_Rauchmelder RSSI: -74
2013-01-30_19:08:33 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2433EBE2,FF,FFB6,6E94411C2FCE1C2FB6010AC8
2013-01-30_19:09:41 Kammer_Rauchmelder on:from:Kammer_Rauchmelder
2013-01-30_19:09:41 Kammer_Rauchmelder smoke_detect: on Kammer_Rauchmelder
2013-01-30_19:09:41 Kammer_Rauchmelder RSSI: -71
2013-01-30_19:09:41 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2434F465,FF,FFB9,E194411C2FCE1C2FCE0101C7
2013-01-30_19:09:42 Kammer_Rauchmelder on:from:Kammer_Rauchmelder
2013-01-30_19:09:42 Kammer_Rauchmelder smoke_detect: on Kammer_Rauchmelder
2013-01-30_19:09:42 Kammer_Rauchmelder RSSI: -62
2013-01-30_19:09:42 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2434F7FF,FF,FFC2,E294411C2FCE1C2FCE0101C7
2013-01-30_19:09:43 Kammer_Rauchmelder on:from:Kammer_Rauchmelder
2013-01-30_19:09:43 Kammer_Rauchmelder smoke_detect: on Kammer_Rauchmelder
2013-01-30_19:09:43 Kammer_Rauchmelder RSSI: -63
2013-01-30_19:09:43 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,2434FB98,FF,FFC1,E394411C2FCE1C2FCE0101C7
2013-01-30_19:10:20 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_19:10:20 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_19:10:20 Kammer_Rauchmelder RSSI: -70
2013-01-30_19:10:20 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,24358D56,FF,FFBA,6F94411C2FCE1C2FB6010B01
2013-01-30_19:10:21 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_19:10:21 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_19:10:21 Kammer_Rauchmelder RSSI: -66
2013-01-30_19:10:21 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,243590EF,FF,FFBE,6094411C2FCE1C2FB6010B01
2013-01-30_19:10:22 Kammer_Rauchmelder all-clear:from:Flur_Rauchmelder
2013-01-30_19:10:22 Kammer_Rauchmelder smoke_detect: all-clear Flur_Rauchmelder
2013-01-30_19:10:22 Kammer_Rauchmelder RSSI: -73
2013-01-30_19:10:22 Kammer_Rauchmelder RAWMSG: E1C2FCE,0000,24359489,FF,FFB7,6194411C2FCE1C2FB6010B01

--- fhem.log [bereinigt] ---
2013.01.30 18:35:43.342 1: RCV L:0C N:66 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 0108C8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:8 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 18:35:44.265 1: RCV L:0C N:67 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 0108C8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:8 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 18:35:45.187 1: RCV L:0C N:68 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 0108C8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:8 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 18:37:07.452 1: RCV L:0C N:24 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Wohnzimmer_Rauchmelder 0102C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:2 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 18:37:08.379 1: RCV L:0C N:25 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Wohnzimmer_Rauchmelder 0102C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:2 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 18:37:09.306 1: RCV L:0C N:26 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Wohnzimmer_Rauchmelder 0102C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:2 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 18:37:40.197 1: RCV L:0C N:69 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010901 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:9 NEXT:1) (,CFG,BURST,RPTEN)
2013.01.30 18:37:41.118 1: RCV L:0C N:6A F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010901 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:9 NEXT:1) (,CFG,BURST,RPTEN)
2013.01.30 18:37:42.041 1: RCV L:0C N:6B F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010901 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:9 NEXT:1) (,CFG,BURST,RPTEN)
2013.01.30 18:49:13.381 1: RCV L:0D N:00 F:A4 CMD:10 SRC:Kammer_Rauchmelder DST:203317 06010000 (INFO_ACTUATOR_STATUS) (,CFG,BIDI,RPTEN)
2013.01.30 18:49:13.388 1: SND L:0A N:00 F:80 CMD:02 SRC:203317 DST:Kammer_Rauchmelder 00 (ACK) (,RPTEN)
2013.01.30 19:08:31.760 1: RCV L:0C N:6C F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010AC8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:10 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 19:08:32.681 1: RCV L:0C N:6D F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010AC8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:10 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 19:08:33.603 1: RCV L:0C N:6E F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010AC8 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:10 NEXT:200) (,CFG,BURST,RPTEN)
2013.01.30 19:09:41.309 1: RCV L:0C N:E1 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Kammer_Rauchmelder 0101C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:1 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 19:09:42.231 1: RCV L:0C N:E2 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Kammer_Rauchmelder 0101C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:1 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 19:09:43.152 1: RCV L:0C N:E3 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Kammer_Rauchmelder 0101C7 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:1 NEXT:199) (,CFG,BURST,RPTEN)
2013.01.30 19:10:20.457 1: RCV L:0C N:6F F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010B01 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:11 NEXT:1) (,CFG,BURST,RPTEN)
2013.01.30 19:10:21.378 1: RCV L:0C N:60 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010B01 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:11 NEXT:1) (,CFG,BURST,RPTEN)
2013.01.30 19:10:22.300 1: RCV L:0C N:61 F:94 CMD:41 SRC:Kammer_Rauchmelder DST:Flur_Rauchmelder 010B01 (Sensor_event BUTTON:1 LONG:0 LOWBAT:0 VALUE:11 NEXT:1) (,CFG,BURST,RPTEN)


Das Notify ist übrigens wieder nicht "angesprungen" :-(

Martin Thomas Schrott

danke. Scheint meine theorie und tests zu bestätigen. Denke damit sollte martin arbeiten können. Ich frag mich ob wohl beim zweiten test der dritte melder sich auch noch gemeldet hätte.
Ist jetzt eigentlich irgend einer auf alarm on hängen geblieben?
Wenn dein notify wieder nicht ging muss der fehler im zweiten teil sein.
Lg martin

martinp876

Hallo,

ich habe etwas nachgearbeitet - hoffentlich korrekt.

Was m.E. gefehlt hat ist, dass die Liste der Melder verwaltet wird, bei MehrfachAlarmen.

1) da Rauchmeldungen zwar wichtig sind aber keinen "Empfänger" haben werden die Meldungen von HM immer 3mal gesendet - um sicher(er) zu gehen. Dies ist unabhängig von der Anzahl der Teammitglieder - und auch vom Master - immer 3 mal.
2) Jeder Melder kann einen Alarm auslösen - und dies kann gleichzeitig passieren. Daher muss in FHEM eine Liste verwaltet werden, welche Alarme anstehen. Das hat bis vor einer Stunde gefehlt :-(
3) der Master muss kein reales Device sein - man kann einen virtuellen Aktor dafür hernehmen. Das macht keinen Unterschied - aber die Darstellung ist etwas übersichtlicher. Man muss ja nicht... Geschmacksache
4) den Auslöser konnte man immer im 'from' sehen. Da aber nur ein Alarm verwaltet wurde ist beim ersten Löschen alles auf 'clear' gesetzt worden
5) ich kann zwar nicht sehen, wer die Meldungen schickt - oder wiederholt. Es sieht aber danach aus, dass immer nur ein Melder sendet - und es ist nicht der Master sondern der Auslösende
6) die 3-fach meldung des Events habe ich beim Auslöser unterdrückt - kommt nur einmal. Beim Master habe ich dies nicht - wegen der Wichtigkeit (auch wenn die Meldung trippel ist). Der User kann hier ein event-on-change definieren wenn er will.


Ich habe daher das Handling überarbeitet:
Jeder Alarm wird bei seinem Auslöser angezeigt mit 'off' oder 'smoke-Alarm' in "state"
der TeamLeader zeigt einen Alarm an solange noch ein Alarm eines Team-Mitglieds ansteht. Also wie bei einem Gruppenmitglied 'off' oder 'smoke-Alarm' - nur der Trigger ist anders
Auserdem zeigt der Leiter
smoke_detect:none" für keinen Alarm oder
smoke_detect:Melder1," für einen Alarm
smoke_detect:Melder1,Melder2," für zwei Alarme
an.

Die Zustaende werden nur durch Meldungen der devices geaendert. Will sagen nach restart sind die zustaende je nach den letzten Readings. FHEM macht keinen sanity-check wie es den anderen Gruppenmitgliedern geht - nur um dies klarzustellen.

Triggern kann man auf den Master und smoke-Alarm - oder auf jeden smoke-Alarm, wie man will. off sollte man nur triggern wenn der Master 'off' meldet

Die SW steht zum Testen bereit

Gruss
Martin

 



Martin Thomas Schrott

Hallo zusammen!

danke Martin, aber ich bin noch nicht überzeugt von deiner Idee.

>1) da Rauchmeldungen zwar wichtig sind aber keinen "Empfänger" haben werden die Meldungen
>von HM immer 3mal gesendet - um sicher(er) zu gehen. Dies ist unabhängig von der
>Anzahl der Teammitglieder - und auch vom Master - immer 3 mal.

korrekt, das dreimalige Senden wegen eines fehlenden ACKs ist jedenfalls bestätigt.

>2) Jeder Melder kann einen Alarm auslösen - und dies kann gleichzeitig passieren.
>Daher muss in FHEM eine Liste verwaltet werden, welche Alarme anstehen. Das hat bis
>vor einer Stunde gefehlt :-(

sehr gut, behebt hoffentlich mal dieses Problem gleichzeitiger Alarme.

>4) den Auslöser konnte man immer im 'from' sehen. Da aber nur ein Alarm verwaltet
>wurde ist beim ersten Löschen alles auf 'clear' gesetzt worden

Hier bin ich teilweise noch anderer Meinung:
a) es ist nicht alles auf allClear gesetzt worden, denn mein WZ Melder steht immer noch auf:
2012-12-26 16:57:09
smoke_detect
on Rauchmelder_WZ
es wird also nur das Team auf allClear gesetzt, die einzelnen Melder bleiben aber je nach Szenario auf on stehen.

b) wenn du sagst, dass im From immer der Auslöser steht, kann ich das auch nicht bestätigen, außer die logeinträge sind falsch interpretiert/übersetzt. Denn dort steht eindeutig:
2013-01-28_14:32:39 Rauchmelder_EG on:from:Rauchmelder_Keller
2013-01-28_14:32:39 Rauchmelder_EG smoke_detect: on Rauchmelder_Keller
2013-01-28_14:32:56 Rauchmelder_EG on:from:Rauchmelder_WZ
2013-01-28_14:32:56 Rauchmelder_EG smoke_detect: on Rauchmelder_WZ

und der Alarm wurde definitif nur vom ersten Melder ausgelöst. Der zweite hat den Alarm empfangen und dann auch ausgelöst/weitergeleitet. Beim Test oben ist das analog steht aber ebenfalls im FROM, obwohl dort der erste Melder stehen sollte, wenn deine Theorie stimmt.
Die Frage ist nun: haben diese beiden Meldungen im RAW jeweils die gleiche Alarm Nummer, dann ist alles perfekt und wir können die messages der Melder als Empfangsbestätigung nutzen. Hier müsste dann die Anzahl der Melder * 3 an messages eintreffen wenn alle den Alarm erhalten haben. Aber zumindest eine message pro Melder, sonst hat einer nicht empfangen und die alarm message sollte nochmal gesendet werden!  Ist bei der zweiten message eine neue Alarm ID vergeben worden ist alles Schmarrn, denn dann erhalten wir von jedem der Melder einen Alarm obwohl nur der erste echt ist.


>5) ich kann zwar nicht sehen, wer die Meldungen schickt - oder wiederholt. Es sieht
>aber danach aus, dass immer nur ein Melder sendet - und es ist nicht der Master sondern
>der Auslösende

Nein, wie oben, der FROM enthält den, der gerade sendet, sonst wäre bei meinem Test immer der erste im FROM und im Test oben immer der Flur, an dem wurde ja ausgelöst!

>6) die 3-fach meldung des Events habe ich beim Auslöser unterdrückt - kommt nur einmal.
Was bedeutet das? Wie oder wo fragt man Events ab? Ich fange immer von den devices direkt ab glaube ich.


Liebe Grüße
Martin

martinp876


> >4) den Auslöser konnte man immer im 'from' sehen. Da aber nur ein Alarm verwaltet
> >wurde ist beim ersten Löschen alles auf 'clear' gesetzt worden
>
> Hier bin ich teilweise noch anderer Meinung:
> a) es ist nicht alles auf allClear gesetzt worden, denn mein WZ Melder steht immer noch auf:
> 2012-12-26 16:57:09 smoke_detect on Rauchmelder_WZ
> es wird also nur das Team auf allClear gesetzt, die einzelnen Melder bleiben aber je nach Szenario auf on stehen.

die Melder des Teammember werden nur zurückgesetzt wenn vom Melder eine Entwarnung kommt. Und das Team - mit den Aenderunngen wie besprochen

> b) wenn du sagst, dass im From immer der Auslöser steht, kann ich das auch nicht bestätigen, außer die logeinträge sind falsch interpretiert/übersetzt. Denn dort steht eindeutig:
> 2013-01-28_14:32:39 Rauchmelder_EG on:from:Rauchmelder_Keller
> 2013-01-28_14:32:39 Rauchmelder_EG smoke_detect: on Rauchmelder_Keller
> 2013-01-28_14:32:56 Rauchmelder_EG on:from:Rauchmelder_WZ
> 2013-01-28_14:32:56 Rauchmelder_EG smoke_detect: on Rauchmelder_WZ
>
>und der Alarm wurde definitiv nur vom ersten Melder ausgelöst. Der zweite hat den Alarm empfangen und dann auch ausgelöst/weitergeleitet. Beim Test oben ist das analog steht aber ebenfalls im FROM, obwohl dort der erste Melder stehen sollte, wenn deine Theorie stimmt.
>Die Frage ist nun: haben diese beiden Meldungen im RAW jeweils die gleiche Alarm Nummer, dann ist alles perfekt und wir können die messages der Melder als Empfangsbestätigung nutzen. Hier müsste dann die Anzahl der Melder * 3 an messages eintreffen wenn alle den Alarm erhalten haben.

nun - dem ist nicht so. Jeder Melder bringt seine eigene Nummer. Es kommen auch nicht von allen Meldern alarme. Siehe Unten. Vielmehr sind die Alarm Nummern eines jeden Melders wohl einfach nochgezaehlt. So machen dass fast alle HM Sender.

18:35:43 smoke_detect: on Flur_Rauchmelder                                  
18:35:43 RAWMSG: E1C2FCE,0000,2415DA81,FF,FFC2,66 94 41 1C2FCE 1C2FB6 01 08 C8
18:37:07 smoke_detect: on Wohnzimmer_Rauchmelder                            
18:37:07 RAWMSG: E1C2FCE,0000,2417231B,FF,FFC3,24 94 41 1C2FCE 1C2922 01 02 C7
18:37:40 smoke_detect: all-clear Flur_Rauchmelder                          
18:37:40 RAWMSG: E1C2FCE,0000,2417A309,FF,FFBB,69 94 41 1C2FCE 1C2FB6 01 09 01
19:08:31 smoke_detect: on Flur_Rauchmelder                                  
19:08:31 RAWMSG: E1C2FCE,0000,2433E4AE,FF,FFBD,6C 94 41 1C2FCE 1C2FB6 01 0A C8
19:09:41 smoke_detect: on Kammer_Rauchmelder                                
19:09:41 RAWMSG: E1C2FCE,0000,2434F465,FF,FFB9,E1 94 41 1C2FCE 1C2FCE 01 01 C7
19:10:20 smoke_detect: all-clear Flur_Rauchmelder                          
19:10:20 RAWMSG: E1C2FCE,0000,24358D56,FF,FFBA,6F 94 41 1C2FCE 1C2FB6 01 0B 01


> >5) ich kann zwar nicht sehen, wer die Meldungen schickt - oder wiederholt. Es sieht
> >aber danach aus, dass immer nur ein Melder sendet - und es ist nicht der Master sondern
> >der Auslösende
>
> Nein, wie oben, der FROM enthält den, der gerade sendet, sonst wäre bei meinem Test immer der erste im FROM und im Test oben immer der Flur, an dem wurde ja ausgelöst!

ok - dann stehen auch die Wiederholer drin.
Der Teammelder wird alle anzeigen, die sich geoutet haben. Das ist notwendig um Mehrfach-Alarme zu erkennen.

>>6) die 3-fach meldung des Events habe ich beim Auslöser unterdrückt - kommt nur einmal.
>Was bedeutet das? Wie oder wo fragt man Events ab? Ich fange immer von den devices direkt ab glaube ich.

mit notify


Liebe Grüße
Martin

Martin Thomas Schrott

Hi,


gut, dann wären wir wieder bei dem Problem, dass ich dir letztens geschildert habe und nun auch wieder gemeldet habe:

wenn bei keller ein Alarm losgeht, meldet auch wz den Alarm in seinem Namen.

Es stehen also wz und keller auf alarm on. Jeweils mit sich selbst im from!

Zuerst drücke ich beim wz die Taste, weil ich gerade dort bin. Dieser verstummt, meldet aber nichts per Funk, da er ja nur ein relay für den Alarm war und keinen echten Alarm bei sich hat.
Jetzt Drücke ich beim keller die Taste und erhalte ein all clear from keller.

Der wz bleibt aber auf alarm on stehen und zwar -> unendlich bzw. bis zur nächsten alive Meldung die dann im status steht. Aber ein all clear kommt hier nie, da der Melder ja keinen Alarm ausgelöst hatte, nur den vom keller weitergegeben hatte.



Verstehst du nun das Problem besser?
Sie geben zwar Alarm, er sieht für uns auch aus wie ein doppelter Alarm mit from xyz aber ist keiner, denn er wird nicht auf all clear gesetzt, wenn der originale Melder des Alarms beruhigt wird.
Zumindest bei meinen Tests war das so und ich wüsste nicht wie ich das anders machen sollte.

Es muss also eine Möglichkeit geben den echten und falschen Alarm zu unterscheiden! Sonst kannst du keine doppelten Alarme in fhem anzeigen, denn die Meldungen musst du ignorieren, da sonst der Status falsch ist!
Weiß leider nicht, wie ich es besser beschreiben könnte.

die messages müssen irgendwo den originalen Melder enthalten, sonst ist das ganze System ein Müll, weil die anderen Melder bei einem Alarm nie mehr auf all clear gehen. Bzw. in FHEM eben nicht.
Also irgendwas haben sich die hm Entwickler da gedacht, was wir noch nicht durchschaut haben, oder sie haben einen gewaltigen bug eingebaut.

Oder meine Melder haben alle einen Schaden ;-)
lG
Martin

kossmann

Das kann ich bestätigen. Ich habe mir eben meinen Floorplan angesehen und dachte, ich spinne... Der Rauchmelder im Wohnzimmer leuchtete, war also "on" - noch von gestern. Ausgeschaltet wurde beim letzten Test ja per Hand zuerst der Master, dann der Auslösende, welcher dann dem im Wohnzimmer per Funk das Signal zur Ruhe gegeben hat.

martinp876

ok - ich verstehe das Problem (endlich).

Aus irgend einem Grund melden manche den Alarm weiter, andere nicht.
Es gibt einen kleine Unterschied - den habe ich bisher der 'ungenaugkeit' zugeschrieben.
Einige Melder melden 100% (c8) andere 99,5% (c7).

Wenn ihr bestätigen könnt, dass C7 IMMER ein Weiterleiten ist, können wir an einer Lösung basteln

18:35:43 smoke_detect: on Flur_Rauchmelder       66 94 41 1C2FCE 1C2FB6 01 08 C8 ==> Alarm
18:37:07 smoke_detect: on Wohnzimmer_Rauchmelder 24 94 41 1C2FCE 1C2922 01 02 C7 ==>weitermeldung

18:37:40 smoke_detect: all-clear Flur_Rauchmelder69 94 41 1C2FCE 1C2FB6 01 09 01
19:08:31 smoke_detect: on Flur_Rauchmelder       6C 94 41 1C2FCE 1C2FB6 01 0A C8 ==> Alarm
19:09:41 smoke_detect: on Kammer_Rauchmelder     E1 94 41 1C2FCE 1C2FCE 01 01 C7 ==>weitermeldung
19:10:20 smoke_detect: all-clear Flur_Rauchmelder6F 94 41 1C2FCE 1C2FB6 01 0B 01

Müsste jetzt so passen - oder? Einbauen muss ich es dann noch.
Da ich nicht sicher bin, was passiert wenn jetzt das WZ einen eigenen Meldet würde ich einen neuen State einfügen.

Oder ihr testet und traces:
Alarm im Flur
UND
Alarm in WZ

Dann sollte WZ von C7 auf C8 umschlagen



kossmann

Mit meinen Räuchermännchen bekomme ich (glaube ich) keine zwei Alarme parallel ausgelöst - für den ersten brauche ich schon 1-2 Minuten, bis das Ding mal reagiert.

Wenn zwei Melder gleichzeitig Alarm melden, haben wir aber auch andere Probleme, als eine korrekte Verarbeitung in FHEM - dann wird es wahrscheinlich ein echter Alarm sein und die FHEM-Installation ist danach sowieso abgefackelt oder unter Wasser ;-)

Martin Thomas Schrott

Hallo!
*lach* Naja nicht unbedingt.
Es könnt ja sein, dass du zwei im Keller hast und dort eben genügend Rauch vorhanden ist, deshalb muss das restliche haus noch lange nicht flöten gehen ;-)
Du könntest ja die Rauchmelder auch in einem großen Gebäude mit mehreren Abschnitten nutzen, dort wären zwei auch nicht so relevant, in der Gesamtheit.

Okay, @Test:
Versuchs bitte einfach mal, du kannst ja zuerst den einen im Raum haben und wenn der zweite auf c7 gesprungen ist, also wenn das notify des zweiten gegriffen hat, hol ihn dazu und leg ihn statt dem ersten zum Rauch. der erste Interessiert uns dann eh nicht mehr, bzw. wenn er Entwarnung gäben würde, stört es uns nicht für diesen Test.
Wie gesagt, leg auch einfach ein Handtuch über Rauchquelle und Melder, oder eine große Metallbox o.ä. dann brauchst du für das Auslösen ca. 30 Sek und nicht mehr ;-)
Gutes Gelingen, ich warte auch auf die nächste Rauchgelegenheit um das ganze zu verifizieren.

@Martin, aber bei der Meldung mit c7 also der potenziellen Weiterleitung hätten wir keine Chance auszulesen, wer den Alarm ausgelöst hat oder? (um das in Fhem zu erfahren, falls der originale Alarm dreimal vom hmlan überhört wurde - was ja unwahrscheinlich ist.)

lG
Martin

martinp876

Es sollte immer min ein C8 kommen und evtl. mehrere C7.
Wenn FHEM das C8 nicht empfangen kann (entfernung,...) und nur ein C7 kriegt gibt es immer noch einen Team-alarm - aber keine Quelle.
Ueber die Implementierung habe ich nicht nachgedacht  - mal anfangen:
1) Alarme duerfen in keinem Fall unterdrueckt werden. Im Zweifelsfall muss alarmiert werden.
2) Doppelte Alarme MUESSEN registriert werden. Alles andere viel zu gefaehrlich. Wir reden hier ueber Feueralarm, nicht ueber kaputte Gluehbirnen.

Wenn wir also "alarm" und "Weiterleitung" unterscheiden, dann
Einzelmelder:
 state:[smoke-alarm|off|alarm-forward]
 Alarm-forward wir geloescht, wenn team-smoke_forward geloescht wird

team:
 state:[smoke-alarm|off]
 smoke_detect:<listeOfDetectors>
 smoke_forward:<listeOfRepeaters>

 Smoke Alarm wird "smoke-alarm"  gesetzt SOWOHL bei "on" ALSAUCH bei "forward"
 Smoke Alarm wird "off" gesetzt "off" kommt UND die liste smoke_detect leer ist
 smoke_forward wird geloescht wenn Smoke Alarm "off" gesetzt WIRD (nicht ist, wird!)

Dies sollte dem Verhalten Rechnung tragen, dass forwards nicht geloescht werden.

@kossman
nachdem du offensichtlich nicht vor hast die Gilde der Zigarrenraucher zu einer Party einzuladen waere ein Versuch mindestens hilfreich: Der Melder Kammer oder Wohnzimmer hat bisher nur C7 gemeldet, und beide habe einmal weitergeleitet. Wenn du bei denen dein Raeuchermaenchen einsetzen kannst koennten wir beweisen, dass hier - wenn sie im Rauch stehen - ein C8 kommt und kein C7. Das waere schon eine ziemlich gute test-abdeckung.
 



kossmann

Zitat von: martinp876 schrieb am Fr, 01 Februar 2013 15:38Der Melder Kammer oder Wohnzimmer hat bisher nur C7 gemeldet, und beide habe einmal weitergeleitet. Wenn du bei denen dein Raeuchermaenchen einsetzen kannst koennten wir beweisen, dass hier - wenn sie im Rauch stehen - ein C8 kommt und kein C7. Das waere schon eine ziemlich gute test-abdeckung.
Wenn C7 wirklich ein Weiterleiten ist, wäre dies ja auch richtig. Alarm wurde bisher ja nur im Flur ausgelöst.

Um es nun richtig zu verstehen: Ich soll den o.a. Test (Mi, 30 Januar 2013 08:38) ab Schritt 6 (mit allen 3 Meldern) wiederholen, aber bevor irgendwo der Alarm deaktiviert wird (zwischen Schritt 6 und 7) noch einen zweiten Melder (z.B. im Wohnzimmer) mit Rauch versorgen, obwohl dieser dann schon piepst (hat vom Flur ja einen Alarm bekommen)?

Um am Melder zu erkennen, ob er selbst Alarm ausgelöst hat oder nur (noch) ein Relay ist, kann ich auf die rote, blinkende LED im Knopf gucken, oder? Ich meine gesehen zu haben, dass diese nur blinkt, wenn der Melder selbst Alarm ausgelöst hat.