Rauchmelder

Begonnen von Samsi, 02 Januar 2013, 14:52:46

Vorheriges Thema - Nächstes Thema

Tommy82

Hallo Martin,
Hab's jetzt mal so gemacht wie du geschrieben hast, hab auch sofort eine Email bekommen.
Hab dann mal über den "AlarmOn" Butten des Rauchmelder_Btn1 den Alarm ausgelöst, woraufhin ich 8 Emails aufeinmal bekommen hab, wieso 8?
Alle emails hatten den gleichen Inhalt "Rauchmelder_Btn1Meldet Alarm"

Sieht soweit ganz gut aus oder? Werde heute Abend mal einen am Grill auslösen lassen, dann müsste mir der ja auch angezeigt werden
!?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

martinp876

befasse dich einmal mit notify:

define Raucharalm notify Rauchmelder_Btn1 { FB_mail('xxx@googlemail.com','FHEM Feueralarm',$NAME.'Meldet Alarm' ) }

du willst ein notify bei JEDER änderung/meldung zu Rauchmelder_Btn1.
Wieviele trigger sind den gekommen? Meist werden mehrere readings geändert.
Mit inform on kannst du nachsehen, oder im Logfile - wenn du eins angelegt hast. Den inhalt des Readings sensedt du nicht.
Filtere deine Notifies besser!
Schau dich einmal bei codeschnipsel um, wie man notifies macht.
Gruss Martin

crissiloop

Hallo Tommy,

ich hatte dir doch hier http://forum.fhem.de/index.php/topic,9934.msg129641.html#msg129641 bereits eine Lösung vorgeschlagen, welche nur auf smoke-Alarm reagiert. Und der auslösende Melder wird in der Funktion auch ermittelt und bei mir in die Pushnachricht geschrieben.
Das kannst du doch für dich auf deine Emailfunktion anpassen.

Ich bin sicher auch kein Perl Experte. Aber sich mit Regex auseinanderzusetzen um Notifys richtig zu schreiben macht schon Sinn. Das geht auch im Internet ohne Buch. So habe ich mir meine bisherigen Codes auch aus dem Forum zusammengesucht und angepasst. Teilweise auch mit Beobachten der Events im Eventmonitor.

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

Tommy82

#168
Zitat von: martinp876 am 07 Februar 2014, 09:09:41
befasse dich einmal mit notify:

define Raucharalm notify Rauchmelder_Btn1 { FB_mail('xxx@googlemail.com','FHEM Feueralarm',$NAME.'Meldet Alarm' ) }

du willst ein notify bei JEDER änderung/meldung zu Rauchmelder_Btn1.
Wieviele trigger sind den gekommen? Meist werden mehrere readings geändert.
Mit inform on kannst du nachsehen, oder im Logfile - wenn du eins angelegt hast. Den inhalt des Readings sensedt du nicht.
Filtere deine Notifies besser!

Gruss Martin

Hallo MArtin, das steht im LOG
2014.02.07 19:13:44.686 5: Cmd: >trigger Rauchmelder_Btn1<
2014.02.07 19:13:44.687 5: Triggering Rauchmelder_Btn1 (1 changes)
2014.02.07 19:13:44.689 5: Notify loop for Rauchmelder_Btn1
2014.02.07 19:13:44.700 5: Triggering Raucharalm
2014.02.07 19:13:44.703 5: Cmd: >{ FB_mail('Th.Halberstadt@googlemail.com','FHEM Feueralarm',$NAME.'Meldet Alarm' ) }<
2014.02.07 19:13:47.852 3: Mail sent to Th.Halberstadt@googlemail.com
2014.02.07 19:13:47.869 4: HTTP FHEMWEB:192.168.188.73:49320 GET /fhem?room=Favourites
2014.02.07 19:13:48.155 4: /fhem?room=Favourites / RL:2279 / text/html; charset=UTF-8 / Content-Encoding: gzip

Ich möchte nur für die Änderung "AlarmOn" eine Meldung

Zitat von: crissiloop am 07 Februar 2014, 18:30:21
Hallo Tommy,

ich hatte dir doch hier http://forum.fhem.de/index.php/topic,9934.msg129641.html#msg129641 bereits eine Lösung vorgeschlagen, welche nur auf smoke-Alarm reagiert. Und der auslösende Melder wird in der Funktion auch ermittelt und bei mir in die Pushnachricht geschrieben.
Das kannst du doch für dich auf deine Emailfunktion anpassen.

