Zum Hauptinhalt springen
pv-balkon.de
Menü öffnen
Home Assistant

Home Assistant PV-Überschuss automatisieren

Geräte bei PV-Überschuss automatisch starten: Sensor-Architektur, robuste Trigger-Logik und PV Excess Control HACS, mit HA-2026.06-Syntax.

8 min Lesezeit Stand 17. Mai 2026

Wer sein Balkonkraftwerk in Home Assistant eingebunden hat, kann Geräte wie Waschmaschine, Spülmaschine oder Boiler automatisch starten, sobald PV-Überschuss vorhanden ist. Dieser Artikel zeigt den kompletten Weg: welcher Sensor als Trigger-Basis taugt, warum der naheliegende Trigger-Typ ein Robustheitsproblem hat, und wann eine HACS-Integration mehr bringt als handgeschriebenes YAML.

Abgrenzung: Strategien und ROI zu Eigenverbrauch stehen im Überblick-Artikel Eigenverbrauchsquote erhöhen. Hier geht es ausschließlich um die HA-Implementierung.

Welcher Sensor als Trigger-Basis?

Das ist die häufigste Architektur-Falle bei BKW-Setups: Wer den WR-Output (z.B. sensor.opendtu_power) als Trigger nimmt, misst nur die PV-Produktion, nicht ob gerade Eigenverbrauch stattfindet. Relevant ist der Netzeinspeisung-Sensor am Hauptanschluss.

Der Unterschied in der Praxis: Das BKW liefert 600 W, gleichzeitig läuft die Kaffeemaschine mit 900 W, der Haushalt bezieht netto 300 W aus dem Netz. Der WR-Output-Sensor zeigt 600 W, ein auf dieser Basis gesteuerter Smart Plug würde also einschalten. Der Netzeinspeisung-Sensor zeigt −300 W (Netzbezug) und hält das Gerät richtig zurück.

Für BKW-Setups ohne Hybrid-Wechselrichter liefert ein Shelly Pro 3EM am Hausanschluss den richtigen Saldierungswert. Einrichtung und Sensor-Konfiguration inkl. der neuen Template-Syntax für HA 2026.06 erklärt Shelly Pro 3EM für BKW einrichten im Detail.

Der für Automatisierungen relevante Sensor ist der saldierte Netzwert: negative Werte = Einspeisung (Überschuss vorhanden), positive Werte = Netzbezug. Ein Beispiel-Template-Sensor nach neuer HA-Syntax :

# Aktuelle Syntax (HA 2026.06+), VERALTET: sensor: - platform: template
template:
  - sensor:
      - name: "Netzleistung saldiert"
        unit_of_measurement: W
        device_class: power
        state: >
          {{ states('sensor.shelly_pro3em_power_a') | float(0)
           + states('sensor.shelly_pro3em_power_b') | float(0)
           + states('sensor.shelly_pro3em_power_c') | float(0) }}

Einfache Automatisierung: Smart Plug bei Überschuss schalten

Das Grundprinzip: Wenn der saldierte Netzwert unter −150 W fällt (150 W Einspeisung), schalte den Smart Plug ein. Geeignet für Geräte, die sofort gestartet werden können, z.B. ein Wasserkocher, ein Akku-Ladegerät oder ein Ventilator.

Ein Shelly Plus Plug S liefert dabei auch den laufenden Verbrauch des angeschlossenen Geräts als Sensor zurück, was für die Fertig-Erkennung (siehe FAQ) nützlich ist.

automation:
  - alias: "Smart Plug bei PV-Überschuss einschalten"
    trigger:
      - platform: numeric_state
        entity_id: sensor.netzleistung_saldiert
        below: -150  # negativer Wert = Einspeisung
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.shelly_plug_s_geraet

Robustere Variante: Time-Pattern-Trigger

Das numeric_state-Trigger hat ein strukturelles Problem: Es feuert nur beim Überqueren der Schwelle, nicht wenn der Sensor bereits darunter liegt, wenn HA neustartet oder der Trigger anderweitig zurückgesetzt wird . In der Praxis bedeutet das: Wenn um 10:30 Uhr bereits 400 W Überschuss vorhanden sind, das Gerät aber um 10:00 Uhr (noch kein Überschuss) gestartet wurde, feuert der Trigger nie mehr, er hat die Schwelle nie “überquert”.

Die zuverlässigere Alternative ist ein time_pattern-Trigger, der alle 5 Minuten prüft:

