Victron MultiPlus MQTT data not reaching HA

Hi everyone,

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!

Thanks in advance!,
Mark

Versions:

  • Home Assistant 2025.11.2 (HA OS)

  • Venus OS v3.67

I’ve moved this over to the Modifications Space for better visibility and possible useful suggestions from other users of non-officially-supported integrations :+1:

I had to restore from a partial HA backup yesterday, so I had to setup this again. It went smoothly with this guide:

Mine does not show any data either before a valid keepalive is sent. I have this automation doing it:

alias: Victron MQTT Keepalive
description: ""
triggers:
  - trigger: time_pattern
    seconds: /55
conditions: []
actions:
  - action: mqtt.publish
    data:
      topic: victron/R/c0619ab7ad8b/system/0/Serial
      payload: "0"
mode: single

Is there a spcific reason why you want to use it like this?

There is a really good HACS integration, im using that a few years now

Personally? It works. Integrations can break, this setup has never failed, so I hesitate to change it.

TBH I will probably move to Modbus TCP at some point to reduce load on the MQTT broker, but without a ready made integrations to maintain stability.

1 Like

That HACS integration broke, forked then abandoned. I stopped using it

I found this video very good