openDTU Ertragsanzeige - wie auf 0 setzen bei Abschaltung des Wechselrichters?

calima

Member
Hallo zusammen,

ich habe wieder mal eine knifflige Frage. Den täglichen Ertrag meines Solar-Wechselrichters Hoymiles HM-800, ausgewertet über openDTU, übertragen per MQTT, lasse ich mir auf einem Dashboard anzeigen. Sobald es abends dunkel wird und sich der Wechselrichter (und das openDTU-Modul) abschalten, bleibt der letzte Tageswert stehen, bis er sich bei Wiedereinschalten am nächsten Morgen auf Null setzt. Der Endwert des vorangegangenen Tages bleibt also auch über den Datumswechsel erhalten und verfälscht für einige Stunden die Auswertungen.

Ich hätte es gern andersherum: Beim Ausschalten des HM-800 und/oder des openDTU-Moduls wird der Wert auf Null gesetzt und bleibt dort, bis die Geräte morgens beim Hellwerden wieder hochfahren.

1753948945523.png

MQTT stellt auch die entity reachable zur Verfügung. Wenn sich der Wechselrichter abschaltet, wird ein Zeitstempel generiert, genauso beim Einschalten. Ich habe schon versucht, die beiden entities reachable und yieldday zu kombinieren. Das hat aber bisher nicht funktioniert.
1753949929284.png

Fallen Euch noch andere Möglichkeiten ein?
Vielen Dank!
 
Nun ja. Tagesertrag heißt nun mal "der Ertrag, den die PV an einem Tag erwirtschaftet hat.
Das der Wechselrichter diesen Wert nicht Nachts um punkt 00:00 Uhr zurücksetzen kann, ist logisch. Kein Strom, kein Wechselrichter.
Wenn Du unbedingt um 00:00 Uhr einen Reset haben willst, erstelle einen Verbrauchszähler, nimm "YieldTotal" als Sensor und lass den Verbrauchszähler punkt Mitternacht auf 0 setzen.
 
Hallo @calima,
wenn Du über ein Entity (reachable) feststellen kannst ob der Wechselricher läuft dann kannst Du einen Template Sensor einrichten. Den stellst Du auf 0 wenn der Wechselrichter aus ist, oder Du weist ihm den Wert von yieldday zu.

So in etwa - ohne es geprüft zu haben:
YAML:
  - name: Mein BKW
    unique_id: mein_bkw
    icon: mdi:energie
    state: >
      {% if states('sensor reachable') = 1 %}
        {{ states('sensor.yieldday')|float(0) }}
      {% else %}
        {{ 0|float(0) }}
      {% endif %}
    unit_of_measurement: Watt

Die Bezeichnung für das ICON musst Du nachsehen und auch die genaue Bezeichnung der Sensoren (reachable und yieldday).
Das ICON kannst Du auch weglassen.
 
Zuletzt bearbeitet:
Hallo @calima,
sorry ich habe es gerade mal in dem Template Editor geprüft und einen Fehler entdeckt:
- name: Mein BKW
unique_id: mein_bkw
icon: mdi:energie
state: >
{% if states('sensor reachable') == 1 %}
{{ states('sensor.yieldday')|float(0) }}
{% else %}
{{ 0|float(0) }}
{% endif %}
unit_of_measurement: Watt
Der Vergleich war falsch es heißt: "{% if states('sensor reachable') == 1 %}".
So sollte es passen. (Bis auf o.g. Änderungen.)
 

Zurzeit aktive Besucher

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
6.926
Beiträge
67.189
Mitglieder
7.295
Neuestes Mitglied
HeikoH68
Zurück
Oben