automation:
  - alias: "PV-Überschuss alle 5 Min prüfen"
    trigger:
      - platform: time_pattern
        minutes: "/5"
    condition:
      - condition: numeric_state
        entity_id: sensor.netzleistung_saldiert
        below: -150
      - condition: state
        entity_id: switch.shelly_plug_s_geraet
        state: "off"
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.shelly_plug_s_geraet
  - alias: "Gerät abschalten wenn kein Überschuss mehr"
    trigger:
      - platform: time_pattern
        minutes: "/5"
    condition:
      - condition: numeric_state
        entity_id: sensor.netzleistung_saldiert
        above: 50  # kleiner Puffer gegen Ein/Aus-Flackern
      - condition: state
        entity_id: switch.shelly_plug_s_geraet
        state: "on"
    action:
      - service: switch.turn_off
        target:
          entity_id: switch.shelly_plug_s_geraet

Dynamischer Schwellwert per Helper: Wer den Einschaltwert flexibel halten will, legt einen input_number-Helper an (Einstellungen → Helfer → Zahl, z.B. Bereich 0–1000 W, Default 150). In der Condition dann {{ states('input_number.ueberschuss_schwelle') | int }} statt der fixen Zahl, der Wert lässt sich per Dashboard-Slider ändern, ohne YAML anzufassen.

Waschmaschine und Spülmaschine: Home Connect vs. Smart Plug

Für Geräte, die einen Programmstart brauchen statt nur ein Ein/Aus-Signal, gibt es zwei Wege:

Home Connect (Bosch/Siemens/Neff/Miele-Geräte): Die offizielle Home-Connect-Integration in HA kann Waschprogramme direkt starten, ohne Smart Plug . Voraussetzung: Gerät muss manuell vorbereitet sein (Programm gewählt, Tür zu, Remote-Start aktiviert), HA gibt nur das Start-Signal. Die Home Connect API erfordert außerdem einen kostenlosen Developer-Account bei developer.home-connect.com.

Smart Plug für Geräte ohne API: Waschmaschinen ohne Home Connect brauchen einen schaltbaren Smart Plug und eine verzögerte Abschalt-Erkennung. Das Gerät läuft beim Einschalten los (Gerät muss sich nach Stromwiederkehr selbst starten, bei älteren Maschinen oft der Fall). Die Fertig-Erkennung funktioniert über den Leistungsabfall: Im Standby zieht eine Waschmaschine typischerweise unter 5 W, während des Laufs 200–2.000 W, das lässt sich am Plug-Sensor zuverlässig unterscheiden.

SOC als Guard-Condition: Wer einen Speicher hat, ergänzt eine zweite Condition, damit das Gerät nicht startet, wenn der Akku leer ist:

condition:
  - condition: numeric_state
    entity_id: sensor.speicher_soc  # Platzhalter, Entity-Name je nach Speicher
    above: 20

Multi-Gerät mit Priorität: PV Excess Control HACS

Für mehr als zwei Geräte oder wenn SOC-Priorität, Wetterprognose und Stromtarif gemeinsam berücksichtigt werden sollen, ist handgeschriebenes YAML schnell unübersichtlich. Die HACS-Integration PV Excess Control von InventoCasa (Henrik) ist der aktuelle Stand der Technik in der Community .

Was sie kann: Mehrere Geräte parallel mit Priorität steuern (z.B. zuerst Boiler, dann Waschmaschine, zuletzt Wallbox), dynamischen Ladestrom für Wallboxen (6–32 A), Speicher-SOC als Freigabebedingung, Solar-Forecast-Integration für vorausschauende Planung.

Was sie braucht: HA ≥ 2025.8, HACS installiert. Sensor-Inputs: saldierter Netzwert (Grid Import/Export) und optionaler PV-Produktionssensor. Für BKW-Setups ist der Shelly-Netzeinspeisung-Sensor (siehe oben) der korrekte Grid-Sensor.

Installation:

  1. HACS öffnen → Custom Repositories → URL https://github.com/InventoCasa/PV-Excess-Control hinzufügen (Kategorie: Integration).
  2. In HACS unter Integrationen “PV Excess Control” suchen und herunterladen.
  3. HA neu starten, dann unter Einstellungen → Integrationen die Integration einrichten.

Abgrenzung zu evcc

evcc ist für Wallboxen optimiert und bietet dort feingranulare Steuerung auf Ampere-Ebene (1-A-Schritte). Für Haushaltsgeräte (Waschmaschine, Spülmaschine, Boiler) ist evcc nicht vorgesehen.

Wichtig für BKW: Überschussladen eines E-Autos funktioniert nicht mit BKW-Produktion allein, die Mindestladeleistung einphasig liegt bei 1,4 kW. Was evcc steuert, ist der Hausnetz-Überschuss (BKW-Einspeisung minus Hausverbrauch). Ein BKW kann dazu beitragen, den Schwellwert zu senken, aber nicht allein ausreichen. Für den vollständigen evcc-Setup mit Shelly als Grid-Meter: Home-Assistant-Hub.

