Hallo zusammen,
ich benötige Hilfe bei einer Definition eines RegEx für ein Notify.
Ich möchte triggern auf das Event Motion eines Bewegungsmelders:
Tr.Bewegung_Motion motion
Das habe ich bis jetzt über Tr.Bewegung_Motion:motion:.*
abgebildet.
Wichtig ist nun aber, dass das Notify nicht auch auf das Event:
Tr.Bewegung_Motion motion: off
auslösst, wenn das "Motion-Event" zu Ende ist.
Könnt Ihr mit bei der Definiton der RegEx helfen?
Vielen Dank und Gruß
Christian
lass das :.* am Ende weg.
Hallo Betateilchen,
scheint leider nicht zu funktionieren.
Ich benötige eine Definitron, die nur genau motion zulässt.
Gruß
Christian
Was genau funktioniert nicht? gar nicht, oder zu oft? oder wie oder was??
wenn das dein Event ist:
Tr.Bewegung_Motion motion
dann geht das:
Tr.Bewegung_Motion:motion
in Form von
define xyz notify Tr.Bewegung_Motion:motion set abc on
Ich erzähl es gern immer wieder:
der . (Punkt) bedeutet > ein beliebiges Zeichen - aber NICHT kein Zeichen.
der * (Stern) bedeutet > beliebige Wiederholung des vorstehenden Zeichens - auch keine Wiederholung.
Also bedeutet .* (PunktSternchen) das auf jeden Fall mindestens ein beliebiges Zeichen folgen muss.
Hallo,
vielen Dank für Eure Rückmeldungen:
Hier einmal die Details.
Ich habe ein Test-Notify gebaut, das einen Dummy befüllt:
defmod n_Bewegung notify Tr.Bewegung_Motion:motion|Wz.Bewegung:motion set du_notify $NAME $EVENT
Den Dummy lasse ich in ein FileLog laufen, um die Ergebnisse besser festhalten zu können.
defmod du_notify dummy
defmod FileLog_du_notify FileLog ./log/du_notify-%Y-%m.log du_notify
Hier die Ergebnisse:
2017-03-12_00:12:41 du_notify Wz.Bewegung motion
2017-03-12_00:12:58 du_notify Tr.Bewegung_Motion motion: on (to HMLAN1)
2017-03-12_00:12:58 du_notify Tr.Bewegung_Motion motionCount: 135_next:60s
2017-03-12_00:12:58 du_notify Tr.Bewegung_Motion motion
2017-03-12_00:14:00 du_notify Tr.Bewegung_Motion motion: off
2017-03-12_00:14:00 du_notify Tr.Bewegung_Motion motionDuration: 62
2017-03-12_00:15:30 du_notify Wz.Bewegung motion
Habt Ihr eine Idee, warum hier auch weitere Events ausgewertet werden?
Vielen Dank für Eure Hilfe und Gruß
Christian
Tipp: notify in EventMonitor durch markieren des gewuenschten Events und "Create/Modify Device" erzeugen und danach die anderen Events auf dem gleichen Weg hinzufuegen.
Guten Morgen zusammen,
vorab: Ich habe die Lösung!
Auch die Definiton des notify über den Eventmonitor bringt genau das gleiche Ergebnis.
Vertausche ich die beiden Devices in der REGEX, also
Tr.Bewegung_Motion:motion|Wz.Bewegung:motion
zu
Wz.Bewegung:motion|Tr.Bewegung_Motion:motion
"fange" ich mir auch die ungewollten Events vom Device Wz.Bewegung ein.
2017-03-12_08:20:33 du_notify Tr.Bewegung_Motion motion: off
2017-03-12_08:20:33 du_notify Tr.Bewegung_Motion motionDuration: 62
2017-03-12_08:26:44 du_notify Wz.Bewegung motion: on (to HMLAN1)
2017-03-12_08:26:44 du_notify Wz.Bewegung motionCount: 55_next:60s
2017-03-12_08:26:44 du_notify Wz.Bewegung motion
Die Lösung bringt letzt endlich folgende Definition:
Wz.Bewegung:motion$|Tr.Bewegung_Motion:motion$
Damit wird m.E. genau auf das String-Ende geprüft. Vielleicht haben die Heros hier eine Erklärung dazu.
Vielen Dank und schönen Sonntag.
Christian