Notstrom-Monitoring: Modbus, Home Assistant und unabhängige Schutzfunktionen

Inhalt
Lokales Modbus-Monitoring hält Wechselrichterdaten auch ohne Hersteller-Cloud verfügbar, sofern Wechselrichter, Gateway, Netzwerk und Home Assistant weiter versorgt sind. Damit lassen sich Netzstatus, Batterieladung und Leistungsgrenzen beobachten. Eine garantierte Notstromumschaltung oder einen elektrischen Überlastschutz ersetzt Home Assistant jedoch nicht.
Die entscheidende Trennung verläuft zwischen zwei Aufgaben: Eine fachgerecht geplante Anlage übernimmt Netztrennung, Ersatzstromversorgung und erforderlichen Lastabwurf unabhängig vom Automationsserver. Home Assistant ergänzt Anzeigen, Verlauf und Meldungen. Lokale Kommunikation reduziert externe Abhängigkeiten, ist aber keine Echtzeitgarantie.
1. Erst den Notstrompfad klären
Nicht jeder PV-Wechselrichter kann bei Netzausfall ein Inselnetz bilden. Erforderlich sind eine unterstützte Ersatzstromfunktion, passende Batterie beziehungsweise verfügbare Erzeugung und die vom Hersteller vorgesehene Umschalttechnik. Dauerleistung, kurzzeitige Überlastfähigkeit, Anlaufströme, Phasenaufteilung und Batteriegrenzen bestimmen die nutzbaren Lasten. Der Ladestand allein beschreibt diese Grenzen nicht.
Die Planung und Inbetriebnahme im Zählerkasten gehören zu einer Elektrofachkraft. Schütze schalten Lasten; FI/LS-Schalter schützen gegen bestimmte Fehler- und Überstromzustände. Daraus entsteht weder automatisch eine Netztrennung noch eine sichere Notstromlogik. Auswahl, Verdrahtung und Rückfallverhalten müssen zur konkreten Anlage passen. Eine Wärmepumpe ist außerdem nicht pauschal eine unkritische Last: Frostschutz, Steuerung und Herstellervorgaben können Prioritäten ändern.
Eine mögliche Architektur versorgt nur zuvor ausgewählte Stromkreise über den Ersatzstrompfad. Andere Anlagen benötigen ein herstellerseitiges Lastmanagement oder eine dafür ausgelegte unabhängige Steuerung. Welche Lasten beim Wegfall von Steuerspannung abgeschaltet werden und wann eine Wiederzuschaltung zulässig ist, muss festgelegt und geprüft sein. Ein einzelnes Relais oder ein Home-Assistant-Schaltbefehl belegt diese Eigenschaften nicht.