Fazit

Für den Einstieg mit einem oder zwei Geräten reicht ein Time-Pattern-Trigger plus Condition-Check auf den saldierten Netzeinspeisung-Sensor, ca. 30 Zeilen YAML. Der Shelly Pro 3EM als Sensor ist dabei das Fundament, nicht optional. Wer drei oder mehr Geräte priorisiert steuern oder Forecast und SOC einbeziehen will, setzt direkt auf PV Excess Control (HACS) statt das Rad neu zu erfinden.

Einzige Falle, die unbedingt vermieden werden sollte: YAML-Snippets aus Anleitungen vor 2026 kopieren. Die alte sensor: - platform: template-Syntax bricht ab HA 2026.6 den Neustart .

Passende Hardware

Shelly · Empfehlung

Shelly Pro 3EM

Funktion
Netzsensor (3-Phasen)
Max. Strom
120 A
Anbindung
MQTT + HA-Integration
Use-Case
Saldierter Netzwert

Fundament für jede PV-Überschuss-Automation

Drei Phasen separat plus saldierter Wert

Einbau im Hauptverteiler braucht Elektriker

Keine native Saldierung, HA-Template nötig

Shelly

Shelly Plus Plug S

Funktion
Schaltbare Steckdose
Max. Last
ca. 2.500 W
Verbrauchsmessung
Ja
Anbindung
MQTT + HA

Liefert Standby-Wert für Fertig-Erkennung

Plug-and-play, kein Elektriker nötig

Nur Ein/Aus, keine stufenlose Regelung

Waschmaschine braucht Stromausfall-Wiederanlauf

Verwandte Artikel

Häufige Fragen

Warum feuert mein Überschuss-Trigger nicht, obwohl genug PV-Leistung vorhanden ist?
Das ist das klassische numeric_state-Problem: Dieser Trigger feuert nur beim Überqueren eines Schwellwerts, nicht wenn der Zustand schon darüber liegt. Lösung: Auf Time-Pattern-Trigger (alle 5 Minuten) plus Condition-Check umsteigen. Dann wird der Überschuss regelmäßig geprüft, unabhängig davon, wann der Sensor die Schwelle zuletzt überquert hat.
Kann ich den Schwellwert ohne YAML-Edit anpassen?
Ja. Einen input_number-Helper in HA anlegen (Einstellungen → Helfer → Nummer), z.B. input_number.ueberschuss_schwelle mit Default 150 (Watt). In der Automation dann diesen Helper statt einer festen Zahl referenzieren: {{ states('input_number.ueberschuss_schwelle') | int }}. Der Wert lässt sich danach per Dashboard-Karte schieben, ohne die YAML-Automation anzufassen.
Wie erkenne ich, dass die Waschmaschine fertig ist?
Über den Leistungsabfall am Smart Plug. Waschmaschinen ziehen im Standby unter 5 W. Eine zweite Automation mit trigger: numeric_state (entity: sensor.plug_power, below: 5, for: '00:02:00') erkennt das Ende des Programms zuverlässig, und kann z.B. eine Benachrichtigung schicken oder den Plug abschalten.
Was ist der Unterschied zwischen PV Excess Control und evcc?
PV Excess Control ist eine Home-Assistant-Integration für allgemeine Haushaltsgeräte (Waschmaschine, Spülmaschine, Boiler, Wärmepumpe). evcc ist spezialisiert auf Wallboxen und E-Auto-Laden, bietet dort aber deutlich feinere Steuerung (dynamischer Ladestrom 6–32 A). Für BKW-Setups ohne E-Auto ist PV Excess Control die richtige Wahl; mit E-Auto setzt man evcc für die Wallbox ein und PV Excess Control für die restlichen Geräte.
Wie verhindere ich, dass das Gerät bei kurzem Wolkendurchzug sofort wieder ausgeht?
Mit einer for:-Bedingung im Trigger: Der Überschuss muss für mindestens 5–10 Minuten stabil über dem Schwellwert liegen, bevor die Automation anspringt. Beim Time-Pattern-Ansatz reicht es, eine input_boolean-Hilfsvariable zu setzen, wenn der Überschuss zweimal in Folge (2 × 5-Min-Intervall) ausreicht, das dämpft kurze Ausreißer.
Muss ich einen Speicher-SOC als Bedingung einbauen?
Kommt auf dein Setup an. Ohne Speicher: irrelevant. Mit Speicher: empfohlen, wenn der Speicher nicht leer gefahren werden soll, bevor das Gerät läuft. Typische Condition: state des Speicher-SOC-Sensors above: 20 (Prozent). So läuft die Waschmaschine erst, wenn der Akku mindestens zu 20 % gefüllt ist, verhindert unnötig Netzbezug bei schlechtem Wetter.