Victron Venus OS (Nulleinspeisung)¶
Ein Victron-System mit Multiplus-II (oder einem anderen Wechselrichter/Lader mit ESS) braucht für die Nulleinspeisung einen Netzzähler: Der Wechselrichter speist nur so viel ins Hausnetz ein, dass der Stromzähler ungefähr 0 W zeigt, und der Akku wird so optimal für den Eigenverbrauch genutzt. Statt eines zusätzlichen Zählers hinter der Hauptsicherung kann der WattWächter WiFi/USB diese Rolle übernehmen: Er liest den vorhandenen Zähler aus und schickt die Werte per MQTT an Venus OS. Dort macht der Community-Treiber dbus-mqtt-grid daraus einen Netzzähler, den das ESS zur Regelung nutzt.
Getestete Umgebung
Diese Anleitung beruht auf dem Aufbau eines Kunden, der damit Venus OS auf einem Raspberry Pi (Community-Image) betreibt. Auf einem GX-Gerät (z. B. Cerbo GX) sollte sie genauso funktionieren, das ist aber nicht getestet.
Community-Software
dbus-mqtt-grid ist kein offizielles Victron-Produkt. Weder Victron noch SmartCircuits leisten dafür Support. Prüfe nach der Einrichtung, ob die Regelung zuverlässig arbeitet, bevor du dich auf sie verlässt.
Voraussetzungen¶
- WattWächter WiFi/USB ist in Betrieb genommen: mit dem WLAN verbunden, Leseskript aktiv, und die Zählerwerte erscheinen auf der Hauptseite seiner Weboberfläche
- Der Zähler liefert die aktuelle Leistung und gibt sie bei Einspeisung negativ aus. Viele Zähler zeigen sie erst nach der PIN-Freischaltung, siehe auch FAQ → Momentane Leistung.
- Venus OS (GX-Gerät oder Raspberry Pi) im selben Netz wie der WattWächter
- SSH-Zugang als root zu Venus OS, siehe Victron → Root Access
- Wechselrichter/Lader mit eingerichtetem ESS, siehe Victron ESS-Handbuch
Schritt 1 — Skript am WattWächter anpassen¶
dbus-mqtt-grid erwartet die Werte unter festen Namen. Damit sie direkt in diesem Format ankommen, passt du dein Leseskript über Tools → Edit Script an vier Stellen an:
| Wo | Bisher (typisch) | Neu |
|---|---|---|
JSON-Präfix am Ende der +1,…-Zeile |
z. B. MT681, DD3 |
grid |
| Bezeichner Bezug | E_in |
energy_forward |
| Bezeichner Einspeisung | E_out |
energy_reverse |
| Bezeichner Leistung | Power |
power |
Außerdem addierst du bei der Leistungszeile 16 zur Nachkommastellen-Angabe (die letzte Zahl der Zeile). Damit sendet der WattWächter die Leistung bei jedem Zählertelegramm sofort, statt nur im Telemetrie-Intervall. Für die Regelung ist das entscheidend.
Beispiel für einen SML-Zähler mit 9600 Baud:
>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,grid
1,77070100010800ff@1000,Bezug,kWh,energy_forward,3
1,77070100020800ff@1000,Einspeisung,kWh,energy_reverse,3
1,77070100100700ff@1,Aktuelle Leistung,W,power,16
1,77070100600100ff@#,Zählernummer,,Meter_Number,0
#
OBIS-Codes, Baudrate und Typ (s/o) bleiben, wie sie in deinem Skript stehen; nur Präfix, Bezeichner und die 16 ändern sich. Weitere Zeilen (Spannungen, Zählernummer …) dürfen bleiben.
Leistung je Phase
Liefert dein Zähler die Leistung je Phase, kann dbus-mqtt-grid sie ebenfalls anzeigen. Die Bezeichner lauten dann power_L1, power_L2 und power_L3, ebenfalls mit +16 bei den Nachkommastellen.
Telemetrie-Intervall verkürzen: Die Zählerstände (kWh) werden weiterhin nur im Telemetrie-Intervall gesendet, standardmäßig alle 300 Sekunden. Setze es in der Konsole (Tools → Console) auf 10 Sekunden:
TelePeriod 10
Mit Save und Neustart des Skripts sollte die Hauptseite die Werte wie gewohnt anzeigen, nur mit den neuen Bezeichnern. In der Konsole erscheinen jetzt Zeilen wie:
MQT: tele/<topic>/SENSOR = {"Time":"…","grid":{"power":413}}
Home Assistant, ioBroker & Co.
Wenn du die Werte zusätzlich in einem Smart-Home-System nutzt, ändern sich dort durch die neuen Bezeichner die Sensornamen.
Schritt 2 — MQTT in Venus OS aktivieren¶
Venus OS bringt einen eigenen MQTT-Broker mit. Aktiviere ihn in der Venus-OS-Oberfläche unter Settings → Services → MQTT on LAN (Plaintext). Je nach Version liegt die Einstellung auch unter Settings → Integrations.
Schritt 3 — MQTT am WattWächter einrichten¶
Öffne die Weboberfläche des WattWächters und gehe zu Configuration → Configure MQTT:
| Feld | Eintrag |
|---|---|
| Host | IP-Adresse von Venus OS (oder venus.local) |
| Port | 1883 |
| Topic | unverändert lassen und notieren, z. B. WattWaechter_39BCCA |
| Full Topic | unverändert lassen (%prefix%/%topic%/) |
Mit Save startet der WattWächter neu. Auf der Hauptseite unter Information muss bei MQTT Connected ein Ja stehen.
Schon einen anderen Broker im Einsatz?
Der WattWächter kann nur an einen Broker senden. Hängt er bereits an einem Broker, etwa dem von Home Assistant, kannst du ihn dort lassen und in Schritt 4 dessen IP-Adresse (plus Benutzer/Passwort) als broker_address eintragen statt localhost. Schritt 2 entfällt dann.
Schritt 4 — dbus-mqtt-grid installieren¶
Melde dich per SSH an Venus OS an und lade den Treiber herunter:
ssh root@venus.local
wget -O /tmp/download_dbus-mqtt-grid.sh https://raw.githubusercontent.com/mr-manuel/venus-os_dbus-mqtt-grid/master/download.sh
bash /tmp/download_dbus-mqtt-grid.sh
Wähle die angebotene Version und bestätige die Frage nach der Instanz mit Enter.
Bearbeite dann die Konfiguration:
nano /data/etc/dbus-mqtt-grid/config.ini
Im Abschnitt [MQTT] trägst du ein (<topic> aus Schritt 3):
broker_address = localhost
broker_port = 1883
topic = tele/<topic>/SENSOR
Also z. B. topic = tele/WattWaechter_39BCCA/SENSOR. Speichere mit Strg+O und beende nano mit Strg+X. Dann richtest du den Treiber als Dienst ein:
bash /data/etc/dbus-mqtt-grid/install.sh
Nach wenigen Sekunden erscheint der WattWächter in der Venus-OS-Oberfläche als zusätzliches Gerät MQTT Grid, mit der aktuellen Netzleistung.
Schritt 5 — ESS auf den Netzzähler einstellen¶
In der Venus-OS-Oberfläche unter Settings → ESS:
- Grid metering: External meter
- Grid setpoint:
0 Wfür reine Nulleinspeisung. Ein kleiner positiver Wert (z. B. 20–50 W) sorgt dafür, dass bei schnellen Lastwechseln eher etwas bezogen als eingespeist wird.
Die übrigen ESS-Einstellungen (Modus, Mindest-SOC, Einspeisung von PV-Überschuss) hängen von deiner Anlage ab, siehe Victron ESS-Handbuch.
Fehlerbehebung¶
MQTT Grid erscheint nicht oder verschwindet nach einer Minute
dbus-mqtt-grid meldet das Gerät ab, wenn 60 Sekunden lang keine Nachricht kommt (timeout in der config.ini).
- Steht in der
power-Zeile des Skripts die+16(z. B.power,16)? Ohne sie kommt die Leistung nur alle 300 Sekunden. - Ist MQTT Connected am WattWächter Ja? Wenn nicht: MQTT in Venus OS aktiviert (Schritt 2)? Host und Port richtig?
- Stimmt
topicin derconfig.iniexakt mit dem Topic des WattWächters überein (Groß-/Kleinschreibung)? -
Log des Treibers ansehen:
tail -n 100 -F /data/log/dbus-mqtt-grid/current | tai64nlocal
MQTT Grid zeigt 0 W oder keine Leistung
Der JSON-Präfix muss genau grid heißen und der Leistungs-Bezeichner genau power (Kleinschreibung). Prüfe in der Konsole des WattWächters, ob die Nachricht {"grid":{"power":…}} enthält.
Leistung hat das falsche Vorzeichen
Venus OS erwartet bei Bezug positive und bei Einspeisung negative Werte. Zeigt der Zähler beides positiv, kann er die Richtung nicht unterscheiden und eignet sich nicht für die Nulleinspeisung. Manche Zähler geben das Vorzeichen erst nach der PIN-Freischaltung aus.
Konfiguration ändern
Nach einer Änderung an der config.ini den Treiber neu starten:
bash /data/etc/dbus-mqtt-grid/restart.sh
Weiterführend: dbus-mqtt-grid auf GitHub, Tasmota → Smart Meter Interface, Victron ESS-Handbuch.