Homematic und Batterien

Begonnen von Marko1976, 27 August 2025, 10:21:06

Vorheriges Thema - Nächstes Thema

Marko1976

Hallo zusammen, gibt es irgendwo eine Möglichkeit nachzuschlagen wie die Batteriewerte der Homematik-Geräte genau sind. Also beispielsweise als Prozentwert oder Spannungswert, den man umrechnen kann.
Normalerweise wird ja nur ok, low und ein dritter Wert angezeigt wenn die Batterien ganz tot sind - wobei ich nicht weiß wie diese Ausgabe genau lautet, hatte noch keinen Fall dieser Art.
Wird dann ein "dead" ausgegeben oder was genau?

Kann mir jemand sagen bei welchen Schwellen sich die Werte von "ok" auf "low" bzw. von "low" auf "xxx" ändern?

Hab schon die Suche hier im Forum und allgemein im Netz genutzt, aber nichts verbindliches oder aussagekräftiges gefunden.

betateilchen

#1
Dazu gibt es keine verbindlichen Aussagen oder Umrechnungen. Zumal eine solche Umrechnung höchstwahrscheinlich auch nicht linear wäre.

Den Zustand "dead" gibt es, aber dann nur im ActionDetector, wenn die zyklische Alive-Meldung ausbleibt.
Das Homematic device selbst kann ja keinen Status "dead" mehr schicken, wenn die Batterie leer ist.
Eine Liste aller Homematic-devices, die ein "Batterieproblem" haben, lässt sich automatisch im HMInfo-Device generieren.

BTW: manche Homematic devices liefern die Batteriespannung sogar als eigenes reading, siehe Anhang.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

Tipp: globale User-Attribute einführen, die für jedes betroffene Device den Batterietyp und das Wechseldatum beinhalten. Das erlaubt, wenn man es etwas clever macht, sogar eine Vorhersage über den nächsten Wechseltermin. Bei Thermostaten ist das natürlich im Winterhalbjahr ein deutlich höherer Verbrauch, kann man aber alles berücksichtigen.

LG

pah


betateilchen

#3
Dazu muss man keine Attribute einführen, das kann man per setreading problemlos in jedes passende device schreiben.

Readings können einfacher in Übersichten dargestellt werden als Attribute, beispielsweise in einer readingsgroup.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

Zitat von: betateilchen am 27 August 2025, 17:09:45Dazu muss man keine Attribute einführen, das kann man per setreading problemlos in jedes passende device schreiben.

Readings können einfacher in Übersichten dargestellt werden als Attribute, beispielsweise in einer readingsgroup.
Das ist eine Frage der Logik - denn weder den Batterietyp, noch das Wechseldatum kann man aus dem Device "lesen". Und dass Attribute nicht ebenso einfach dargestellt werden können, wie Readings, ist ein Märchen. Sieht man an dem nachfolgenden Beispiel, in dem für jedes betroffene Device das Reading "battery" und die Attribute "batteryType" und "batteryDate" dargestellt werden. Außerdem eine Spalte, die angibt, wann das Reading "battery" jeweils aktualisiert wurde: Innerhalb der letzten Stunde (in Grün), innerhalb der letzten 14 Tage oder vor mehr als 14 Tagen (in Rot).

defmod rg_battery readingsGroup <Gerät>,<Zustand>,<Datum>,<Typ>,<Wechsel> .*:FILTER=battery(State)?=.*:FILTER=batteryType!=ignore:[bB]attery,[bB]attery:t,?batteryType,?batteryDate
attr rg_battery alias Batteriestatus
attr rg_battery nameStyle style="font-weight:bold"
attr rg_battery room System->Hardware
attr rg_battery valueFormat {if(defined($COLUMN) && $COLUMN eq "2"){my $age=int(time-time_str2num($VALUE));;if($age<3600){"<1h"}elsif($age<86400){"<1d"}elsif($age<1209600){"<14d"}else{">14d"}}}
attr rg_battery valueStyle {if(defined($COLUMN) && $COLUMN eq "1"){($VALUE =~ /low/)?'style="color:red"':'style="color:green"'}\
elsif(defined($COLUMN) && $COLUMN eq "2"){my $age=int(time-time_str2num($VALUE));;{if($age<86400){'style="color:green"'}elsif($age<1209600){'style="color:black"'}else{'style="color:red"'}}}\
else{'style="color:black"'}}


LG

pah