FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: albert4711 am 04 Oktober 2013, 14:10:44

Titel: Alarmanlage mit HM-SEC-MDIR
Beitrag von: albert4711 am 04 Oktober 2013, 14:10:44
Hallo allerseits,

ich bin Neuling bei FHEM und habe mir die Aufgabe gestellt unser Haus mit einer Alarmanlage zu sichern. Als Grundlage dient die absolut tolle Beschreibung im Wiki. Ich habe diverse HM Fensterkontakte eingebaut. Diese funktionieren auch tadellos. Allerdings macht mich der HM-SEC-MDIR wahnsinnig.

Gemäß der Beschreibung im Wiki habe ich ein notify für die Bewegungsmelder aufgebaut:

define Bewegung_Keller dummy
attr Bewegung_Keller room Alarmmelder
define act_on_BWMeld_Keller notify BWMeld_Keller { if(ReadingsVal("BWMeld_Keller","state","motion") eq "motion") { fhem("set Bewegung_Keller bewegung ;; define reset_Bewegung_Keller at +00:03:00 set Bewegung_Keller keine ")}}


Das funktioniert auch perfekt, bis zu dem Zeitpunkt wo der MDIR eine neue Meldung sendet (ca. 240 Sekunden später). Hier wird dann immer auch der Status mitgesendet. Es scheinen sich die Werte für die Readings zwischenzeitlich nicht zu ändern, allerdings werden diese überflüssigerweise erneut übertragen.

Ich würde mich über eine baldige Rückmeldung freuen.

Titel: Aw: Alarmanlage mit HM-SEC-MDIR
Beitrag von: justme1968 am 04 Oktober 2013, 14:21:36
du darfst nicht das reading auslesen (bzw. darfst den timestamp nicht ignorieren) weil das reading motion niemals zurückgesetzt wird. es gibt immer den zeitpunkt der letzen bewegung an. es gibt kein 'keine bewegung mehr' event.

das kansnt du abfangen wenn du dein notify so umbaust das es nur auf (neue) motion events anspricht:define act_on_BWMeld_Keller notify BWMeld_Keller:motion {...}dann kannst du dir aich das ReadingsVal... sparen.

du solltest dir auch über die wartezeit vor dem zurücksetzen (bei dir 3 minuten) noch mal gedanken machen. die sollte eigentlich länger sein als die zeit zwischen den meldungen des bewegungsmelders (normalerweise 4 minuten). sonst hat du eigentlich in der zeit zwischen 3 und 4 minuten einen undefinierten zustand.

vor dem 'define reset...' solltest du erst noch das alte at mit delete löschen weil sonst das neue mit der verschobenen zeit nicht angelegt wird.

gruss
  andre
Titel: Aw: Alarmanlage mit HM-SEC-MDIR
Beitrag von: martinp876 am 04 Oktober 2013, 17:42:07
zu den "doppelten" meldungen

setze
attr BWMeld_Keller event-on-change-readings .*
dann werden events nur bei aenderung getriggert, genau was du willst

alternativ (nicht von mir empfohlen) kannst du die cyclic message anschalten - mit register cyclicInfoMsg

Gruss Martin
Titel: Aw: Alarmanlage mit HM-SEC-MDIR
Beitrag von: justme1968 am 04 Oktober 2013, 17:56:34
ich glaube event-on-change-readings ist für motion kontraproduktiv. es gibt ja nur motion das niemals zurückgesetzt wird. wenn man also event-on-change-readings setzt kommt genau ein einziges motion even wenn man den bewegungsmelder das erste mal in betrieb nimmt und dann nie mehr.

gruss
  andre
Titel: Aw: Alarmanlage mit HM-SEC-MDIR
Beitrag von: martinp876 am 04 Oktober 2013, 19:06:08
Hallo Andre,

da muss ich dir recht geben. mein Fehler, hatte ich übersehen.

Gruss Martin