Marstek Modbus Suite 2.1 und 2.2: Gerätename, Defaults, Einstellungen
Nach dem Panel von 2.0 ging es in den Folgeversionen der Marstek Modbus Suite um das, was beim Einrichten und im Alltag auffiel: ein Gerätename, der nie gefragt wurde, Entitäten, die ausgeschaltet ausgeliefert wurden, obwohl das Panel sie braucht, und ein Register mit falschem Namen.
Der Gerätename wird beim Einrichten gefragt
Bis 2.1.0 war der Name eine Konstante. Intern war es ein Übersetzungsabruf, dessen Schlüssel nie gefunden wurde, und deshalb hießen alle Installationen sensor.marstek_modbus_suite_*. Jetzt fragt ein zweiter Schritt im Einrichtungsdialog nach dem Gerätenamen, vorbelegt passend zur gewählten Geräteversion. Der Name ist die erste Hälfte jeder Entity-ID und greift nur einmal: Ein späteres Umbenennen ändert den Anzeigenamen, nicht die IDs. Ein Name, der schon an einen anderen Eintrag vergeben ist, wird abgelehnt, zwei Speicher enden also nicht mehr auf _2.
2.1.1 ist eine Formalie, die trotzdem etwas ändert: Die Integration deklariert CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN). Sie wird nur über Konfigurationseinträge eingerichtet und wurde es immer; async_setup existierte nur und gab True zurück, was hassfest dazu brachte, nach dem Schema zu fragen. Wer die Integration über die Oberfläche eingerichtet hat, merkt nichts. Ein marstek_modbus:-Block in der configuration.yaml erzeugt jetzt eine Logzeile mit der Bitte, ihn zu entfernen, statt still ignoriert zu werden.
Umstieg von Marstek Venus Modbus
Beide Integrationen teilen sich die Domain und den Ordner custom_components/marstek_modbus, lassen sich also nicht nebeneinander installieren. Das alte Repository muss vorher aus HACS entfernt werden. Zwei Wege wurden in 2.1.0 vorbereitet:
- Config-Eintrag stehen lassen (empfohlen): Nur das HACS-Repository tauschen und den Eintrag unter Geräte & Dienste nicht löschen. Gerätename, Entity-IDs und Verlauf bleiben, weil die Entitäten an der unveränderten Eintrags-ID hängen. Diese Integration kennt jeden Registerschlüssel der alten, es kommen nur welche dazu.
- Eintrag ist schon gelöscht: Beim Neuanlegen im zweiten Schritt den Namen eintragen, den der alte Eintrag hatte, standardmäßig
Marstek Venus Modbus. Beide Integrationen benennen Entitäten gleich, deshalb entstehen dieselben Entity-IDs wie vorher, und Dashboards und Automationen laufen weiter.
2.2.0: Was das Panel braucht, ist standardmäßig an
Die Zellenansicht ohne Packbereiche, die Packansicht ohne Säulen, die Steuerung ohne ihre sechs Zeitpläne: Alles, was das Panel anzeigt, kam deaktiviert und musste von Hand eingeschaltet werden. In 2.2.0 ist jede Entität, die das Panel liest, standardmäßig aktiv. Das betrifft 479 Registerdefinitionen in den vier Registerkarten. Die Zahl der standardmäßig aktiven Entitäten je Modell:
- Venus A: von 33 auf 211
- Venus D: von 33 auf 227
- Venus E v1/v2: von 33 auf 84
- Venus E v3: von 26 auf 82
Der Preis ist kleiner, als die Zahlen vermuten lassen, weil benachbarte Register in einem Block geholt werden. Bei der A steigt die Zahl der Blöcke von 15 auf 47, bei der D von 15 auf 49, und die meisten neuen Sensoren liegen im langsamen Intervall. Die einzelnen Zellspannungen bleiben aus, das Panel liest nur Minimum und Maximum je Pack. Bestehende Installationen behalten ihren Stand, denn enabled_by_default greift nur, wenn eine Entität zum ersten Mal in die Registry kommt: Nichts schaltet sich unter einem von selbst ein, wer mehr will, aktiviert in der Entitätsliste.
Skalierung und Breite
In den Einstellungen gibt es zwei Regler. Die Skalierung geht von 90 bis 150 Prozent und wirkt als Zoom, sodass Abstände und Kacheln mit der Schrift wachsen. Die Inhaltsbreite reicht von 1200 px bis „bis zum Rand“, und das ist jetzt der Standard: Eine 1440 px breite Spalte, die auf einem großen Monitor in der Mitte strandet, ist abgeschafft. Unter 700 px wirkt keiner der beiden.

Die Einstellungen folgen dem Benutzer. Farben, Starttab, ausgeblendete Reiter und Nachkommastellen liegen jetzt in Home Assistant unter dem eigenen Benutzer, damit Telefon und Schreibtisch dasselbe Panel zeigen und die Person nebenan ihre eigenen Entscheidungen behält. Was der Browser vorher hielt, wird beim ersten Laden hochgeladen. Skalierung und Breite bleiben absichtlich pro Browser, denn Telefon und 4K-Monitor wollen verschiedene Antworten – deshalb lässt das Import/Export-Feld sie auch aus.
Dazu gibt es sieben Farbschemata, jedes in einer hellen und einer dunklen Fassung, eines davon übernimmt die Farben des Home-Assistant-Themes. Wer ein Modell hat, das einen Reiter nicht füllen kann, sieht ihn in den Einstellungen ausgegraut mit Begründung, damit ein ausgeblendeter von einem nie vorhandenen Reiter unterscheidbar bleibt.
2.3.0-beta.1: Register 30212 ist keine Packzahl
Die Vorabversion 2.3.0-beta.1 (inzwischen in 3.0.0 enthalten) korrigiert die Deutung eines Registers. 30212 hieß pack_config und las sich wie eine Packzahl. Es verhielt sich nie so: Es zeigte 5 bei sechs Packs, 5 bei sieben und 5 nach einem Neustart des Geräts, und ein früherer Scan hatte 2 aufgezeichnet, ohne dass sich ein Pack geändert hätte. In Wirklichkeit ist es das Ergebnis des Selbsttests beim Einschalten. Die Firmware schreibt es beim Start an fünf Stellen und liest es nirgends zurück. Der Wert sagt, welche Prüfung fehlgeschlagen ist:
- 1: alle Prüfungen bestanden
- 2: eine interne Prüffunktion
- 3: Flash-Selbsttest
- 5: Kennung des Ethernet-Chips CH395 stimmt nicht oder RAM-Muster-Test – beide Zweige schreiben 5, der Code unterscheidet sie nicht
0 steht für den Zustand, bevor der Test gelaufen ist. Die echte Packzahl liefert bms_pack_count (32109), die auf diesem Siebenpack-Gerät 7 liest, einsbasiert und ohne Offset, mit bms_online_mask (32110) bei 127, also allen sieben online. dev_30212 verlässt die Gruppe der unbekannten DEV-Sensoren und wird zum benannten Diagnosesensor selftest_status, standardmäßig aus wie die anderen Start-Diagnosen und mit Übersetzungen auf Deutsch, Englisch und Niederländisch. Eine Vorabversion blieb es, weil der Name neu ist und der Sensor erst im Feld laufen sollte, bevor er in einen stabilen Stand kommt.
Zum Projekt
-
Marstek Modbus Suite
Home-Assistant-Integration für Marstek-Venus-Speicher über lokales Modbus TCP: ohne Cloud, mit eigenem Panel, Steuerung, Zeitplänen und Pack- und Zellansicht.
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.