Automatisierung von Solarenergie in Home Assistant: Dynamische Überschussladung

Inhalt
Die Maximierung der Eigenverbrauchsquote einer privaten Photovoltaikanlage (PV) erfordert die Echtzeit-Synchronisation zwischen solarer Erzeugungsleistung, haushaltstypischer Grundlast und leistungsstarken elektrischen Verbrauchern. Wird überschüssige Solarenergie zu niedrigen Einspeisevergütungen in das öffentliche Netz eingespeist, sinkt die wirtschaftliche Effizienz der Anlage erheblich. Die Implementierung einer dynamischen Überschussladungs-Architektur in Home Assistant – basierend auf Modbus- oder MQTT-Telemetriedaten von Hybrid-Wechselrichtern, Smart Metern und Batteriespeichern – ermöglicht es, Großverbraucher (wie Batteriespeicher, Wallboxen und Wärmepumpen) in Echtzeit exakt nach der verbleibenden Überschussleistung zu steuern.
1. Architektonische Grundlagen der Echtzeit-Überschussberechnung
Das dynamische Überschussmanagement basiert auf der Ermittlung der netto am Netzanschlusspunkt verfügbaren Leistung vor der Aktivierung oder Regelung von Lasten. Die Systemarchitektur stützt sich auf drei Kernkriterien:
- Netzeinspeisung (
sensor.grid_export_power): Die in Echtzeit durch einen bidirektionalen Smart Meter gemessene Einspeiseleistung. Ein positiver Wert signalisiert ungenutzten solaren Überschuss. - Dynamische Hysterese-Schwellen: Leistungsintensive Verbraucher dürfen erst aktiviert werden, wenn die Einspeisung einen definierten Schwellenwert über eine Mindestzeitdauer überschreitet (z. B. > 1.500 W für mindestens 300 Sekunden), um ein Takten durch wechselnde Bewölkung zu verhindern.
- Hierarchische Lastverteilung: Der verfügbare Überschuss muss priorisiert vergeben werden: an erster Stelle an den Heimbatteriespeicher (über Ladeleistungs-Limits des Wechselrichters), danach an die Wallbox für Elektrofahrzeuge und zuletzt an thermische Speicher oder Heizstäbe.
2. Schritt-für-Schritt-Konfiguration des Template-Sensors
Um ein sauberes, gefiltertes Signal für Home-Assistant-Automatisierungen bereitzustellen, muss in der configuration.yaml ein dedizierter Template-Sensor zur exakten Berechnung des Netto-Überschusses definiert werden:
- Definition des Template-Sensors: Erstellung einer modernen Template-Sensor-Entität namens
sensor.solar_surplus_power, welche die Netzeinspeisung auswertet und negative Werte (Netzbezug) strikt auf Null setzt. - Anwendung einer Hysterese-Glättung: Einsatz eines Tiefpassfilters oder gleitenden Mittelwerts über die Home-Assistant-Filter-Integration, um kurzzeitige Leistungsspitzen durch anlaufende Haushaltsgeräte zu glätten.
- Sicherstellung der Einheitenkonsistenz: Alle Leistungswerte müssen einheitlich in Watt (W) geführt werden, ergänzt durch explizite Definitionen von
device_class: powerundstate_class: measurementfür die Kompatibilität mit Riemann-Summen-Integratoren.
Produktionsreifer YAML-Template-Sensor
template:
- sensor:
- name: "Solar Surplus Power"
unique_id: "solar_surplus_power_dynamic"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
state: >
{% set export_power = states('sensor.grid_meter_export_power') | float(0) %}
{% set import_power = states('sensor.grid_meter_import_power') | float(0) %}
{% if export_power > import_power %}
{{ (export_power - import_power) | round(0) }}
{% else %}
0
{% endif %}
availability: >
{{ has_value('sensor.grid_meter_export_power') and has_value('sensor.grid_meter_import_power') }}
3. Schritt-für-Schritt-Automatisierung für dynamische Laststeuerung
Auf Basis des zuverlässigen Überschuss-Sensors wird eine Automatisierung eingerichtet, welche die Ladeleistung regelt, ohne ein Schwingen des Netzbezugs zu verursachen:
- Trigger-Definition: Konfiguration eines Numeric-State-Triggers, der überwacht, ob
sensor.solar_surplus_powerfür kontinuierlich 5 Minuten den Wert von 1.500 W überschreitet. - Bedingungs-Prüfung: Festlegung von Bedingungen, wonach der Ladezustand (SoC) des Batteriespeichers unter 95 % liegen muss und das Elektrofahrzeug angeschlossen ist.
- Aktions-Ausführung (Dynamische Stromanpassung): Ausführung eines Service-Calls zur dynamischen Anpassung des Lade-Stroms (z. B. von 6A auf bis zu 16A pro Phase) proportional zum verfügbaren Überschuss-Delta.
- Kontrollierte Abschaltung: Erstellung einer sekundären Abschalt-Automatisierung, die den Ladevorgang pausiert oder drosselt, sobald der Netzbezug über mehr als 120 Sekunden die Marke von 300 W übersteigt.
Produktionsreifes Automatisierungs-YAML (Überschuss-Aktivierung)
alias: "Solar Surplus: Dynamic Load Engagement"
description: "Aktiviert Überschussladung bei stabiler Einspeisung über Schwellenwert."
trigger:
- platform: numeric_state
entity_id: sensor.solar_surplus_power
above: 1500
for:
minutes: 5
condition:
- condition: numeric_state
entity_id: sensor.battery_state_of_charge
below: 95
action:
- service: number.set_value
target:
entity_id: number.inverter_max_charge_current
data:
value: >
{% set surplus = states('sensor.solar_surplus_power') | float(0) %}
{% set voltage = 50.0 %}
{{ [ ((surplus * 0.9) / voltage) | round(0), 40 ] | min }}
mode: single
4. Zusammenfassung & Mehrwert
Was sich damit erreichen lässt: Die erfolgreiche Einrichtung eines deterministischen, hysterese-geschützten Solarenergie-Überschussmanagements in Home Assistant mittels maßgeschneiderter Template-Sensoren und automatisierter Leistungsanpassungs-Skripte.
Resultierender Mehrwert: Die Photovoltaik-Eigenverbrauchsquote wird auf Werte von häufig über 80 % bis 90 % maximiert. Der teure Netzbezug in den abendlichen Spitzenzeiten wird drastisch minimiert, indem Heimbatteriespeicher und energieintensive Haushaltsgeräte gezielt im Mittagshoch der Sonneneinstrahlung geladen werden. Zudem schützen Hysterese-Timer vor mechanischem Verschleiß an Schützrelais und verhindern Netzpendelungen durch ziehende Wolken.
Fragen und Antworten
Passt die Automatisierung den Ladestrom laufend an, wenn sich der Überschuss ändert?
Nein. Ein numeric_state-Trigger löst aus, wenn der Wert die Schwelle überschreitet und fünf Minuten darüber bleibt; solange er oben bleibt, löst er nicht erneut aus. Die Aktion setzt den Ladestrom also einmal und hält ihn, bis der Überschuss unter 1.500 W fällt und wieder steigt, gleich wie die Sonne in der Zwischenzeit wandert.
Für eine laufende Nachführung braucht die Automatisierung einen zweiten Auslöser, etwa ein time_pattern jede Minute, und eine Bedingung, die prüft, ob überhaupt geregelt werden soll. Wichtiger als der Takt ist die Rechnung: Der Zähler sitzt am Netzanschluss, der gemessene Überschuss ist also das, was nach dem aktuellen Laden übrig bleibt. Der neue Sollwert ergibt sich deshalb aus der Ladeleistung, die der Wechselrichter meldet, plus dem gemessenen Überschuss, nicht aus dem Überschuss allein; sonst jagt die Regelung dem eigenen Verbrauch der Batterie hinterher, und der Strom pendelt zwischen hoch und niedrig.
Reichen 1.500 W Überschuss als Einschaltschwelle für eine Wallbox?
Für eine einphasige Ladung knapp. Der kleinste Ladestrom von 6 A entspricht bei 230 V rund 1.380 W; nach dem Einschalten bleiben etwa 120 W Überschuss, und die Abschaltbedingung von 300 W Bezug greift nicht.
Eine dreiphasige Wallbox zieht mit 6 A je Phase dagegen rund 4,1 kW. Bei einem Überschuss knapp über der Schwelle bezieht sie nach dem Einschalten etwa 2,6 kW aus dem Netz, die Abschaltautomatisierung pausiert nach 120 Sekunden, der Überschuss kehrt zurück, und fünf Minuten später beginnt alles von vorn. Dreiphasig gehört die Einschaltschwelle deshalb über 4,1 kW plus Reserve, oder die Wallbox lädt bei kleinem Überschuss einphasig.
Wofür stehen die 50 Volt und der Faktor 0,9 in der Aktion?
Die Aktion rechnet Watt in Ampere um, weil der Wechselrichter einen Ladestrom erwartet, und die 50 V stehen dabei für eine Niedervoltbatterie der 48-Volt-Klasse. Der Faktor 0,9 lässt zehn Prozent des Überschusses übrig, damit das Laden nicht in den Netzbezug rutscht, und die Grenze von 40 A deckelt die Ladeleistung bei 2 kW. Für eine Hochvoltbatterie gehört statt der 50 ihre tatsächliche Spannung in die Formel, sonst fällt der Strom um ein Vielfaches zu hoch aus.