ESS and MQTT

A quick summary of my installation:

I have two sets of PV panels one 4kw and the other 2kW. Both have Growatt inverters and these are already monitored using ESP32-based Modbus readers that generate MQTT data. I have a grid power meter which creates MQTT data. A 3kW “variable load” is used to use “sink” any grid exports. The “sink” also uses MQTT.

All of the telemetry is managed by a TIG (Telegraph, Influx, Grafana) stack.

I am adding a battery store comprising a Fogstar 16kW unit and a Victron MultiPlus-II GX. Everything is working with Modbus and MQTT enabled.

I want to use ESS Mode 3 using MQTT. I could use Modbus but I find MQTT integrates more easily.

The easiest way to expose the MQTT Topics with MQTT Explorer is to log in to the Victron portal as this sets the “keepalive”. This took a long time to work out! There are lots of forum questions in this area so I am not the only person confused.

Once my application is running I read the “keepalive” topic every 60 seconds or less and my MQTT topic data is refreshed and the Victron portal log-in is no longer necessary.

My first question: The “keepalive” topic is part of the R// tree. Is this topic local or remote (Victron cloud)? If remote then, if my Internet connection fails, I assume the local data refresh ceases?

My second question: It is not obvious which topics I should use for ESS control. Are the assumptions below correct?

  • The topic to set the ESS mode appears to be: N//settings/0/Settings/DynamicEss/Mode to set the mode (1,2 or 3)
  • The required AC-Setpoint is to found in N//settings/0/Settings/CGwacs/AcPowerSetPoint
    There are other limit settings in N//settings/0/Settings/CGwacs/# too.