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
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.
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?
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 (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...
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.
Es handelt sich um einem HM-SEN-MDIR-SM
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
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 :)
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
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
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
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.
Ich merke das ich nicht alleine unsicher bin. So richtig kann mir das anscheinend keiner exakt sagen, warum was wie geht oder nicht.
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.
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
da Perl CaseSensitive ist, dürfte 'noMotion' nicht 'motion' treffen. Aber die anderen beiden Events
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
treffen 'motion' aber nicht ein '^motion$'
'^motion$' => DOIF reagiert nicht
"^motion$" => so gehts ;D
Besten Dank. Jetzt geht mein Bewegungsmelder wieder richtig :)