[Gelöst] Notify mit regex für Pollenflug

Begonnen von thgorjup, 15 Februar 2017, 11:53:50

Vorheriges Thema - Nächstes Thema

thgorjup

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









FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

DeeSPe

#1
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.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

thgorjup

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.  ;)
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

DeeSPe

#3
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!
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

thgorjup

FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy