FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tommy82 am 15 November 2017, 21:15:31

Titel: Batterie LOW Meldung obwohl OK
Beitrag von: Tommy82 am 15 November 2017, 21:15:31
Hi,
ich habe ein notify welches den Batterie Status meiner HM Geräte überwacht und mich bei niedriegem Batterie Stand informiert, jetzt hab ich eine entsprechende Meldung bekommen, aber wenn ich ins Device gucke ist Battery=OK.  Was könnte da falsch laufen?

Inhalt der Email:
rd_Rauchmelder_Erdgeschoss: Flur_EG.battery: <html>ok</html>
Das notify sieht so aus:

.*[Bb]attery:.(?!ok).* {
if (($NAME ne "rd_Batterie") && ($NAME ne "rd_Batterie_Level") && ($NAME ne "rd_Rauchmelder") && (Value("BATT_Status") ne "LOW" )) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
    }
}


Was könnte da falsch sein?

Danke
Titel: Antw:Batterie LOW Meldung obwohl OK
Beitrag von: Invers am 15 November 2017, 21:23:10
Kann sein, dass die Batterie sich immer erholt, bis du guckst.
Tausch sie doch einfach zum Test mal aus.
Das Problem hatte ich neulich beim HM Handsender für mein Schloss.
Titel: Antw:Batterie LOW Meldung obwohl OK
Beitrag von: igami am 15 November 2017, 21:28:38
Dafür habe ich mal das monitoring Moudul geschrieben. Damit lassen sich diese Übergangszeiten abfangen indem man warte bis das Gerät eine bestimmte Zeit lang battery low sendet.

Zitat aus der commandref:
Zitat
Jedes monitoring verfügt über eine warning- und eine error-Liste, welche als Readings gespeichert werden.
Beim auftreten eines definierten add-events wird das Gerät nach einer vorgegeben Zeit auf die warning-Liste gesetzt.
Nach einer weiteren vorgegeben Zeit wird das Gerät von der warning-Liste gelöscht und auf die error-Liste gesetzt.
Beim auftreten eines definierten remove-events wird das Gerät von beiden Listen gelöscht und noch laufende Timer abgebrochen.
Hiermit lassen sich auf einfache Weise Sammelmeldungen erstellen und durch zwei Attribute formatiert ausgeben.

[...]

Batterieüberwachung

defmod Batterie_monitoring monitoring .*:battery:.low .*:battery:.ok
attr Batterie_monitoring errorReturn {return unless(@errors);;\
$_ = AttrVal($_, "alias", $_) foreach(@errors);;\
return("Bei dem Gerät \"$errors[0]\" muss die Batterie gewechselt werden.") if(int(@errors) == 1);;\
@errors = sort {lc($a) cmp lc($b)} @errors;;\
return(join("\n - ", "Die folgenden ".@errors." Geräten muss die Batterie gewechselt werden:", @errors))\
}
attr Batterie_monitoring errorWait 60*60*24*14
attr Batterie_monitoring warningReturn {return unless(@warnings);;\
$_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
return("Bei dem Gerät \"$warnings[0]\" muss die Batterie demnächst gewechselt werden.") if(int(@warnings) == 1);;\
@warnings = sort {lc($a) cmp lc($b)} @warnings;;\
return(join("\n - ", "Die folgenden ".@warnings." Geräten muss die Batterie demnächst gewechselt werden:", @warnings))\
}

Sobald ein Gerät ein "battery: low" Event auslöst wird das Gerät auf die warning-Liste gesetzt und es wird ein Timer gestartet nach dessen Ablauf das Gerät von der warning- auf die error-Liste verschoben wird. Die Wartezeit ist auf 14 Tage eingestellt.
Sobald ein Gerät ein "battery: ok" Event auslöst wird das Gerät von beiden Listen gelöscht und noch laufende Timer werden gestoppt.
Titel: Antw:Batterie LOW Meldung obwohl OK
Beitrag von: frank am 20 November 2017, 14:22:57
da es ein homematic rauchmelder ist, muss es wohl der alte sec-sd sein. wenn der low meldet, "siehst" du das nicht nur, sondern hörst es auch ganz unangenehm.  ;)

das problem sind sicherlich die "html" tags um die "ok" meldung.
finde heraus wer diese events erzeugt.