2. Modbus-Transport und Registerkarte unterscheiden
Modbus RTU arbeitet typischerweise über eine serielle RS485-Verbindung. Modbus TCP nutzt ein anderes Nachrichtenformat über TCP. Ein umsetzendes Gateway kann TCP anbieten; ein transparenter serieller Server transportiert dagegen RTU unverändert über TCP. In Home Assistant entsprechen diese Fälle type: tcp beziehungsweise type: rtuovertcp. Ein Ethernet-Anschluss allein entscheidet die Auswahl nicht.
Registeradressen und Zustandswerte sind geräte- und firmwareabhängig. Ein Netzstatus liegt nicht grundsätzlich bei 33000 und ein Batterieladestand nicht grundsätzlich bei 37000. Home Assistant verwendet nullbasierte Adressen. Eine Herstellerbezeichnung wie 40001 kann das erste Holding-Register mit Adresse 0 meinen; die Umrechnung muss anhand der Registerdokumentation erfolgen.
| Messgröße | Vor der Verwendung klären | Bedeutung |
|---|---|---|
| Netz- und Ersatzstromstatus | Adresse, Registerart, erlaubte Codes, Aktualisierung | Netz fehlt und Ersatzstrom aktiv sind unterschiedliche Zustände. |
| Batterieladestand | Datentyp, Skalierung, ungültige Werte | Energiereserve, keine unmittelbare Aussage über zulässige Leistung. |
| Leistung und Überlaststatus | Vorzeichen, Einheit, Phasenbezug und Gerätegrenzen | Ergänzende Betriebsdaten, kein Ersatz für Schutzfunktionen. |
Polling-Intervalle sind Abfragewünsche. Geräteantworten, serielle Übertragung, weitere Abfragen, Zeitüberschreitungen und Wiederholungen verlängern die tatsächliche Erkennung. Auch ein Zwei-Sekunden-Intervall garantiert keine Reaktion innerhalb von zwei Sekunden. Unveränderte oder wiederhergestellte Werte können veraltet sein; eine belastbare Aktualitätsüberwachung benötigt beispielsweise einen dokumentierten Geräte-Heartbeat oder den Zeitpunkt einer erfolgreichen Abfrage.
3. Lesendes YAML-Beispiel mit expliziten Voraussetzungen
Die folgende Vorlage ist absichtlich unvollständig. Die Einträge mit !secret müssen aus der geprüften Gerätekarte ergänzt werden; die Adresse ist dadurch nicht geheim, sondern zentral konfiguriert. Die Vorlage passt ausschließlich zu einem Gerät mit einem 16-Bit-Input-Register für den Netzstatus und einem 16-Bit-Holding-Register für den Ladestand in ganzen Prozent. Für andere Registertypen, Wortreihenfolgen, Skalierungen oder Fehlercodes sind entsprechende Änderungen erforderlich. Vorhandene unterstützte Geräteintegrationen können die manuelle Zuordnung vereinfachen.
# configuration.yaml: incomplete until documented addresses are supplied
modbus:
- name: inverter_local
type: tcp
host: !secret inverter_host
port: 502
sensors:
- name: Grid Status Raw
unique_id: inverter_grid_status_raw
device_address: !secret inverter_unit_id
address: !secret inverter_grid_status_address
input_type: input
data_type: uint16
scan_interval: 5
- name: Battery SoC
unique_id: inverter_battery_soc
device_address: !secret inverter_unit_id
address: !secret inverter_soc_address
input_type: holding
data_type: uint16
unit_of_measurement: "%"
scan_interval: 30Die Intervalle von fünf und dreißig Sekunden dienen nur als Ausgangspunkt für Monitoring und müssen den Herstellervorgaben sowie der Buslast entsprechen. Die beiden Sensoren lesen ausschließlich; ein Holding-Register wird dadurch nicht beschrieben. Die angezeigte Entity-ID kann von der erwarteten sensor.grid_status_raw abweichen und ist vor Verwendung der Automation zu kontrollieren.
4. Zustände melden, ohne eine Abschaltung zu behaupten
Für das folgende Beispiel gilt ausdrücklich der zuvor bestätigte Gerätevertrag: 0 bedeutet Netz fehlt, 1 bedeutet Netz vorhanden. Andere Codes, unknown und unavailable bedeuten hier einen unklaren Zustand. Die Automation gehört als einzelner Eintrag in den YAML-Modus des Automationseditors. In einer automations.yaml-Liste ist zusätzlich die passende Listeneinrückung nötig.
# Eine Automation im YAML-Modus des Automationseditors
alias: Notstrom-Telemetriestatus
triggers:
- trigger: state
entity_id: sensor.grid_status_raw
- trigger: homeassistant
event: start
- trigger: time_pattern
seconds: "/30"
actions:
- action: persistent_notification.create
data:
notification_id: backup_telemetry_status
title: Notstrom-Telemetrie
message:
{% set raw = states('sensor.grid_status_raw') %}
{% if raw in ['0', '0.0'] %}
Netzausfall gemeldet. Tatsächlichen Ersatzstrom- und Lastzustand prüfen.
{% elif raw in ['1', '1.0'] %}
Netz vorhanden gemeldet. Das belegt keine verfügbaren Schutzfunktionen.
{% else %}
Netzstatus unbekannt oder ungültig: {{ raw }}. Keine Aussage über einen Netzausfall.
{% endif %}
mode: restartZustandsänderungen, Home-Assistant-Start und ein Dreißig-Sekunden-Takt aktualisieren dieselbe lokale Meldung. Damit hängt die Anzeige nicht ausschließlich vom einmaligen Unterschreiten einer Zahl ab. Ein dauerhaft plausibler, aber eingefrorener Sensorwert wird dadurch noch nicht erkannt. Die Meldung bestätigt weder einen laufenden Inselbetrieb noch den physischen Zustand eines Schützes.
Ein gewünschter zusätzlicher Komfort-Lastabwurf benötigt einen separaten anlagenspezifischen Entwurf: freigegebene lokale Schnittstelle, eindeutige Schaltpolarität, Rückmeldung der tatsächlichen Schaltstellung und abgestimmte Wiederanlaufbedingungen. Die elektrische Grundfunktion darf auch bei ausgefallenem Home Assistant, Gateway oder Netzwerk nicht von diesem Zusatz abhängen.
5. Ausfälle gezielt nachweisen
- Im kontrollierten Testbetrieb die dokumentierten Statuscodes und Werte mit der Geräteanzeige vergleichen; auch ungültige Werte und Kommunikationsverlust prüfen.
- Home Assistant neu starten und die Automation neu laden. Die Statusanzeige muss vorhandene Zustände erneut auswerten; die Hardwarefunktion bleibt davon unabhängig.
- Versorgung von Pi, Netzwerk und Gateway für den vorgesehenen Betriebsfall prüfen. Ein auf der Netzseite abgeschaltetes Gateway liefert während des Ausfalls keine Telemetrie.
- Elektrische Umschalt- und Lasttests durch die zuständige Fachkraft nach Herstellerverfahren durchführen; Softwaretests ersetzen diese Inbetriebnahme nicht.
- Modbus nur im erforderlichen lokalen Netz erreichbar machen. Klassisches Modbus TCP bietet nicht automatisch Verschlüsselung oder Anmeldung; Modbus Security ist eine separate Erweiterung und muss von beiden Seiten unterstützt werden.
Fragen und Antworten
Ist unavailable dasselbe wie Netzausfall?
Nein. Der Zustand kann einen ausgefallenen Kommunikationsweg, ein nicht erreichbares Gerät oder eine andere Störung anzeigen. Eine konservative Laststrategie kann darauf reagieren, benötigt aber eine fachlich festgelegte Rückfallregel. Die Anzeige darf einen fehlenden Messwert nicht als bewiesenen Netzausfall ausgeben.
Garantiert lokales Polling überlastfreien Ersatzstrom?
Nein. Für die elektrische Funktion sind Auslegung, Umschaltung, Schutztechnik und Lastgrenzen entscheidend. Lokales Monitoring liefert zusätzliche Sichtbarkeit, solange die beteiligten Komponenten funktionieren.
Hilft ein zweites Modbus-Gateway gegen langsame Werte?
Nicht zwangsläufig. Zuerst sind benötigte Register, tatsächliche Antwortzeiten, Übertragungsrate und erlaubte Abfrageintervalle zu prüfen. Eine zusätzliche Verbindung kann Geräteverbindungen oder einen gemeinsamen seriellen Bus weiter belasten. Mehrere zusammenhängende Register können außerdem zu einem einzelnen mehrwortigen Messwert gehören; Registerzahl und Anzahl der Abfragen sind nicht identisch.