I’m trying to get my Victron MultiPlus (connected through a Cerbo GX-like device running Venus OS, IP 192.168.1.175) integrated with Home Assistant via MQTT. I’ve been debugging this for hours and I’m stuck at the moment.
What works:
MQTT on LAN (plaintext) is enabled on the GX, port 1883 is open and reachable.
Locally on the GX itself everything works perfectly.
First start listening:
mosquitto_sub -h 127.0.0.1 -t “N/#” -v
Then send the keepalive in a second window:
mosquitto_pub -h 127.0.0.1 -t “R/my-portal-id/keepalive” -n
Immediately after that I get a full dump of all N/ topics om the first -v window (battery SOC, voltage, power, vebus mode, etc.).
Mosquitto broker add-on is running in HA.
I’ve tried a bridge with victron.conf in /share/mosquitto (multiple variations), for example:
connection victron
address 192.168.1.175:1883
topic N/# in 0 victron/
topic R/# out 0 victron/
topic W/# out 0 victron/
(also tried both, QoS 2, prefix victron/ victron/, etc.)
What doesn’t work:
In HA (Developer Tools > MQTT or MQTT Explorer connected to HA broker) I only see the Serial topic (victron/N/…/system/0/Serial).
Keepalive automation (topic victron/R/my-portal-id/keepalive, empty payload) is sent, but it doesn’t trigger any response on the GX (no N/ topics visible in PuTTY on the GX).
Manual publish from HA does the same: nothing happens on the GX.
Installed a Victron MQTT integration via HACS, but it creates no entities (probably because no data is coming in).
I’ve tried everything: bridge on/off, authentication off, restarts, different prefix/QoS combinations, etc.
This is very complicated!!! I gave up. Any ideas what I’m missing?
Is the bridge config wrong? Should I use direct connection instead? Something with retained messages or keepalive handling?
Why does venus OS doesn’t have a MQTT client also? Just like a tasmota? providing a MQTT broker destination address (home assitant ip or host name, port number and login/password?). I understand the local broker on the GX, so it can give information to multiple devi ces (after the keepalive command), but this makes it much too complicated!
I’ve moved this over to the Modifications Space for better visibility and possible useful suggestions from other users of non-officially-supported integrations