[gelöst] DOIF wird zweimal ausgelöst

Begonnen von Fredi69, 29 August 2016, 21:20:24

Vorheriges Thema - Nächstes Thema

Fredi69

Ich habe folgendes DOIF, welches immer zweimal hintereinander meine Lampen anschaltet.
Kann sich das jemand erklären?
define Bewegungmelder_Strasse_On_DI DOIF
([Aussen_Garten_Bewegungmelder_Strasse:"motion"] and [Aussen_Garten_Bewegungmelder_Strasse:brightness] < 10)
(set Aussen_Garten_Lampe_Wegbeleuchtung on-for-timer 60,set Aussen_Garten_Lampe_Haustuer on-for-timer 60)
attr Bewegungmelder_Strasse_On_DI do always
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

automatisierer

Ich gehe mal stark davon aus, dass es zwei Events gibt auf die "motion" passt.
Du müsstest evtl. die regex ein bissl anpassen. Mit den Events die beim Bewegungsmelder kommen, kenne ich mich leider nicht aus.

Fredi69

Zitat von: automatisierer am 29 August 2016, 21:55:57
Ich gehe mal stark davon aus, dass es zwei Events gibt auf die "motion" passt.
Du müsstest evtl. die regex ein bissl anpassen. Mit den Events die beim Bewegungsmelder kommen, kenne ich mich leider nicht aus.
Das verstehe ich leider nicht, wo könnte es zwei Events geben?
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

kumue

Vielleicht hilft diese Seite weiter.. auch unten mit DOIF-Bespiel
http://www.fhemwiki.de/wiki/HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen

Habe selbst keinen Bewegungsmelder im Einsatz, kann somit nicht nach Events/Readings schauen...

automatisierer

Wenn dein Bewegungsmelder auslöst, dann entstehen Events. Diese Events kannst du ja auch im EventMonitor sehen. Beim auslösen des BWM werden sicherlich mehrere Events erzeugt und alle Events in denen 'motion' vorkommt triggern dein DOIF.

Entweder suchst du im Forum nach einer Lösung (bin mir sicher das dieses Thema schon öfter behandelt wurde), oder du gibst uns mal noch ein paar Informationen.
z.B. Welche Geräte du verwendest oder du Postest die Events die beim auslösen des BWM erzeugt werden.




Fredi69

Es handelt sich um einem HM-SEN-MDIR-SM
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Fredi69

Hier die Events:

2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse brightness: 33
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion: on (to HMLAN1)
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motionCount: 110_next:60s
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse trigDst_2CD994: noConfig
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse trigger_cnt: 110
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

kumue

in Anlehnung an die DOIF commadref
(["^FS$:^temp$"] triggert auf Devices, die genau "FS" heißen und im Event genau "temp" vorkommt

würde ich Folgendes versuchen
define Bewegungmelder_Strasse_On_DI DOIF
(["^Aussen_Garten_Bewegungmelder_Strasse$:^motion$"] and [Aussen_Garten_Bewegungmelder_Strasse:brightness] < 10)
(set Aussen_Garten_Lampe_Wegbeleuchtung on-for-timer 60,set Aussen_Garten_Lampe_Haustuer on-for-timer 60)
attr Bewegungmelder_Strasse_On_DI do always


Ich denke, daß dadurch nur auf das eine Event
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion
getriggert wird... hoffentlich  :)

Damian

Zitat von: kumue am 30 August 2016, 07:29:20
in Anlehnung an die DOIF commadref
(["^FS$:^temp$"] triggert auf Devices, die genau "FS" heißen und im Event genau "temp" vorkommt

würde ich Folgendes versuchen
define Bewegungmelder_Strasse_On_DI DOIF
(["^Aussen_Garten_Bewegungmelder_Strasse$:^motion$"] and [Aussen_Garten_Bewegungmelder_Strasse:brightness] < 10)
(set Aussen_Garten_Lampe_Wegbeleuchtung on-for-timer 60,set Aussen_Garten_Lampe_Haustuer on-for-timer 60)
attr Bewegungmelder_Strasse_On_DI do always


Ich denke, daß dadurch nur auf das eine Event
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion
getriggert wird... hoffentlich  :)

Es würde schon reichen:

([Aussen_Garten_Bewegungmelder_Strasse:"^motion"] ... um "nomotion" auszuschließen.

Gruß

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

Fredi69

Zitat von: Damian am 30 August 2016, 08:22:49
Es würde schon reichen:

([Aussen_Garten_Bewegungmelder_Strasse:"^motion"] ... um "nomotion" auszuschließen.

Gruß

Damian
Es hat beides nicht gereicht.
Nach versch. Tests muss es anscheinend wie folgt umgesetzt werden:
([Aussen_Garten_Bewegungmelder_Strasse:"^motion: on"])

Vielen Dank für Eure Hilfe
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

automatisierer

bei

(["Aussen_Garten_Bewegungmelder_Strasse:^motion"] ...

wird bei jedem Event getriggert das 'Aussen_Garten_Bewegungmelder_Strasse' irgendwo im Devicenamen und 'motion' am Anfang des Events hat, also bei:

2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion: on (to HMLAN1)
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motionCount: 110_next:60s
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion


wenn du hingegen

(["Aussen_Garten_Bewegungmelder_Strasse:^motion$"] ...

nimmst, dann wird bei jedem Event getriggert das 'Aussen_Garten_Bewegungmelder_Strasse' irgendwo im Devicenamen und einem Event welches NUR aus 'motion' besteht, also nur bei:

2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion

Damian

Zitat von: automatisierer am 30 August 2016, 19:43:59
bei

(["Aussen_Garten_Bewegungmelder_Strasse:^motion"] ...

wird bei jedem Event getriggert das 'Aussen_Garten_Bewegungmelder_Strasse' irgendwo im Devicenamen und 'motion' am Anfang des Events hat, also bei:

2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion: on (to HMLAN1)
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motionCount: 110_next:60s
2016-08-30 06:43:44 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion


Das stimmt nicht ganz. Die drei Event-Zeilen gehören wahrscheinlich zu einem Trigger, hier würde "motion" (zumindest bei DOIF) nur einmal triggern.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Fredi69

Ich merke das ich nicht alleine unsicher bin. So richtig kann mir das anscheinend keiner exakt sagen, warum was wie geht oder nicht.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

automatisierer

das kann man schon... bei FHEM passiert nix zufällig oder ausversehen...

Das was ich da geschrieben habe stimmt ja - allerdings nicht im Zusammenhang mit den von dir geposteten Events. Da diese zu einem Trigger gehören und DOIF von denen somit nur ein mal getriggert wird (das wusste ich bisher nicht).
Damit ist allerdings nicht geklärt warum dein DOIF mehrfach getriggert wurde. Das kann dann m.M.n. nur daran liegen, dass du entweder nicht alle Events die bei einem auslösen des Bewegungsmelders entstehen gepostet hast, oder wir reden bei
Zitatwelches immer zweimal hintereinander meine Lampen anschaltet
aneinander vorbei.
Ich hatte 'zweimal hintereinander' so verstanden, dass beim auslösen des Bewegungsmelders zweimal der 'set ...' Befehl kommt.

Bei einer ungenauen/ungenügenden Beschreibung des Problems, kann dir keiner die genaue Lösung/Ursache liefern.

Fredi69

Zitat von: automatisierer am 30 August 2016, 21:18:46
das kann man schon... bei FHEM passiert nix zufällig oder ausversehen...

Das was ich da geschrieben habe stimmt ja - allerdings nicht im Zusammenhang mit den von dir geposteten Events. Da diese zu einem Trigger gehören und DOIF von denen somit nur ein mal getriggert wird (das wusste ich bisher nicht).
Damit ist allerdings nicht geklärt warum dein DOIF mehrfach getriggert wurde. Das kann dann m.M.n. nur daran liegen, dass du entweder nicht alle Events die bei einem auslösen des Bewegungsmelders entstehen gepostet hast, oder wir reden beianeinander vorbei.
Ich hatte 'zweimal hintereinander' so verstanden, dass beim auslösen des Bewegungsmelders zweimal der 'set ...' Befehl kommt.

Bei einer ungenauen/ungenügenden Beschreibung des Problems, kann dir keiner die genaue Lösung/Ursache liefern.
Das hast Du wohl den Nagel auf den Kopf getroffen, ich habe heute gesehen, dass nach ca. 60 Sekunden weitere Events kommen.

2016-08-30 21:24:50 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motion: off
2016-08-30 21:24:50 CUL_HM Aussen_Garten_Bewegungmelder_Strasse motionDuration: 62
2016-08-30 21:24:50 CUL_HM Aussen_Garten_Bewegungmelder_Strasse noMotion


Ich nehme jetzt an, dass durch dieses "noMotion" die Lampe das zweite mal geschaltet wird.

Vielen Dank
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten