Energie-Dashboard: Beispiel Fronius Gen24 & BYD Speicher

 

Das Home Assistant Energy Dashboard zeigt alle relevanten Energie-Daten in einer fertigen ├ťbersicht. Als Basis f├╝r das Dashboard k├Ânnen die Leistungsdaten unterschiedlichster Hersteller oder Komponenten verwendet werden. Damit die Oberfl├Ąche mit Daten versorgt wird, werden lediglich Sensoren mit den entsprechenden Leistungsdaten ben├Âtigt.┬á

 

Initiale Einrichtung

Die Einrichtung des Energy-Dashboards erfolgt unter "Einstellungen", "Dashboards", "Energy":

Das Dashboard kann mit Sensoren f├╝r das Stromnetz: Bezug und Einspeisung, mit Details zur Stromerzeugung von einem oder mehrerer Wechselrichter, sowie den Leistungsdaten eines Batteriespeichers bedient werden. Zudem kann der Gasverbrauch, Wasserverbrauch oder Stromverbrauch einzelner Ger├Ąte visualisiert werden.

Soweit so einfach, f├╝r den Einsatz im Energy-Dashboard m├╝ssen die Sensoren aber bestimmte Kriterien erf├╝llen

Sensor-Voraussetzungen 

Das Energie-Dashboard kann Sensoren mit der Eigenschaft "state_class: total_increasing" verwenden. Die Leistungsdaten f├╝r den Stromverbrauch, Einspeisung, Sonnenkollektoren, Batteriespeicher oder einzelne Ger├Ąte setzen zudem als Einheit ( unit_of_measurement) Wh oder kWh und die Ger├Ąteklasse (device_class) Energy voraus:

  • state_class: total_increasing
  • unit_of_measurement: Wh oder kWh
  • device_class: energy

Ein Blick in die Entwicklerwerkzeuge / Zust├Ąnde verr├Ąt uns, ob der Sensor bereit f├╝r die Verwendung im Energie-Dashboard ist:

Details zu den Eigenschaften und den dahinterliegenden Datenbanktabellen, siehe: HA Verlauf: mehr als 10 Tage? Long Time Statistic (LTS)

Der Teufel liegt im Detail

Mein Setup besteht aus einem Smart Meter, einem┬áFronius Gen24 Wechselrichter mit 2 Strings: Ost/West und einer BYD-HVS-Batterie. F├╝r die PV-Panels meines Balkons verwende ich zus├Ątzlich einen Hoymiles Mikrowechselrichter.

Abh├Ąngig davon, wie die Sensoren der jeweiligen Integrationen zur Verf├╝gung stehen, m├╝ssen diese eventuell ├╝ber einen Helfer aufbereitet werden. Als Beispiel bietet die Fronius-Integration f├╝r den Gen24 Wechselrichter einen Gesamtz├Ąhler f├╝r die gesamte produzierte Energie: leider aber inklusive der Energie die von der Batterie abgerufen wird. Somit kann der Energiez├Ąhler des Wechselrichters nicht f├╝r die PV-Leistung der Panels, im Dashboard "Sonnenkollektoren" verwendet werden. Laut der offizielle Home Assistant Dokumentation werden Batteriesysteme nicht unterst├╝tzt:

Fronius Integration: "Batteriesysteme" werden nicht direkt unterstützt. 

Die offizielle Home Assistant Dokumentation empfiehlt die Verwendung eines "Riemann Summenintegralsensor" Helfers für die PV-Panels.

Der Summenintergralsensor hat an dieser Stelle einen entscheidenden Nachteil: sollte Home Assistant nicht verf├╝gbar sein - und sei es nur f├╝r ein Upgrade auf eine neuere Version - w├╝rde der Sensor die in der Zwischenzeit angefallene Energie nicht z├Ąhlen. Aus diesem Grund versuche ich den Summenintegralsensor m├Âglichst zu vermeiden und bevorzugt Gesamtz├Ąhler zu verwenden. Im Falle des Fronius Gen24 Wechselrichter liefert dieser ├╝ber Modbus f├╝r jeden MPPT-Tracker auch die gesamt erzeugte PV-Leistung der Panels. Um m├Âglichst einfach auf die Modbus-Werte zuzugreife, kann die HACS-Integration "SunSpec" verwendet werden:┬á

Details zur Modbus-Einrichtung und Sunspec, siehe: Fronius: Daten & Einstellungen ├╝bers Netzwerk (Modbus).

Die f├╝r das Energy-Dashboard relevanten Werte liefert das Ger├Ąt: "Multiple MPPT Inverter Extension Model":┬á

Die Entit├Ąt: Module 0 Lifetime Energy (sonsor.fronius_mppt_module_0_lifetime_energy) spiegelt die gesamte erzeugte Energie von String 1 wider und Module 1 Lifetime Energy die Energie von String 2:

Die Entit├Ąten k├Ânnen entweder direkt und einzeln, oder zusammengefasst ├╝ber einen Helfer ins Dashboard eingebunden werden. Nachdem ich die PV-Panels anfangs ohne Batterie ├╝ber den Gesamtz├Ąhler des Wechselrichters eingebunden habe und die Statistik-Daten weiterf├╝hren wollte, habe ich die beiden MPPT-Werte ├╝ber einen Helfer-Sensor zu einer Entit├Ąt zusammengefasst:┬á

Source-Code f├╝r das Zustandstemplate:

{% if states('sensor.fronius_mppt_module_0_lifetime_energy') | is_number  
and 
states('sensor.fronius_mppt_module_1_lifetime_energy') | is_number
%}
{{ (states("sensor.fronius_mppt_module_0_lifetime_energy") | float + states("sensor.fronius_mppt_module_1_lifetime_energy") | float)  }}
{% else %}
{{ states('sensor.pv_dach_energy') }}
{% endif %}

Die Pr├╝fung "is_number" stellt sicher, dass der letzte verf├╝gbare Wert verwendet wird, auch wenn die Integration kurz keine Daten liefern sollte: Was f├╝r Module 0 und 1 kein Problem darstellt, sehr wohl aber f├╝r die Werte von Module 2 und 3:

Lifetime f├╝r Module 2 und 3: Batterie laden und entladen:

Interessant sind an dieser Stelle auch die beiden MPPT Lifetime-Werte von Module 2 und Module 3:
Module 2 z├Ąhlt die Energie mit der eine angeschlossene Batterie geladen wurde und Module 3 die Energie welche der Batterie gesamt entnommen wurde. Die beiden Werte f├╝r die Batterie haben aber ein Problem: Die Daten sind nicht immer verf├╝gbar und wenn dann abwechselnd. Die Ursache f├╝r das Verhalten d├╝rfte in der Modbus-Umsetzung von Fronius zu finden sein.┬á

Nachdem die MPPT-Entit├Ąt f├╝r das Entladen der Batterie relativ stabil geliefert wird, habe ich einen weiteren Template-Sensor daf├╝r erstellt:

Source-Code f├╝r das Zustandstemplate:

{% if states('sensor.fronius_mppt_module_3_lifetime_energy') | is_number  %}
{{ states("sensor.fronius_mppt_module_3_lifetime_energy") | float / 1000 }}
{% else %}
{{ states('sensor.byd_total_discharging') }}
{% endif %}

Auch hier kommt die Pr├╝fung "is_number" zum Einsatz: hier ist diese essenziell, da damit der zuletzt aufgerufene Wert zur Verf├╝gung steht: zumindest ├╝ber l├Ąnger Phasen hinweg. Sollte der Wert nicht mehr aktualisiert werden, hilft ein Neuladen der kompletten Sunspec-Integration:

An dieser Stelle bin ich mir unsicher, ob eine Integration die nur zeitweise die gew├╝nschten Daten liefert die richtige L├Âsung sein kann. Die Verwendung der MPPT-Tracker-Werte f├╝r die Batterie ist keine sch├Âne Sache, aber es kommt noch unsch├Âner: die Verwendung einer Automatisierung f├╝r das Neustarten der Integration:

Workaround: Watchdog f├╝r das Neu laden der Integration

Der Vorteil des Gesamtz├Ąhlers ist sicherlich, dass Daten die nicht erfasst wurden aufgeholt werden, sollte der Gesamtz├Ąhler wieder mal verf├╝gbar sein. Kombiniert mit einer Automatisierung f├╝r das Neustarten der Integration liefert der Sensor bei mir konstant ab. Hier meine eingesetzte Automatisierung f├╝r das ├ťberwachen der Integration und dessen Neustart im Fehlerfall:┬á

[+]
alias: Sunspec MPPT Watchdog
description: ""
trigger:
  - platform: time_pattern
    hours: /3
    enabled: true
  - platform: state
    entity_id:
      - sensor.fronius_mppt_module_3_lifetime_energy
    to: unavailable
    for:
      hours: 0
      minutes: 30
      seconds: 0
condition:
  - condition: state
    entity_id: sensor.fronius_mppt_module_3_lifetime_energy
    state: unavailable
    enabled: true
action:
  - service: homeassistant.reload_config_entry
    data: {}
    target:
      device_id: ???
mode: single
trace:
  stored_traces: 100

F├╝r den Entladez├Ąhler bevorzuge ich die Sunspec-Integration und f├╝r den Ladez├Ąhler verwende ich dennoch einen Summenintegralsensor, da der Ladez├Ąhler nur sehr selten verf├╝gbar ist. Der Ladez├Ąhler ist aufgrund der Ladeverluste etwas h├Âher als der Entladez├Ąhler, f├╝r die Langzeitstatistik meiner Meinung nach aber nicht ganz so relevant. Nicht ganz so relevant zumal der Entladez├Ąhler einen Aufschluss dar├╝ber gibt, wie viel Energie von der Batterie zur Verf├╝gung gestellt und somit durch den Einsatz der Batterie nicht vom Netz abgerufen werden musste.

Riemann Summenintegralsensor

Als Basis f├╝r den Summenintegralsensor werden die aktuellen Leistungsdaten ben├Âtigt. Die Informationen von der Fronius Integration f├╝r Byd sind hier ziemlich sp├Ąrlich:

Zwar k├Ânnten hier die Leistung mit Strom * Spannung in einem eigenen Template-Sensor berechnet werden, besser ist aber die Verwendung der Fronius SolarNet-Integration.┬á

Die Fronius SolarNet-Integration ist hier etwas gespr├Ąchiger, besitzt aber - wie bereits erw├Ąhnt - auch keinen Gesamtz├Ąhler, aber zumindest die Leistung von der Batterie: "SolarNet Leistung von der Batterie":

Der Wert f├╝r SolarNet Leistung von der Batterie spiegelt die Lade und Entladeleistung wider. Positive Werte entsprechen der Entladeleistung, negative Werte der Ladeleistung. F├╝r die Verwendung im Energie-Dashboard ben├Âtigen wir an dieser Stelle zwei unterschiedliche Z├Ąhler, daher habe f├╝r den Ladez├Ąhler ein eigenes Template erstellt, welches nur die Negativen Werte verwendet:┬á

Template-Sensor: "sensor.byd_charging"

{{ 0 - states('sensor.solarnet_leistung_von_der_batterie') | float if states('sensor.solarnet_leistung_von_der_batterie') | float < 0 else 0 }}

Um aus den Daten des Leistungsz├Ąhlers einen Energiez├Ąhler zu erstellen, kann ein "Riemann Summenintegralsensor - Helfer" verwendet werden:

Quellen

Fazit

Das Home Assistant Energy-Dashboard ist gro├čartig, zumal mit sehr wenig Aufwand alle relevanten Daten f├╝r den Energieverbrauch und der Energieerzeugung aufbereitet werden k├Ânnen. Im Vergleich zur Weboberfl├Ąche bestimmter Wechselrichterhersteller unterst├╝tzt Home Assistant unterschiedlichste Hersteller und zudem die M├Âglichkeit die Leistungsdaten verschiedenster Verbraucher auszuwerten.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f├╝r deine Bewertung!

Ver├Âffentlichung: 25.03.2024 von Bernhard | Translation English |­čöö | Kommentare:0

Ô×Ę Fronius und BYD Akku ├╝ber Modbus steuern | Ô׎ PV | Home Assistant Schnee-Erkennung PV-Anlage Ô×Ę
Ô׎ Dashboard, Bedienung & Benachrichtigung

Top-Artikel in diesem Bereich


Fronius und BYD Akku ├╝ber Modbus steuern

Der Fronius-Wechselrichter kann ├╝ber die integrierte Modbus-Schnittstelle ausgelesen und gesteuert werden. So kann zum Beispiel das Laden oder Entladen erzwungen werden, oder eine Lade bzw. Entladebegrenzung eingestellt werden. Warum? Um noch mehr aus der Anlage heraus zu holen.


Deye PV Balkonkraftwerk: Inbetriebnahme und HA Integration

Auch an mir ist der Hype um PV-Anlagen nicht spurlos vorbeigegangen, daher habe ich - um etwas Erfahrung zu sammeln - ein 800 Watt Balkonkraftwerk zusammengestellt: Kosten insgesamt ca. 600ÔéČ. Balkonkraftwerke werden des ├ľfteren als Set angeboten, was meist aus einem Wechselrichter und zwei PV-Modulen inklusive Kabeln besteht. Die Leistung des Wechselrichters begrenzt dabei die maximale Erzeugungsleistung der Anlage. In ├ľsterreich sind aktuell Balkonkraftwerke mit einer Erzeugungsleistung bis max...


Fronius: Daten & Einstellungen ├╝bers Netzwerk (Modbus)

F├╝r den direkten API-Zugriff auf den Fronius-Wechselrichter kann Modbus als Alternative zur Rest-API-Schnittstelle (Solar-API) verwendet werden. Modbus TCP erm├Âglicht es die Daten ├╝ber das Netzwerk auszulesen und bestimmte Einstellungen zu ├Ąndern. Als Beispiel kann ├╝ber Modbus in das Ladeverhalten des Akkus eingegriffen werden, siehe: Fronius und BYD Akku ├╝ber Modbus steuern.

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details