HomematicIP zwingen die Batteriewerte in Prozent anzuzeigen?

Hi Fokes,

so, jetzt ist die Zeit als sonst stiller Leser auch mal was zurückzugeben. Und ich glaube, dass ich nicht der Einzige mit diesem Problem bin (war).

Kennen Sie das…
Sie habe ihr HomematicIP über die Custom Integration erfolgreich in Homeassistant integrieren können, nur leider stellt HomematicIP den Batteriezustand nur als Binärwert (normal und niedrig) dar und nicht in Prozent. Das muss nicht sein…

Spaß bei Seite. So gehts:

Sucht euch ein Homematic IP Gerät raus (mit Batterie!)
Im Bereich Diagnose findet Ihr die versteckte Entität Batteriespannung. Diese einmal aktivieren. In meinem Fall ist es ein Lichtsensor (HmIP-SLO)

Danach erstellt Ihr unter Geräte&Dienster > Helfer einen neuen Helfer vom Typ Template. Wir wollen ein Template für einen Sensor erstellen.

Den neuen Template Sensor füllt ihr mit folgenden Werten:

Name:
Ich empfehle den Namen des Betriebsspannungs-sensors PLUS _battery_level in meinem Fall A Lichtsensor Battery Level (*den könnt Ihr danach noch ändern, ich erklär weiter unten wieso)

Zustandstemplate:
In meinem Fall:

{{ ((states('sensor.a_lichtsensor_betriebsspannung') | float - 2) / (3 - 2) * 100) | round(0) }}

Vereinfacht, diesen Code für Geräte mit einer Batterie

{{ ((states('sensor.DEIN_GERÄT_betriebsspannung') | float - 0,9) / (1,5 - 0,9) * 100) | round(0) }}

und diesen Code für Geräte mit zwei Batterien:

{{ ((states('sensor.DEIN_GERÄT_betriebsspannung') | float - 2) / (3 - 2) * 100) | round(0) }}

Erklärung:

Die Formel zur Berechnung lautet *(aktuelle Spannung - lowlevelSpannung) / (Nennspannung - lowlevelSpannung) x 100

  • aktuelle Spannung = die aktuelle Batterispannung aus dem Gerät
  • lowlevelSpannung = die minimale Batteriespannung bei der das Gerät 0% Batterie hat
  • Nennspannung = die Spannung die auf der Batterie steht * Anzahl Batterien

Zur Nennspannung: gilt nur, wenn mehr als eine Batterie in Reihe geschaltet wird. Es gibt tatsächlich ein Heizkörperthermostat von HMIP (HmIP-eTRV-CL), das 4 Batterien hat. Das wäre dann ja 4x1,5V= 6V. FALSCH. 2 Batterien sind scheinbar parallel geschaltet, so dass eine Spannung bei frischen Batterien von 3V anliegt.

Zur LowLevelSpannung: wie komme ich an diesen Wert?
Ganz Einfach:
bei Geräten mit einer Batterie (1,5V) ist die LowLevelSpannung irgendwo bei 0,9V
bei Geräten mit zwei Batterien (3V) liegt die LowLevelSpannung vermutlich bei 2,0V
Wer den Wert exakt wissen will, muss wohl einer sterbenden Batterie zusehen. Dieser Wert wird beim letzten Atemzug angezeigt RIP

(Es existiert eine Diskussion in diesem Forum Porps an akcapak )

Maßeinheit
in Prozent (%)

Geräteklasse
Batterie

Zustandsklasse
Messung

Gerät
Und hier kommt der Vorteil dieser Methode, ihr könnt diese neue Helfer-entität an das entsprechende Gerät “anheften”. Es wird also als untergeordnete Entität vom Gerät gesehen und nicht alleinstehend.

Wenn ihr die Entität soweit erstellt habt, könnt ihr nun unter Geräten > Eurem Gerät die Entität und deren Wert unter den Sensoren sehen.

Ergänzung zur Benennung:

Wir haben der neuen Helferentität einen etwas sperrigen Namen gegeben, aber nur, damit die Entität eine vernünftige Bezeichnung zur Zuordnung erhält. Jetzt können wir den Angezeigten Namen (Friendly Name) ändern, so dass es etwas aufgeräumter später auf unserem Dashboard ist. Die Entitäts-ID bleibt also bestehen.

Wenn ihr den Namen des Gerätes + Bat wählt, wird unter den Geräten das erscheinen:

und auf dem Dashboard dann so:

Empfehlenswert ist es dann noch den ursprünglichen HomematicIP Batteriezustand (den Binärsenor) zu verstecken, so dass er nichts mehr anrichten kann.

Ich muss dazusagen, dass ich mir die Infos von verschiedensten (meist englisch-sprachigen) Quellen zusammengesucht habe. Der Dank gilt also nicht nur mir, sondern der gesamten Community. Ich bringe zwar auch input ein aber fasse hauptsächlich zusammen und übersetze dabei.

Viel Spaß damit und danke für diese tolle Plattform!

1 „Gefällt mir“

Bei der Geräteinfo zu den Homematic IP Gerät gibt es unter Diagnose → nicht angezeigte Entitäten die Entität Batteriespannungspegel. Die gibt den Wert in Prozent an.

Hab nur 2 Homematic IP Geräte. Bei beiden konnte ich das aktivieren.

1 „Gefällt mir“

Ist das irgendwann neu gekommen oder hab ich das übersehen? Ich hab mir auch schon seit langen selber Templatesensoren gebaut

Kein Ahnung wie lange es das schon gibt.
Hab ich kürzlich erst aktiviert.

Hallo,
@Buginithi
Danke für den Hinweis. Hab die Entitäten aktiviert und in meine Batterieübersicht eingebaut.

@Robster
Auch danke an dich für deine Anleitung. Ich hab nämlich noch zwei Homematic Wandthermostate (ohne IP) im Einsatz. Dort gibt es nur die Entität “…Batteriezustand”, die als Einheit V ausgibt. Mit deiner Anleitung hab ich nun auch diese beiden Geräte mit Prozentwerten in meiner Übersicht.

VG
ag1

Ist erst seit der letzten Version drin, aber aufpassen, Fensterkontakt HmIP-SWDO-2 ist falsch, da dieser angeblich 2 AAA Batterien hat und somit passen die Prozente nicht. Hab es schon auf Github gemeldet

Ja, kann man machen. Die Berechnungmethode schein genau so zu sein, allerdings gibts dabei einen Haken. Die rechnen bei einer 1,5V Batterie mit einer LowLevelSpannung von 1,1V. Somit ergibt sich folgende Einteilung:

1,5V = 100%
1,4V = 75%
1,3V = 50%
1,2V = 25%
1,1V = 0%

und bei 1,1V gibt der Batteriezustand den Wert niedrig, was ja nicht heißt, dass die Batterie bei 0% ist und ausgetauscht werden muss. Man würde dann die Batterie austauschen die nach meiner Berechnung noch 33% hat.

Berechnungsliste mit 0,9V als LowLevelSpannung:

1,5V = 100%
1,4V = 83%
1,3V = 66%
1,2V = 50%
1,1V = 33%
1,0V = 16%
0,9V = 0%