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!