Bewegungsmelder DOIF löst zweimal aus

Begonnen von WolfgangV, 16 November 2016, 16:41:13

Vorheriges Thema - Nächstes Thema

WolfgangV

Hallo,

heute behellige ich euch mal mit einem Luxusproblem. Denn das folgende Doif funktioniert eigentlich wie es soll, aber etwas störend ist es doch, dass der Gong im Abstand von wenigen Sekunden zweimal ausgelöst wird.
Wahrscheinlich ist die Lösung ganz einfach, oder?

([Bewegungsmelder_Hof:state:sec] < 5)
       (set VUDuoPlus showText Jemand ist am Hoftor, set Sonos_Kueche PlayUriTemp //DISKSTATION/music/Sonos%20Sounds/Gong.mp3 50)


Gruß


Wolfgang
Raspi5  HmUART, Jeelink, VU+Duo2, Viera, Sonos, HM-CC-RT-DN,     
HM-WDS30-OT2-SM, HM-LC-Dim1TPBU-FM,    
Jeelink, TUL

Ellert

Versuche mal das Attribut cmdpause im DOIF.

AmunRe

Ich denke das Problem ist, das einmal eine Bewegung erkannt wird welche in das state kommt und dann wieder keine Bewegung. Deswegen hast Du Zwei Event, das reading ändert sich ja auch zwei mal.

Könntest Du erläutern wieso du die Zeit des letzten Auslösens auswertest?

Normalerweise würde man einfach die Bewegung abfragen.

(["Bewegungsmelder_Hof:motion: on"])
(set VUDuoPlus showText Jemand ist am Hoftor, set Sonos_Kueche PlayUriTemp //DISKSTATION/music/Sonos%20Sounds/Gong.mp3 50)
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

WolfgangV

Hallo,

zunächst mal danke an Ellert. Der Tipp mit cmdpause funktioniert. Es gongt nur noch einmal.

@AmunRe:
Ich zitiere aus der Commandref zum DOIF:
Zitatdefine di_lamp DOIF ([BM:state:sec] < 5) (set lamp on-for-timer 300)
attr di_lamp do always

Bei HM-Bewegungsmelder werden periodisch Readings aktualisiert, dadurch wird das Modul getrigger, auch wenn keine Bewegung stattgefunden hat. Der Status bleibt dabei auf "motion". Mit der obigen Abfrage lässt sich feststellen, ob der Status aufgrund einer Bewegung tatsächlich upgedatet wurde.[/quote

Tatsächlich ist das dann so, dass es immer wieder gongt, wenn der Bewegungsmelder sich updatet, ohne dass tatsächlich eine Bewegung da war.

Gruß

Wolfgang
Raspi5  HmUART, Jeelink, VU+Duo2, Viera, Sonos, HM-CC-RT-DN,     
HM-WDS30-OT2-SM, HM-LC-Dim1TPBU-FM,    
Jeelink, TUL

Damian

Der Eintrag aus der Commandref erklärt die sec-Option. Allerdings ist er schon etwas älter und stammt aus der Zeit als die Abfrage auf Events im DOIF nicht möglich war. Daher ist der Vorschlag von AmunRe eleganter, wenn er bei dir funktioniert.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

WolfgangV

Hallo,

danke! Wieder mal was gelernt!

Gruß


Wolfgang
Raspi5  HmUART, Jeelink, VU+Duo2, Viera, Sonos, HM-CC-RT-DN,     
HM-WDS30-OT2-SM, HM-LC-Dim1TPBU-FM,    
Jeelink, TUL