Ich bin sicher auch kein Perl Experte. Aber sich mit Regex auseinanderzusetzen um Notifys richtig zu schreiben macht schon Sinn. Das geht auch im Internet ohne Buch. So habe ich mir meine bisherigen Codes auch aus dem Forum zusammengesucht und angepasst. Teilweise auch mit Beobachten der Events im Eventmonitor.

Gruß
Christian

Hallo Christian,
ja du hast mir da mal was gezeigt, und in dem Post direkt darunter hatte ich zurückgefragt ob meine änderungen so OK sein, da hab ich leider keine Antwot drauf bekommen.

Und wofür braucht man dein:
sub Rauchmelderalarm () {
my $ausgeloester_Melder = ReadingsVal("Rauchmelder_Btn1","smoke_detect","leer");
fhem("set Pushover1 msg 'Feueralarm' '$ausgeloester_Melder hat Rauch gemeldet' '' 2 'siren' 30 600");

Und wäre das so richtig angepasst?

Habs auch mal noch so versucht:
define Raucharalm notify Rauchmelder_Btn1:smoke-Alarm.* { FB_mail('xxx@googlemail.com','FHEM Feueralarm',$NAME.'Meldet Alarm' ) }
Damit bekomme ich wieder eine Email,mit der Meldung
ZitatRauchmeldet_Btn1Meldet Alarm
Sieht doch gut aus oder? Hab jetzt auch noch getestet einen mal mit Feuer auszölsen, funktioniert auch alles, nur leider steht nicht der richtige Melder in der Email, was ist jetzt noch falsch? Der Melder Kinderzimmer war am Feuer und hat ausgelöst, aber trotzdem steht
ZitatRauchmeldet_Btn1Meldet Alarm
in der Mail

Hab jetzt noch ein notify erstellt für einen Anruf bei ALarm:
define Rauchalarm_Anruf notify Rauchmelder_Btn1:smoke-Alarm.* {` echo "ATD0xxxx" | nc 127.0.0.1 1011`}
Und ich bin begeistert es funktioniert auf anhieb. So gar mit eigener Ansage wenn ich abhebe.
Danke für die Hilfe bis hier hin.Und vorallem für die Geduld
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

crissiloop

Hallo Tommy,

Rauchmelderalarm ist eine Funktion. Diese wird vom Notify aufgerufen (siehe mein Notify). Und die Funktion liest dann den auslösenden Melder in die Variable (ReadingsVal) und diese wird dann von dir, wie auch immer weiter benutzt.
Ob du dann eine Email schickst, ne Pushnachricht oder einen Anruf oder alles zusammen ist dir überlassen. Das kannst du auch in 1 Notify packen und musst nicht extra ein neues bauen.

Und das einzige was du anpassen musst und auch hast, ist der Name deines virtuellen Teamleads. Und dann natürlich deine gewünschte Aktion.

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

Tommy82

Hallo Christian, wenn ich dich richtig verstehe, dann muss ich das hier noch anpassen?
sub Rauchmelder () {
my $ausgeloester_Melder = ReadingsVal("Rauchmelder_Btn1","smoke_detect","leer");
fhem("set Pushover1 msg 'Feueralarm' '$ausgeloester_Melder hat Rauch gemeldet' '' 2 'siren' 30 600");


Wäre das so richtig? Würde mir dann der richtige Melder angezeigt?
Wie packe ich das in ein notify, bzw. wieso hast du zwei gemacht?
Oder muss ich das set Pushover noch tauschen? aber wo gegen?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

crissiloop

also es gibt nur ein Notify für eine Alarmmeldung der Rauchmelder:
define Feueralarm_notify notify Rauchmelder_Team:smoke-Alarm.* {Rauchmelderalarm()}
Hier musst du "Rauchmelder_Team" mit bei dir soweit ich weiß "Rauchmelder_Btn1" ersetzen.
Dieses Notify ruft, wenn es ausgelöst wird die Funktion "Rauchmelderalarm" auf. Diese muss in deine 99_myutils.pm. Dazu gibt es auch Lesestoff im Wiki und Forum.

sub Rauchmelderalarm () {
my $ausgeloester_Melder = ReadingsVal("Rauchmelder_Team","smoke_detect","leer");
       FB_mail('xxx@googlemail.com','FHEM Feueralarm',$ausgeloester_Melder.'Meldet Alarm' );
       ` echo "ATD0xxxx" | nc 127.0.0.1 1011`;
}


Auch hier wieder "Rauchmelder_Team" mit bei dir soweit ich weiß "Rauchmelder_Btn1" ersetzen.

FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

Tommy82

Hallo Christian, danke für deine Hilfe, werd es Morgen testen, sonst bekomme ich heute von meiner Frau die Rote Karte:-)
Ich werd Berichten ob es jetzt klappt

Danke nochmal
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Hallo, jetzt klappt es hervorragend, der richtige Melder wird angezeigt und ich bekomme auch den gewünschten abruf
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Hallo,
ich hatte gerade einen Fehlarlarm, und in der Email wude mir Rauchmelder_Btn1 also Auslösender Melder angezeigt, aber keiner der 3 Melder hat Alarm gegeben.

Ich hatte kurz vorher die Fritzbox neugestartet, hab den Eindruck das der Alarm dadurch ausgelöst wurde!? Kennt das Problem einer?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Bernd Maurer

Hallo zusammen,

zur Schritt-für-Schritt-Anleitung: muss man die Rauchmelder (http://www.notebooksbilliger.de/homematic+funk+rauchmelder+3er+set/eqsqid/c6cb2a4b-2caa-47b8-b5b9-67d5b9174f61) vorab gemäß Bedienungsanleitung bekannt machen? Oder reicht die einfache Anmeldung im Anlernmodus an FHEM?

Viele Grüße

Bernd

m2th3o

Hallo Bernd. Also es reicht, dass du mit der zentrale pairst. Wenn du die gegenseitige Mitteilung nutzen willst, kannst du - wie im Wiki beschrieben - ein Rauchmelder Team mit Teamlead (virtuell oder richtig) anlegen. Ich Versuch immer alles manuelle peering an den Geräten zu vermeiden. Gruß. Markus


Gesendet von iPad mit Tapatalk

martinp876

Ein sd sollte IMMER gepeert werden. (Gepairt sowieso ). Und wenn es mit sich selbst ist. Ich empfehle wiki zu lesen, das sollte naeher an fhem sein. Sonst gibt es auch keine alarm und test kommandos.
Wer ohne fhem peeren will, kann das gerne.... grund gibt es keinen dazu

Bernd Maurer

Hallo m2th3o,

erst mal besten Dank für die prompte Antwort. Das mit der virtuellen Team klappt bei mir irgendwie nicht. Es gibt dazu auch wie ich finde unterschiedliche Aussagen oder mir fehlt noch das grundsätzliche Verständis oder beides :-).

Ich habe 3 Rauchmelder RM_Wohnzimmer, RM_Flur und RM_Kindezimmer. Die habe geräteseitige verbunden. Das hat geklappt --> grüner LED-Quittung.

Gleichzeitig hat FHEM beim Bekanntmachen die Einträge dafür in der CFG gemacht:

define RM_Wohnzimmer CUL_HM 52C839
attr RM_Wohnzimmer IODev CUL2
attr RM_Wohnzimmer actCycle 099:00
attr RM_Wohnzimmer actStatus alive
attr RM_Wohnzimmer autoReadReg 4_reqStatus
attr RM_Wohnzimmer expert 2_full
attr RM_Wohnzimmer firmware 1.1
attr RM_Wohnzimmer model HM-SEC-SD
attr RM_Wohnzimmer room Wohnzimmer
attr RM_Wohnzimmer serialNr XXXXX
attr RM_Wohnzimmer subType smokeDetector
define FileLog_RM_Wohnzimmer FileLog ./log/RM_Wohnzimmer-%Y.log RM_Wohnzimmer
attr FileLog_RM_Wohnzimmer logtype text
attr FileLog_RM_Wohnzimmer room CUL_HM

define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 600
attr ActionDetector event-on-change-reading .*
attr ActionDetector model ActionDetector


define RM_Kinderzimmer CUL_HM 52C84C
attr RM_Kinderzimmer actCycle 099:00
attr RM_Kinderzimmer actStatus alive
attr RM_Kinderzimmer autoReadReg 4_reqStatus
attr RM_Kinderzimmer expert 2_full
attr RM_Kinderzimmer firmware 1.1
attr RM_Kinderzimmer model HM-SEC-SD
attr RM_Kinderzimmer msgRepeat 1
attr RM_Kinderzimmer room Kinderzimmer
attr RM_Kinderzimmer serialNr XXXXX
attr RM_Kinderzimmer subType smokeDetector
attr RM_Kinderzimmer webCmd statusRequest
define FileLog_RM_Kinderzimmer FileLog ./log/RM_Kinderzimmer-%Y.log RM_Kinderzimmer
attr FileLog_RM_Kinderzimmer logtype text
attr FileLog_RM_Kinderzimmer room CUL_HM

define RM_Flur CUL_HM 52BA64
attr RM_Flur IODev CUL2
attr RM_Flur actCycle 099:00
attr RM_Flur actStatus alive
attr RM_Flur autoReadReg 4_reqStatus
attr RM_Flur expert 2_full
attr RM_Flur firmware 1.1
attr RM_Flur model HM-SEC-SD
attr RM_Flur msgRepeat 1
attr RM_Flur room Flur
attr RM_Flur serialNr XXXXX
attr RM_Flur subType smokeDetector
attr RM_Flur webCmd statusRequest
define FileLog_RM_Flur FileLog ./log/RM_Flur-%Y.log RM_Flur
attr FileLog_RM_Flur logtype text
attr FileLog_RM_Flur room CUL_HM


Meine Konfig: RasPI mit CBusware CUL, 3 HM-Rauchmelder wie vorstehend beschrieben.

martinp876 schreibt zum weiteren Vorgehen:

define virtualGrp CUL_HM 110000
set virtualGrp virtual 1
rename virtualGrp_Btn1 sdTeam


Hier wollte ich das virtuelle Team RM_Teammelder analog anlegen:

define virtualGrp CUL_HM 111111
set virtualGrp virtual 1
rename virtualGrp_Btn1 RM_Teammelder
attr RM_Teammelder room Wohnzimmer

list RM_Wohnzimmer liefert

Internals:
   DEF        52C839
   IODev      CUL2
   NAME       RM_Wohnzimmer
   NR         40
   STATE      RESPONSE TIMEOUT:RegisterRead
   TYPE       CUL_HM
   protCmdDel 3
   protResnd  2 last_at:2014-08-26 20:47:10
   protResndFail 2 last_at:2014-08-26 20:47:15
   protSnd    2 last_at:2014-08-26 20:47:04
   protState  CMDs_done_Errors:1
   Readings:
     2014-08-26 20:45:43   Activity        alive
     2014-08-26 19:46:28   CommandAccepted no
     2014-08-26 19:46:27   D-firmware      1.1
     2014-08-26 19:46:27   D-serialNr      LEQ0060112
     2014-08-26 19:46:30   SDteam          add_CUL_HM_HM_SEC_SD_52BA64
     2014-08-26 19:46:28   sabotageAttackId ErrIoId_52BA64 cnt:3
     2014-08-26 20:47:15   state           RESPONSE TIMEOUT:RegisterRead
     Regl_00::
       VAL
   Helper:
     cSnd       0114026852C83900040000000000
     getCfgListNo
     mId        0042
     rxType     2
     Io:
       newChn     +52C839,00,01,00
       prefIO
       rxt        0
       vccu
       p:
         52C839
         00
         01
         00
     Mrssi:
       mNo
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat   00
     Role:
       chn        1
       dev        1
Attributes:
   IODev      CUL2
   actCycle   099:00
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.1
   model      HM-SEC-SD
   msgRepeat  1
   room       Wohnzimmer
   serialNr   LEQ0060112
   subType    smokeDetector
   webCmd     statusRequest


Vorher war statt dem Timeout ein "MISSING ACK" angezeigt. Das hat dann wohl zu lange gedauert.

In einigen Beschreibung wird bei der virtuellen Gruppe das hier verwendet
set FL.Teammelder peerChan 0 FL.Rauchmelder single set
an anderen Stellen
set sdTeam devicepair 0 RAUCH2 single set
Den Unterschied verstehe ich nicht so recht.

Im Anhang noch ein Screenshot vom Status RM_Teamleader.

Beste Grüße

Bernd



martinp876

ZitatEs gibt dazu auch wie ich finde unterschiedliche Aussagen
wenn man lange genug sucht ist das immer so. Wiki ist das, was hier gilt - da sollte es keine Widersprüche geben - oder? Wenn ja, welche? Andere Quellen musst du selbst bewerten.

da das Device nicht auf die Zentrale reagiert ist es wohl nicht gepairt
http://www.fhemwiki.de/wiki/HomeMatic_Devices_pairen

du nutzt eine CUL - da gab es alte FW, die keinen burst unterstützt - die könnte nicht mit einem SD reden (nur lauschen).  Welche FW-version hat deine CUL? Ich denke man braucht 1.5.

Regel 1: Erst pairen und pairing prüfen. So lange das nicht steht, geht NICHTS.