Moin zusammen
irgendwie wird mein notify von einem unbekannten Gerät ausgelöst
define BatLowWarning notify .*:[Bb]attery:.* {\
if("%" !~ m/ok/) {\
my $Message = "'Battery Status for \@: " . ReadingsVal("@", "battery", "unknown") . "'";;\
Log 3, "\@ - Battery Status: " . ReadingsVal("@", "battery", "unknown") ;;\
fhem "set PushoverWarning msg 'Sailor Home-Battery Warning' $Message '' 1 ''";;\
};;\
}
Das Logfile sieht wie folgt aus:
2015.11.23 10:40:17 3: @ - Battery Status: unknown
2015.11.23 10:40:19 3: @ - Battery Status: unknown
2015.11.23 10:40:22 3: @ - Battery Status: unknown
Die PushOver Nachricht sieht genau so aus.
Hintergrund: Das notify soll eine PushOver Nachricht senden sobald auch nur ein Gerät sein Reading [Bb]attery verändert/updated und dieses nicht "ok" ist.
Dann soll der Gerätename "@" und der Status "%" angezeigt werden.
a) Wie bekomme ich denn nu raus, welches Gerät den notify ausgelöst hat?
b) Wie schreibe ich den Code richtig um?
Gruss
Sailor
Suche mal nach featurelevel 5.7 hier im Forum und schaue dir die commandref dazu an (notify).
@ und % sind schon lange deprecated und wurden nun in featurelevel 5.7 endgültig durch $EVENT und $NAME abgelöst.
Au Mann...
Mann sollte öfter die ChangeLogs lesen.
Verstehe ich das also so richtig:
define BatLowWarning notify .*:[Bb]attery:.* {\
if($EVENT !~ m/ok/) {\
my $Message = "'Battery Status for " . $NAME . " : " . ReadingsVal($name, "battery", "unknown") . "'";;\
Log 3, "$name - Battery Status: " . ReadingsVal($name, "battery", "unknown") ;;\
fhem "set PushoverWarning msg 'Sailor Home-Battery Warning' $Message '' 1 ''";;\
};;\
}
Gruß
Sailor
Ich bin nicht sicher, ob $name an der Stelle verfügbar ist. => $NAME
Hi Marvin
Zitat von: marvin78 am 23 November 2015, 11:22:18
Ich bin nicht sicher, ob $name an der Stelle verfügbar ist. => $NAME
Ja, meine ich doch! ;)
Gruss
Sailor