Marstek Venus D: Alle Modbus-Register von 30000 bis 49999 gescannt
Die Home-Assistant-Integration ViperRNMC/marstek_venus_modbus beschreibt Registertabellen für mehrere Marstek-Varianten. Wie vollständig sie für die Venus D ist, lässt sich nur prüfen, indem man das Gerät abfragt. Marstek Modbus Register dokumentiert genau das: einen Scan aller Register von 30000 bis 49999 an einer Venus D mit zwei Packs zu je 16 LFP-Zellen.
Aufbau des Scans
Das Gerät hing über RS485 an einem WLAN-Gateway und wurde per Modbus TCP abgefragt. Ein eigenes Python-Skript fragt jedes Register einzeln ab, mit einem Heartbeat-Register (41000) zur Kontrolle und adaptivem Backoff, damit das Gerät nicht überfordert wird:
python modbus_scanner.py --ip <Geraete-IP> --port 502 \
--start 30000 --count 10000 -v \
--heartbeat-reg 41000 --csv scan_30000.csvDie Parameter: 0,3 s Verzögerung, 3 s Timeout, alle 50 Register 3 s Pause und nach höchstens fünf Fehlversuchen 30 s Abkühlzeit. Von 10.000 Registern im 30000er-Block antworteten 278 mit gültigen Daten, ein Register (32085) lieferte einen Fehler. Im 40000er-Block waren es 93 von 10.000.
Zuordnung zur ViperRNMC-Tabelle
Jedes Register wurde der Tabelle der Integration zugeordnet, mit der Priorität d, dann e_v3, zuletzt a. Die e_v12-Spalte blieb ausgeschlossen: Dieses Modell hat ein vollständig anderes Registerlayout. Register, die im Scan Daten liefern, aber in der Tabelle fehlen, stehen in einer eigenen Datei „unknown“ mit einer Best-Guess-Deutung.
Was die Dokumentation nicht kannte
- Pack-Header: Die README der Integration definiert für die Venus D nur Pack-1-Register. Im Scan fallen die Header-Register auf, etwa 34000 (Gesamtspannung, ×0,01 V), 34005/34006 (maximale und minimale Zellspannung, ×0,001 V), 34010 (Pack-Temperatur, ×0,1 °C), 34011 (maximale Zelltemperatur) und 34012–34016 (fünf Zelltemperatursensoren). Auch das zweite Pack wiederholt die Struktur exakt 100 Register später.
- Netzwerk: Die Register 30400–30403 enthalten als uint16-Paare die IP-Adresse des Kommunikationsmoduls und die Gateway-Adresse.
- Strings: 41500–41515 enthalten ASCII-Texte des Kommunikationsmoduls: eine Modell- oder Seriennummern-Kennung, eine vermutliche WLAN-SSID des integrierten Hotspots und einen weiteren, unklaren Text. Die Deutungen sind Vermutungen.
- Register, die laut Tabelle nur für e_v12 gelten: 32100 (Batteriespannung) und 32104 (SoC) sind auf der Venus D aktiv.
Steuerregister
Schreibzugriff auf die Steuerregister 42010 bis 42021 ist nur möglich, wenn das Gerät im RS485-Steuermodus steht. Register 42000 zeigt das: 0x55AA (21930) für aktiv, 0x55BB (21947) für inaktiv. Die Steuerregister sollte man nie ohne Prüfung des Modus beschreiben. Sie können Laden und Entladen erzwingen oder Leistungsgrenzen verändern. Der Scan zeigt außerdem Geräteeinstellungen wie Backup-Funktion, Zielladestand, Betriebsmodus und Leistungsgrenzen im Ausgangszustand, die sechs Zeitpläne waren leer.
Die Ergebnisse stammen von einem einzelnen Gerät. Alle Deutungen unbekannter Register sind Vermutungen. Wer eine Venus A, D oder E besitzt und ähnliche Scans gemacht hat, ist eingeladen, Ergebnisse beizusteuern.
Zum Projekt
-
Marstek Modbus Register
Community-Dokumentation der Modbus-TCP-Register der Marstek Venus D (30000–49999): gescannte Werte, Skalierungen und undokumentierte Register, abgeglichen mit der ViperRNMC-Integration. Zweisprachig, als CSV und Markdown.
Unterstützen
Diese Tools entstehen in meiner Freizeit und bleiben kostenlos, offen und cloud-frei. Wenn dir eins davon einen Nachmittag gespart hat, freue ich mich über einen Kaffee oder ein Stück Pizza.
Kaffee oder PizzaWeitere Beiträge
- Rollladen-Steuerung pro Raum: Taster, Fenster, Kälte und Regen Eine Automation pro Raum, die Taster, Fensterkontakt, Kälte, Regen und die Zeit vor Sonnenaufgang zusammenführt. Zwei Merker-Helfer verhindern, dass sich die Auslöser gegenseitig überfahren.
- Stromausfall erkennen und Geräte wiederherstellen in Home Assistant Nach einem Stromausfall booten Lampen und Steckdosen in zufälligen Zuständen. Drei Erkennungswege, ein gemeinsames Script und ein Wiederherstellungsfenster bringen alles wieder in den gewünschten Zustand.
- Rauchmelder löst aus: Alle Rollläden fahren hoch (Home Assistant) Bei Rauchalarm sollen die Rollläden im ganzen Haus hochfahren, damit Fenster als Fluchtweg frei sind. Die Automation ist kurz – aber ein fehlendes „from“ im Trigger entscheidet darüber, ob sie im Ernstfall überhaupt feuert.