Netzdienliche Steuerung PV

Warum Netzdienlichkeit, was ist das?

Die Energiewende bringt eine fundamentale Herausforderung mit sich: Unser Stromnetz wurde für zentrale Erzeugung gebaut, nicht für Millionen dezentraler Solaranlagen. Genau hier kommt Netzdienlichkeit ins Spiel – Netzdienlichkeit ist ein Konzept, bei dem die dezentralen Solaranlagen aktiv zur Netzstabilität beitragen.

Das Problem:

  • Vormittags laden Millionen PV-Anlagen ihren Speicher voll, obwohl es Strombedarf im Netz gibt.
  • Mittags speisen Millionen PV-Anlagen gleichzeitig Strom ins Netz ein, da ihr Speicher voll ist.
  • Dies führt zu Netzüberlastungen und teurem Redispatch

Die Lösung: Netzdienliches Verhalten

  • Statt den Speicher erst zu laden, unterstützen wir das Netz
  • Morgens: PV-Überschuss einspeisen (statt Batterie zu laden) → dämpft die Morgenlastspitze
  • Nachmittags: Batterie mit lokalem Überschuss laden → entlastet das Netz bei der Mittagsspitze
  • Ergebnis: Weniger Netzausbau, stabileres System, geringere Systemkosten

Die Automatisierung der PV-Anlage

verwendete Home Assistant Entitäten

  1. PV-Prognose (Solcast-Integration)
    • sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute: Prognose für die Rest-PV-Energie des Tages
    • sensor.solcast_pv_forecast_zeitpunkt_spitzenleistung_heute: Zeitpunkt der maximalen Leistung der eigenen PV-Anlage
  2. Batteriemanagement
    • sensor.deye8k_battery: Aktueller Ladestand des eigenen PV-Speichers
    • number.deye8k_battery_max_charging_current: Steuerung des Ladestroms der eigenen Batterie

Die Logik der Automatisierung im Detail

Schlüsselentscheidungen:

  1. Vor der PV-Spitze (morgens):
    • „Kann ich die Batterie später noch voll bekommen?“ → Nur wenn die Prognose knapp ist, wird geladen
    • Sonst: Einspeisung priorisieren → Entlastung der Morgenspitze mit Netzbezug
  2. Nach der PV-Spitze (nachmittags):
    • Batterie laden ->Entlastung der Mittagsspitze mit PV-Überschuss
  3. Sicherheitsfaktor (10%):
    • Berücksichtigt Umwandlungsverluste
    • Puffer für Prognoseungenauigkeiten

Konfigurationsanleitung für Home Assistant

Voraussetzungen:

  • Solcast-Integration, oder ähnliche PV-Vorhersage
  • Batterie Sensor für den Füllstand der Batterie
  • Möglichkeit das Laden der Batterie zu steuern

Schritt-für-Schritt:

  1. Neue Automatisierung anlegen
  2. YAML-Code einfügen:

Die eigenen Werte für den PV-Speicher können in der Automatisierung angepasst werden.

variables:
  battery_capacity: 10.0    # Batteriegröße in kWh
  max_charge_current: 100   # Maximalstrom WR
  max_fill_level: 99.5      # Maximaler Füllstand der Batterie in %
  safety_factor: 1.1         # Bei ungenauen Prognosen erhöhen
alias: Netzdienliche Batterieladesteuerung
description: Regelt Ladeleistung basierend auf Tageszeit, Batteriestand und PV-Prognose
triggers:
  - minutes: /45
    trigger: time_pattern
  - entity_id:
      - sensor.deye8k_battery
      - sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute
      - sensor.solcast_pv_forecast_zeitpunkt_spitzenleistung_heute
    trigger: state
actions:
  - variables:
      battery_level: "{{ states('sensor.deye8k_battery') | float }}"
      remaining_pv: >-
        {{
        states('sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute')
        | float }}
      peak_time_str: >-
        {{ states('sensor.solcast_pv_forecast_zeitpunkt_spitzenleistung_heute')
        }}
      battery_capacity: 25
      max_charge_current: 185
      max_fill_level: 99
      safety_factor: 1.1
      needed_energy: "{{ (battery_capacity * (100 - battery_level) / 100) }}"
      peak_time_ts: >-
        {{ as_timestamp(peak_time_str) if peak_time_str not in ['unknown',
        'unavailable', ''] else none }}
      is_after_peak: |-
        {% if peak_time_ts != none %}
          {{ now().timestamp() > peak_time_ts }}
        {% else %}
          false
        {% endif %}
  - if:
      - condition: template
        value_template: "{{ battery_level >= max_fill_level }}"
    then:
      - target:
          entity_id: number.deye8k_battery_max_charging_current
        data:
          value: 0
        action: number.set_value
    else:
      - if:
          - condition: template
            value_template: "{{ not is_after_peak }}"
        then:
          - if:
              - condition: template
                value_template: "{{ (remaining_pv * safety_factor) < needed_energy }}"
            then:
              - target:
                  entity_id: number.deye8k_battery_max_charging_current
                data:
                  value: "{{ max_charge_current }}"
                action: number.set_value
            else:
              - target:
                  entity_id: number.deye8k_battery_max_charging_current
                data:
                  value: 0
                action: number.set_value
        else:
          - target:
              entity_id: number.deye8k_battery_max_charging_current
            data:
              value: "{{ max_charge_current }}"
            action: number.set_value
mode: single

Warum machen wir das?

  1. Praktischer Klimaschutz:
    • Reduziert Netzausbaukosten
    • Ermöglicht höheren PV-Zubau ohne Netzengpässe
  2. Wirtschaftlicher Vorteil: (Wenn die Pläne zu dynamischen Netzentgelten umgesetzt werden)
    • Höhere Einspeisevergütung durch gezielte Einspeisung
    • Vermeidung teuren Netzausgleichsstroms
    • Höhere Einspeisevergütung durch gezielte Einspeisung
    • Vermeidung teuren Netzausgleichsstroms
  3. Technische Eleganz:
    • Nutzt vorhandene Hardware intelligent
    • Keine zusätzlichen Investitionen nötig

Netzdienlichkeit ist kein Verzicht, sondern intelligente Kooperation mit dem System.

Schreibe einen Kommentar

Datenschutz
Ich, Guido Jeuken (Wohnort: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht mir aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl:
Datenschutz
Flagge Deutsch
Ich, Guido Jeuken (Wohnort: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht mir aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: