Hauptmenü

event-min-interval???

Begonnen von fstefan1960, 25 April 2017, 14:13:51

Vorheriges Thema - Nächstes Thema

fstefan1960

Hallo,

zwar bekommt man über die Suche ganz viele Treffer, aber ich habe immer noch nicht herausfinden könne, wie ich event-on-change-reading, event-on-update-reading und event-min-interval kombinieren muss, um von meinem Bewegungsmelder (IT) nicht verrückt gemacht zu werden.

Der Melder gibt (wenn jemand im Erfassungsbereich ist), alle 3 sec ein Event ab. So oft brauche ich aber keine SMS, keinen Gong oder so. Es reicht mir (und so hätte ich es gerne), dass ich das nächste Event eben erst bekomme, wenn nach z.B. 30 Sekunden immer noch action ist.

Irgendwie krieg ichs nicht hin. Trotz vielen Lesens ...

Danke
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Thorsten Pferdekaemper

Hi,
also soweit ich das verstehe, einfach nur event-min-interval nehmen, die anderen beiden leer lassen (löschen).
Also etwa

attr meinDevice event-min-interval meinReading:30

Gruß,
   Thorsten
FUIP

fstefan1960

Hallo Thorsten,

leider eben nicht, "klingelt" dann auch dauernd ....  :(
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Thorsten Pferdekaemper

Hi,
zeig mal ein list von dem Device.
Gruß,
   Thorsten
FUIP

vbs

Das Tückische an event-min-interval ist, dass es sich unterschiedlich verhält, je nachdem ob man event-on-update oder event-on-change verwendet. Musste ich zumindest auf die harte Tour lernen:
https://forum.fhem.de/index.php/topic,36522.msg287945.html#msg287945

marvin78

Eigentlich ist "unterschiedlich verhalten" nicht richtig. Es verhält sich immer gleich. Allerdings haben die beiden anderen genannten Attribute dann auch eine Wirkung und das führt dazu, dass man denken könnte, dass event-min-interval nicht das macht, was man meint, das es tun sollte. Allerdings gilt ganz klar: works as designed

vbs

Die commandref geht explizit auf den Unterschied im Verhalten ein, sobald event-on-change-reading ins Spiel kommt.

marvin78

Es handelt sich dann aber nicht um ein verändertes Verhalten von event-min-interval. Das macht IMMER das gleiche. event-on-change führt lediglich dazu, dass Änderungen immer ein Event auslösen, egal, was event-min-interval sagt. Der Passus in der commandref steht da, weil man es eben sonst falsch verstehen könnte.

Es ist aber auch müßig darüber zu diskutieren, denn das Ergebnis ist das gleiche. Alle 3 Attribute muss man immer im Zusammenhang sehen, wenn man sie verwendet und dann ist das Verhalten durchaus logisch nachvolziehbar.

vbs

Zitat von: marvin78 am 25 April 2017, 17:40:49
event-on-change führt lediglich dazu, dass Änderungen immer ein Event auslösen, egal, was event-min-interval sagt.
Stimmt mMn so nicht. In Kombination mit event-on-change werden auch Readings erzeugt, wenn sich der Wert NICHT geändert hat, aber die min-interval verstrichen ist. Es werden also MEHR Events erzeugt als ohne min-interval.
Ohne event-on-change werden immer nur Events erzeugt, wenn min-interval verstrichen ist. Es werden also WENIGER Events erzeugt.

marvin78

Ja. Genau das habe ich gesagt. Das ist aber keine Änderung am Verhalten von event-min-intervall sondern das zusätzliche Verhalten von event-on-change. Völlig korrekt und laut Doku erwartbar. Aber wie gesagt: es ist müßig

fstefan1960

Also ich verstehe das jetzt so:

event-on-change-reading  - es gibt ein Event, wenn sich der Wert ändert
event-min-interval               - es gibt alle x Sekunden auf jeden Fall ein Event, auch wenn sich nichts ändert

Das ist logisch und nachvollziehbar.

Es löst aber leider nicht mein Problem. Wie vermeide ich wiederkehrende Events für eine bestimmte Zeit, auch wenn der Bewegungsmelder immer weiter meldet?
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

LuckyDay

gib mal Antwort zu Beitrag 3

viegener

und vielleicht auch ein list von dem Device der auf die Events reagiert (notify oder so)?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

justme1968

Zitatevent-on-change-reading  - es gibt ein Event, wenn sich der Wert ändert
event-min-interval               - es gibt alle x Sekunden auf jeden Fall ein Event, auch wenn sich nichts ändert

nein. nicht wirklich. wichtig ist: events gibt es immer nur wenn der sensor auch etwas sendet. wenn er nichts sendet gibt es auch keine events. niemals. egal welche attribute gesetzt sind.

die attribute filtern nur events weg:
event-on-change-reading - filter alles weg das sich nicht ändert
event-min-interval - filter alles weg so lange das interval nicht abgelaufen ist

die beiden filter sind aber nicht und verknüpft sondern oder verknüpft. d.h. wenn einer von beiden etwas durch lässt bekomst du ein event. auch wenn der andere es gefiltert hat.

bei einem bewegungsmelder der immer nur motion events erzeugt (d.h. ohne no-motion) ist event-on-change-reading sinnlos!

event-min-interval macht genau das was du willst. jedenfalls wenn es richtig gesetzt ist. deshalb die frage nach dem list.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fstefan1960

Hier das List, wie es jetzt ist. Als noch kein event-on-change-reading gesetzt war, verhielt es sich genauso.

Internals:
   CUL_433_MSGCNT 109
   CUL_433_RAWMSG id207ba
   CUL_433_RSSI -70.5
   CUL_433_TIME 2017-04-25 18:03:47
   DEF        1527xd207b 1010 0000
   IODev      CUL_433
   LASTInputDev CUL_433
   MSGCNT     109
   NAME       BewgMeldHaustr
   NR         1368
   STATE      off
   TYPE       IT
   XMIT       1f0d00f1d1
   XMITdimdown 00
   XMITdimup  00
   XMIToff    0000
   XMITon     1010
   Code:
     1          1527xd207b
   Readings:
     2017-04-12 14:31:41   protocol        EV1527
     2017-04-25 18:03:51   state           off
Attributes:
   DbLogExclude .*
   IODev      CUL_433
   event-min-interval 30
   event-on-change-reading state
   room       40_Aussen,IT


Und hier das list vom notify:
Internals:
   DEF        BewgMeldHaustr:.*on {Haustuer(1)}
   NAME       nHaustBewg
   NOTIFYDEV  BewgMeldHaustr
   NR         1369
   NTFY_ORDER 50-nHaustBewg
   REGEXP     BewgMeldHaustr:.*on
   STATE      2017-04-25 18:03:47
   TYPE       notify
   Readings:
     2017-04-23 20:01:19   state           active
Attributes:
   DbLogExclude .*


Aufgerufen wird eine Funktion im 99_myUtils.
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.