Hallo,
ich muss das Thema leider noch einmal hochholen. In meinem Fall durch einen Solax-Wechselrichter.
Der Wert für die gesamte erzeugte elektrische Arbeit (kWh) verschwindet auch in meinem Fall, sobald der WR sich schlafen legt. Problem dabei ist, dass er am nächsten Tag in den ersten Minuten nach dem Starten des WR 0 ist, und erst später den intern gespeicherten Wert übernimmt und an HA bereit stellt.
Dieses Verhalten schmeißt täglich mein Energiedashboard über den Haufen in dem er z.B. 1660 kWh für heute zwischen 7 und 8 Uhr meldet. Klingt traumhaft, ist es aber leider nicht.
Ich hatte mir schon versucht per Helfer “Verbrauchszähler” ein speichernden Zählwerk zu basteln, habe dazu auch beim Erstellen die Option “Regelmäßige Rückstellung” verwendet, bringt aber leider nichts, da die grundlegende Entität beim Start scheinbar einige Male verschwindet, somit mehrfach addiert wird. Der Verbrauchzähler hat dann manchmal ein vielfaches des eigentlichen Wertes.
Dann habe ich diesen Thread gefunden und den oben erwähnten Template-Sensor übernommen und versucht anzupassen. Die Idee wäre, dass der Template-Sensor neben den Zuständen “unavailable” und “unkown” auch nicht 0 sein darf, erst wenn wieder ein Wert größer 0 kommt, soll dieser übernommen werden. Klappt aber leider auch nicht, bei “unavailable” und “unkown” behält er den alten Wert, bei 0 ist der Ausgangswert auch 0 
Das Code-Schnipsel aus meiner configuration.yaml sieht momentan so aus:
template:
-sensor
- name: "Solax Energy Total"
unit_of_measurement: "kWh"
state: "{{ state_attr('sensor.solax_rest_local', 'Data')[11] | float / 10 }}"
device_class: energy
state_class: total_increasing
icon: mdi:chart-line
# Zwischenspeicherung Solax Energy Total
- name: "Solax Energy Total cached"
unit_of_measurement: "kWh"
state: |
{% set sensor = states('sensor.solax_energy_total') %}
{% if sensor == 'unavailable' or sensor == 'unknown' % or sensor == 0}
{{ this.state }}
{% else %}
{{ sensor }}
{% endif %}
device_class: energy
state_class: total_increasing
icon: mdi:chart-line
Das erste Template, ist der Sensor, welcher nachts verschwindet, der wird aus einem Sensor extrahiert, der per Modbus-Port 506 den WLAN-Stick am WR abfragt.
Der Zweite soll den zwischengespeicherten Sensor darstellen, ich denke mir, man könnte das sicher auch beides ineinander schachteln, aber erstmal Step-by-Step für die Fehlersuche.
Das Ganze sieht dann beim Start des WR so aus:
Blau ist der direkt am WR ausgelesene Wert, gelb(versteckt sich viel hinter dem blau) ist der zwischengepeicherte Wert, rot ist ein Verbrauchszähler-Helfer mit der aktivierten Option “Regelmäßige Rückstellung”, als Eingangs-Entität hatte beides “Solax Energy” testweise verwendet, zeigt immer das gleich Verhalten.
Wie bekomme ich es nun hin, das er die 0 nicht nimmt, sondern bei dem Wert beibehält?
Einen Neustart von HA, wenn der WR bereits down ist, überlebt dieses gebastelte leider auch nicht.
weiter oben steht auch etwas von “trigger:” das funktioniert bei mir scheinbar nicht, da stürzt die ganze configuration.yaml zusammen, dass heißt, nichts aus dieser, auch andere Template-Sensoren funktioniert mehr.