Hallo in die Runde
Eigentlich wollte ich das als Frage stellen, aber im Verlauf des Schreibens bin ich selbst drauf gekommen. Vielleicht ist es auch für andere hilfreich. Daher teile ich es einfach mal. Evtl. gibt es ja auch einen eleganteren Weg oder Verbesserungsvorschläge.
Worum geht es?
Ich habe in meinem Dashboard Werte für den Ladestand meiner Hausbatterie und für den Ladestrom. Dazu hätte ich gerne eine Ansage, wie die voraussichtliche Restladezeit ist.
Das sieht jetzt so aus:

Die Batterie hat 13kW. Also sind 1% = 130W
Der Ladestrom ist zwischen 0 und 4.500W.
Wenn die Batterie entlädt, ist der Ladestrom minus.
Hier wüsste ich natürlich auch gerne, wie lange die Batterie beim gegenwärtigen Verbrauch noch halten würde.
In YAML:
{% if float(states('sensor.e3dc_battery_power')) <= 0 %}
{{ (((float(states('sensor.e3dc_battery_state_of_charge')) ) * 130) / (float(states('sensor.e3dc_battery_power')))) | round(0) }} h
{% elif float(states('sensor.e3dc_battery_state_of_charge')) <= 70 %}
{{ (((100 - (float(states('sensor.e3dc_battery_state_of_charge'))) ) * 130) / (float(states('sensor.e3dc_battery_power')))) | round(0) }} h
{% else %}
{{ ((((100 - (float(states('sensor.e3dc_battery_state_of_charge'))) ) * 130) / (float(states('sensor.e3dc_battery_power')))) * 60) | round(0) }} min
{% endif %}
Übersetzt:
Wenn die Batterieleistung weniger als 0 ist (also entlädt), dann nehme den aktuellen Prozentstand * 130W und teile es durch die Entladeleistung.
Ansonsten (wenn sie lädt): Nehme die fehlenden Prozent (100 - aktueller Stand) * 130W und teile das durch die aktuelle Ladeleistung.
Hier noch eine Unterscheidung: Bei weniger als 70% Ladung reicht mir die Angabe in Stunden, danach in Minuten.
Die Icon-Farbe ist rot oder grün, je nach Zustand (laden/entladen):
{{ (states("sensor.e3dc_battery_power") | float(0) < 0) | iif("red", "green") }}
Und als Zusatzinfo habe ich noch den Ladestand in kW (statt in Prozent).
{{ (float(states('sensor.e3dc_battery_state_of_charge')) * 0.130) | round(1) }} kW
Sicher gibt es da noch Potenzial. Die Restzeit schwankt natürlich, da immer gerade der aktuelle Ladestand abgefragt wird. Genauer wäre es z.B. wenn man einen 2- oder 5-Minuten Durchschnitt nähme (über einen Helfer)? Aber das übersteigt dann meine Fähigkeiten.
Beste Grüße,
clfberlin
