Letzten Batteriewechsel merken

Begonnen von iceman, 10 Juli 2020, 10:36:52

Vorheriges Thema - Nächstes Thema

iceman

Hallo zusammen, ich schreibe die aktuellen Batteriestände meiner Xiaomi Sensoren in eine LogDatei.

Nun würde ich gerne in jedem Device den Zeitpunkt speichern, an dem ich die Batterie ausgetauscht habe. Ich stelle mir vor das mittels UserReading zu machen. Quasi so:


wenn BatteryPercent > lastBatteryPercent dann lastChange = aktuellen Zeitpunkt.


Wie ihr an meine pseudo Beschreibung seht fällt es mir noch schwer das ganze in ein Code zu giessen. Kann mir dabei jemand helfen? Oder gibt es eine elegantere Lösung.?

Danke schon mal um voraus.


betateilchen

Ich habe in meinen batteriebetriebenen Homematic Geräten einen Aufkleber am Batteriefach, auf dem ich mit Bleistift das Wechseldatum der Batterie notiere und beim Wechsel ausradiere und neu beschrifte.

Eine richtig schöne analoge Lösung.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

iceman

Das hab ich bei meinen Rauchmeldern (nicht smart) auch. Wenn man aber schon so einen Wert wie Battery geliefert bekommt, kann man ihn doch auch benutzen...

MadMax-FHEM

#3
Vielleicht das hier interessant: https://forum.fhem.de/index.php/topic,82637.msg747514.html#msg747514

Bei diesem Beispiel steht es dann nicht in jedem Device selbst sondern in einem "Sammeldummy" aber das lässt sich ja anpassen... ;)

Mit den Änderungen/Anpassungen/Erweiterungen weiter hinten wird (bei mir) auch in der Telegram Nachricht mitgegeben WELCHER TYP Batterie :)
Damit ich eben auch weiß was ich besser da habe bzw. besorgen muss weil demnächst eine Batterie fällig wird...
(steht bei mir somit auch im Device -> userAttr)

Und es wird (bei mir / weiß nicht, was alles übernommen wurde) auch mit protokolliert, wie die Haltbarkeit ist/war.

D.h. langsam (habe ja meine Homematic Dinger schon seit fast 6 Jahren / die anderen Batterie geräte noch nicht lange genug ;)  ) füllt sich die "Tabelle" wo drin steht wie lange (wieviele Wochen) die Batterien gehalten haben...
...natürlich alles automatisch :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

jkriegl

Ich benutze "attr comment". Sieht dann so aus (HM-Beispiel) Bat-Wechsel 2017-08-28 2020-03-08
Gibt es auch bei den Xiaomi's
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

MadMax-FHEM

Zitat von: jkriegl am 10 Juli 2020, 12:41:46
Ich benutze "attr comment". Sieht dann so aus (HM-Beispiel) Bat-Wechsel 2017-08-28 2020-03-08
Gibt es auch bei den Xiaomi's

Manuell oder automatisch!?

Wenn automatisch -> rotes Fragezeichen mit autom. "save" hinterher!? (kann "kritisch" sein)

Wenn manuell -> naja, manuell halt (für was heißt es HeimAUTOMATISIERUNG ;)  )...


In comment schreibe ich (wichtige) Schritte für einen (evtl. nötigen) "Neuanfang" oder sonstige (wichtige) Anmerkungen...
...da wäre kein Platz für die Info...

Auch eine Anzeige einer Übersicht geht mit einer readingsGroup nicht "dynamisch", weil da Attribute nur aktualisiert werden, wenn die Seite der readingsGroup neu geladen wird (soweit mir bekannt)...
...gut einen Batteriewechsel hat mal nicht alle Tage ;)

Und den Batteriezustand!?
Eine Übersicht!?
Eine Warnung, dass bald leer bzw. jetzt leer!?

Das alles bietet das verlinkte "Modul"... :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Markus M.

Einfach für das batteryState Reading (das mit low/ok) timestamp-on-change-reading setzen reicht nicht?
Aktuell weder Smarthome noch FHEM vorhanden

MadMax-FHEM

Naja, dann weiß man nur wann sie leer waren...
...und das Reading "verschwindet" ja wieder (bzw. -> ok) nach dem Einlegen neuer Batterien... ;)

Homematic (Batterie-)Geräte haben (oft) ein powerOn Reading, da sollte für lange Zeit (also wenn nichts mit Spannungsversorgung passiert) die "Wechselzeit" drin stehen -> weil danach ja der Power on passiert (passieren sollte ;) )...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Icinger

defmod BatteriewarnungNotify notify .*:[Bb]attery:.* {if($EVENT !~ m/ok/i || (looks_like_number($EVENT) && $EVENT<10) || (looks_like_number($EVTPART1) && $EVTPART1<10)) {\
   if (AttrVal("$NAME","comment",0) ne 1) {\
      Log 3,"Bat $NAME $EVTPART1";;\
      fhem "attr $NAME comment 1";;\
      fhem "msg Bitte Batterie bei Gerät $NAME tauschen";;\
   }\
}elsif(($EVENT =~ m/ok/i || (looks_like_number($EVENT) && $EVENT>50) || (looks_like_number($EVTPART1) && $EVTPART1>50)) and (AttrVal("$NAME","comment","0") eq 1)) {fhem("setreading $NAME lastBatChange ".localtime)}\
elsif (AttrVal("$NAME","comment",0) eq 1) {fhem("deleteattr $NAME comment")}\
\
}


So läuft das bei mir schon länger.
Wenn Batterie nicht "ok" oder unter 10%, wird "comment" auf 1 gesetzt
Wenn Batterie wieder ok oder >50% und "comment" auf 1 ist, wird das reading "lastBatChange" gesetzt.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Markus M.

Zitat von: MadMax-FHEM am 12 Juli 2020, 12:06:53
Naja, dann weiß man nur wann sie leer waren...
...und das Reading "verschwindet" ja wieder (bzw. -> ok) nach dem Einlegen neuer Batterien... ;)
Und wenn du das loggst, hast du eben die Batteriewechsel.
(Und je nach Gerät auch die Zeit mit halbleeren Batterien in der das Reading hin und herspringt)
Aktuell weder Smarthome noch FHEM vorhanden