Hardware-Resilienz im Zählerkasten: Modbus-Monitoring & Notstrom-Logik lokal in Home Assistant

Inhalt
Moderne Wechselrichter und Batteriespeichersysteme (BESS) greifen standardmäßig auf cloudbasierte Monitoring-Portale zurück. Während proprietäre Hersteller-Apps optisch ansprechende Dashboards bereitstellen, birgt die Cloud-Abhängigkeit signifikante Latenzen, API-Drosselungen und eine permanente Anfälligkeit für externe Serverausfälle. Kommt es zu einem Stromausfall im öffentlichen Netz, bricht gleichzeitig oft die Internetanbindung ab, wodurch cloudbasierte Energiesteuerungen vollständig unbrauchbar werden.
Echte technische Resilienz in der Hausinfrastruktur verlangt, die Energietelemetrie auf eine deterministische, lokal agierende Architektur umzustellen. Das direkte Auslesen von Registern über Modbus RTU/TCP in Kombination mit automatisierten Lastabwürfen in Home Assistant garantiert Reaktionszeiten im Bereich weniger Sekunden – absolut unabhängig von externen Cloud-APIs.
1. Direkte Register-Telemetrie über Modbus RTU/TCP
Modbus fungiert als industrielles serielles Protokoll für die robuste Hardware-Kommunikation. Statt entfernte Server-Endpunkte abzufragen, kann eine lokal auf einem Raspberry Pi laufende Home-Assistant-Instanz die Register von Wechselrichter und Smart Meter direkt im lokalen Netzwerk (Modbus TCP) oder über ein kabelgebundenes RS485-auf-Ethernet-Gateway (Modbus RTU over TCP) auslesen.
| Telemetrie-Metrik | Register-Typ | Abfrageintervall | Systemrelevanz |
|---|---|---|---|
| Netzspannung / Status | Input Register (3000x) | 1–2 Sekunden | Sofortige Erkennung von Netzausfall & Inselbetrieb |
| Batterie-Ladezustand (SoC) | Holding Register (4000x) | 5 Sekunden | Schwellenwertanalyse für Lastabwurf |
| Wechselrichter-Leistung | Input Register (3000x) | 2 Sekunden | Echtzeit-Berechnung der Energiebilanz |
Lokale Abfragen stellen sicher, dass kritische Betriebszustände wie Netztrennungen, maximale Entladeraten oder Überlastwarnungen ohne Zeitverzug im Event-Bus von Home Assistant registriert werden.
2. Notstrom-Logik: Automatisierter Lastabwurf (Load Shedding)
Wechselt ein Wechselrichter bei Netzausfall in den Inselbetrieb (Backup-Modus), wird die verfügbare Gesamtleistung streng durch die maximalen Batterie-Entladeströme und die Spitzenleistung des Wechselrichters begrenzt. Bleiben unkritische Hochleistungsverbraucher aktiv, schaltet das System wegen Überlast ab und führt zum totalen Blackout im Gebäude.
Zur Vermeidung von Überlastabschaltungen erfordert der Zählerkasten die direkte Integration einer automatisierten Lastabwurf-Architektur. Auf der Hutschiene montierte Leistungsschütze (Industrierelais) werden vor unkritischen Stromkreisen – wie Wallboxen, Wärmepumpen, Außenbeleuchtungen oder untergeordneten Unterverteilungen – platziert. Die Ansteuerung dieser Schütze erfolgt über smarte Hutschienen-Relais, die an einzelne RCBO-Schutzschalter (FI/LS-Kombinationen) gekoppelt sind.
3. Implementierung in Home Assistant (Modbus & Automatisierung)
Die technische Realisierung basiert auf der Definition lokaler Modbus-Sensoren in der configuration.yaml und einer Auslöse-Regel, die bei Netzausfall unkritische Leistungsschütze unverzüglich abwirft.
# configuration.yaml: Lokales Modbus-TCP-Register-Polling
modbus:
- name: "inverter_local"
type: tcp
host: 192.168.50.15
port: 502
sensors:
- name: "Grid Status"
address: 33000
input_type: input
data_type: uint16
scan_interval: 2
- name: "Battery SoC"
address: 37000
input_type: holding
unit_of_measurement: "%"
data_type: uint16
scan_interval: 5
# automation.yaml: Notstrom-Lastabwurf-Logik
alias: "Emergency Grid Loss: Shed Non-Critical Loads"
trigger:
- platform: numeric_state
entity_id: sensor.grid_status
below: 1 # 0 signaliert Netzausfall / Inselbetrieb
action:
- service: switch.turn_off
target:
entity_id:
- switch.contactor_ev_charger
- switch.contactor_heat_pump
- switch.contactor_garden_circuits
- service: notify.persistent_notification
data:
title: "Netzausfall erkannt"
message: "Inselbetrieb aktiv. Hochleistungsstromkreise über Hutschienen-Schütze abgeworfen."
mode: single
Zusammenfassung
Maximale Resilienz in der Hausinfrastruktur bedingt die kompromisslose Abkopplung von Cloud-Diensten. Das lokale Polling der Wechselrichter-Register via Modbus RTU/TCP sowie das automatisierte Abwerfen unkritischer Lasten über RCBO-gekoppelte Leistungsschütze gewährleisten einen stabilen, überlastfreien Notstrombetrieb auf rein lokaler Hardware-Ebene.
Fragen und Antworten
Löst der numeric_state-Auslöser aus, wenn sensor.grid_status bei einem Ausfall des RS485-Gateways auf unavailable statt auf 0 steht?
Nein, und das ist die unangenehmere der beiden Ausfallarten.
numeric_state vergleicht Zahlen. Ein Zustand unavailable ist keine, der Auslöser bleibt still – ausgerechnet in dem Moment, in dem die Automation gebraucht würde. Sichtbar wird das nicht im Normalbetrieb, sondern erst beim ersten echten Ausfall, weil im Test das Gateway weiterläuft und zuverlässig 0 meldet.
Zwei Ergänzungen schließen die Lücke. Erstens ein zweiter Auslöser vom Typ state auf to: unavailable, mit einem for: von zehn bis dreißig Sekunden gegen kurze Aussetzer, der auf dieselbe Aktion führt. Zweitens die Versorgung des Gateways selbst: Hängt es nicht auf der Notstromseite, misst es im Inselbetrieb nichts, und die gesamte Logik steht ohne Eingangsgröße da. Beides zusammen macht aus „kein Wert“ dasselbe wie „kein Netz“, und im Zweifel ist ein zu früh abgeworfener Wallbox-Stromkreis das billigere Ergebnis als ein Wechselrichter, der wegen Überlast abschaltet.