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
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.
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. ;)
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!
Perfekt! Danke schön!