FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: thgorjup am 15 Februar 2017, 11:53:50

Titel: [Gelöst] Notify mit regex für Pollenflug
Beitrag von: thgorjup am 15 Februar 2017, 11:53:50
Hallo zusammen,

ich möchte per notify eine Pushover senden wenn der Status sich ändert und nicht "white" ist.
Ich habe bislang folgendes:


define not_Pollenflug notify Pollenflug:fc1_Graeser.*(?!white) set pushmsg msg 'fhem' 'Achtung neue Meldung für Pollenflug Gräser: [Pollenflug:fc1_Graeser]!'


Aber des Regex klappt leider nicht. Auch wenn "rc_dot@white" gemeldet wird, wird das Pushover gesendet.
Desweiteren erscheint z.B. in der Pushover Meldung:

Achtung neue Meldung für Pollenflug Gräser: rc_dot@orange

und ich möchte, dass folgendes erscheint.

Achtung neue Meldung für Pollenflug Gräser: orange


Kann mir bitte jemand behilflich sein?

Danke und Gruß
Thomas









Titel: Antw:Notify mit regex für Pollenflug
Beitrag von: DeeSPe am 15 Februar 2017, 12:02:33
Zitat von: thgorjup am 15 Februar 2017, 11:53:50
Hallo zusammen,

ich möchte per notify eine Pushover senden wenn der Status sich ändert und nicht "white" ist.
Ich habe bislang folgendes:


define not_Pollenflug notify Pollenflug:fc1_Graeser.*(?!white) set pushmsg msg 'fhem' 'Achtung neue Meldung für Pollenflug Gräser: [Pollenflug:fc1_Graeser]!'


Aber des Regex klappt leider nicht. Auch wenn "rc_dot@white" gemeldet wird, wird das Pushover gesendet.
Desweiteren erscheint z.B. in der Pushover Meldung:

Achtung neue Meldung für Pollenflug Gräser: rc_dot@orange

und ich möchte, dass folgendes erscheint.

Achtung neue Meldung für Pollenflug Gräser: orange


Kann mir bitte jemand behilflich sein?

Danke und Gruß
Thomas

Mit Deinem versuchten negative Lookahead komme ich auch nicht klar in FHEM.
Mach lieber eine positiv Match Liste. Das sollte problemlos funktionieren.

define not_Pollenflug notify Pollenflug:fc1_Graeser:rc_dot@(orange|red|purple).* set pushmsg msg 'fhem' 'Achtung neue Meldung für Pollenflug Gräser: [Pollenflug:fc1_Graeser]!'

Bitte "(orange|red|purple)" entsprechend anpassen.

Gruß
Dan

EDIT: Hab nochmal das "rc_dot@" im notify ergänzt.
Titel: Antw:Notify mit regex für Pollenflug
Beitrag von: thgorjup am 15 Februar 2017, 12:06:54
Danke sehr, ich glaube das funktioniert. Derzeit ist Status "white" und beim Update kommt keine Meldung mehr.


define not_Pollenflug notify Pollenflug:fc1_Graeser.*(yellow|orange|red) set pushmsg msg 'fhem' 'Achtung neue Meldung für Pollenflug Gräser: [Pollenflug:fc1_Graeser]!'


Jetzt fehlt nur noch das rausfiltern von "rc_dot@" aus der Pushover Meldung.  ;)
Titel: Antw:Notify mit regex für Pollenflug
Beitrag von: DeeSPe am 15 Februar 2017, 12:08:51
Um das "rc_dot@" aus dem Reading zu entfernen kannst Du dieses substituieren.
Dadurch wird das notify aber gleich komplexer weil Sprung auf Perl.

define not_Pollenflug notify Pollenflug:fc1_Graeser:rc_dot@(orange|red|purple).* {my $t=$EVTPART1; $t=~s/rc_dot@//; fhem "set pushmsg msg 'fhem' 'Achtung neue Meldung für Pollenflug Gräser: $t!'"}

Gruß
Dan

EDIT: schliessende } vergessen und ergänzt!
Titel: Antw:Notify mit regex für Pollenflug
Beitrag von: thgorjup am 15 Februar 2017, 12:44:25
Perfekt! Danke schön!