victron_mqtt (C) 2025, tomer-w (https://github.com/tomer-w). For more information see https://github.com/tomer-w/victron_mqtt. This file is part of victron_mqtt. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
The Victron MQTT protocol is used by Victron Energy devices to publish and subscribe to real-time data over an MQTT broker. This protocol enables seamless integration of Victron devices—such as inverters, chargers, battery monitors, and solar controllers—into home automation, monitoring, and energy management systems.
victron/
).victron/+/+/...
).Note: To use the Victron MQTT protocol, you must have a Cerbo GX, Venus GX, or Color Control GX device (collectively known as GX devices). These GX devices act as gateways, exposing data from connected Victron products via MQTT. Other Victron devices (such as inverters, solar controllers, and battery monitors) do not expose MQTT directly—they must be connected to a GX device, which then publishes their data to the MQTT broker.
Each device type publishes to a set of standardized topics. For example:
victron/+/Dc/0/Voltage
– DC voltage readingsvictron/+/Ac/ActiveIn/L1/Power
– AC input powervictron/+/Soc
– State of chargevictron/+/Alarms/LowVoltage
– Low voltage alarm statusTopic | Short ID | Name | Unit | Metric Type | Metric Nature | Device Type | Value Type | Precision | Enum | Min | Max |
---|---|---|---|---|---|---|---|---|---|---|---|
N/+/system/+/Ac/Grid/NumberOfPhases | system_grid_phases | Grid phases | NONE | INSTANTANEOUS | GRID | INT_DEFAULT_0 | 0 | ||||
N/+/grid/+/Ac/+/Voltage | grid_voltage_{phase} | Grid voltage on {phase} | V | VOLTAGE | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/+/Current | grid_current_{phase} | Grid current on {phase} | A | CURRENT | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/+/Power | grid_power_{phase} | Grid power on {phase} | W | POWER | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/Voltage | grid_voltage | Grid voltage | V | VOLTAGE | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/Current | grid_current | Grid current | A | CURRENT | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/Power | grid_power | Grid power | W | POWER | INSTANTANEOUS | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/Energy/Forward | grid_energy_forward | Grid consumption | kWh | ENERGY | CUMULATIVE | GRID | FLOAT | 1 | |||
N/+/grid/+/Ac/Energy/Reverse | grid_energy_reverse | Grid feed-in | kWh | ENERGY | CUMULATIVE | GRID | FLOAT | 1 | |||
N/+/solarcharger/+/Dc/0/Voltage | solar_voltage | DC Bus voltage | V | VOLTAGE | INSTANTANEOUS | SOLAR_CHARGER | FLOAT | 1 | |||
N/+/solarcharger/+/Dc/0/Current | solar_current | DC current | A | CURRENT | INSTANTANEOUS | SOLAR_CHARGER | FLOAT | 1 | |||
N/+/solarcharger/+/Yield/Power | solar_power | Power | W | POWER | INSTANTANEOUS | SOLAR_CHARGER | FLOAT | 1 | |||
N/+/solarcharger/+/Yield/User | solar_yield | Yield | kWh | ENERGY | CUMULATIVE | SOLAR_CHARGER | FLOAT | 1 | |||
N/+/solarcharger/+/History/Daily/0/MaxPower | solar_max_power | Max Power Today | W | POWER | INSTANTANEOUS | SOLAR_CHARGER | FLOAT | 1 | |||
N/+/battery/+/Dc/0/Voltage | battery_voltage | Battery voltage | V | VOLTAGE | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/Dc/0/Current | battery_current | Battery current | A | CURRENT | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/Dc/0/Power | battery_power | Battery power | W | POWER | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/Dc/0/Temperature | battery_temperature | Battery temperature | °C | TEMPERATURE | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/History/DischargedEnergy | battery_discharged_energy | Discharged energy | kWh | ENERGY | CUMULATIVE | BATTERY | FLOAT | 1 | |||
N/+/battery/+/History/ChargedEnergy | battery_charged_energy | Charged energy | kWh | ENERGY | CUMULATIVE | BATTERY | FLOAT | 1 | |||
N/+/battery/+/Capacity | battery_capacity | Battery capacity | Ah | ELECTRIC_STORAGE_CAPACITY | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/InstalledCapacity | battery_installed_capacity | Battery installed capacity | Ah | ELECTRIC_STORAGE_CAPACITY | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/battery/+/Soc | battery_soc | SOC | % | PERCENTAGE | INSTANTANEOUS | BATTERY | FLOAT | 1 | |||
N/+/vebus/+/Mode | inverter_mode | Inverter mode | NONE | NONE | INVERTER | ENUM | InverterMode | ||||
N/+/vebus/+/Ac/ActiveIn/+/P | inverter_input_power_{phase} | Inverter input power {phase} | W | POWER | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Ac/ActiveIn/+/F | inverter_input_frequency_{phase} | Inverter input frequency {phase} | Hz | FREQUENCY | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Ac/ActiveIn/+/S | inverter_input_apparent_power_{phase} | Inverter input apparent power {phase} | VA | POWER | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Ac/Out/+/P | inverter_output_power_{phase} | Inverter output power {phase} | W | POWER | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Ac/Out/+/F | inverter_output_frequency_{phase} | Inverter output frequency {phase} | Hz | FREQUENCY | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Ac/Out/+/S | inverter_output_apparent_power_{phase} | Inverter output frequency {phase} | VA | POWER | INSTANTANEOUS | INVERTER | FLOAT | 1 | |||
N/+/vebus/+/Connected | inverter_connected | Inverter connected | NONE | NONE | INVERTER | ENUM | GenericOnOff | ||||
N/+/vebus/+/Ac/ActiveIn/CurrentLimit | inverter_current_limit | Inverter current limit | A | CURRENT | INSTANTANEOUS | INVERTER | INT | 0 | 0 | 16 | |
N/+/system/+/Ac/ConsumptionOnOutput/+/Power | system_critical_loads_{phase} | Critical loads on {phase} | W | POWER | INSTANTANEOUS | SYSTEM | FLOAT | 1 | |||
N/+/system/+/Ac/ConsumptionOnInput/+/Power | system_ac_loads_{phase} | AC loads on {phase} | W | POWER | INSTANTANEOUS | SYSTEM | FLOAT | 1 | |||
N/+/evcharger/+/Mode | evcharger_mode | EV charger mode | NONE | NONE | EVCHARGER | ENUM | EvChargerMode | ||||
N/+/evcharger/+/StartStop | evcharger_charge | EV charger charge | NONE | NONE | EVCHARGER | ENUM | GenericOnOff | ||||
N/+/evcharger/+/Connected | evcharger_connected | EV charger connected | NONE | NONE | EVCHARGER | ENUM | GenericOnOff | ||||
N/+/evcharger/+/Current | evcharger_current | EV charger current | A | CURRENT | INSTANTANEOUS | EVCHARGER | FLOAT | 1 | |||
N/+/evcharger/+/Ac/+/Power | evcharger_power_{phase} | EV charger power | W | POWER | INSTANTANEOUS | EVCHARGER | FLOAT | 1 | |||
N/+/evcharger/+/SetCurrent | evcharger_set_current | EV charger set current | A | CURRENT | INSTANTANEOUS | EVCHARGER | INT | 0 | 0 | 16 | |
N/+/pvinverter/+/Ac/+/Voltage | solar_voltage_{phase} | Voltage {phase} | V | VOLTAGE | INSTANTANEOUS | PVINVERTER | FLOAT | 1 | |||
N/+/pvinverter/+/Ac/+/Current | solar_current_{phase} | Current {phase} | A | CURRENT | INSTANTANEOUS | PVINVERTER | FLOAT | 1 | |||
N/+/pvinverter/+/Ac/Power | solar_power_total | Power Total | W | POWER | INSTANTANEOUS | PVINVERTER | FLOAT | 1 | |||
N/+/pvinverter/+/Ac/+/Power | solar_power_{phase} | Power {phase} | W | POWER | INSTANTANEOUS | PVINVERTER | FLOAT | 1 | |||
N/+/pvinverter/+/Ac/Energy/Forward | solar_yield_total | Total Yield | kWh | ENERGY | CUMULATIVE | PVINVERTER | FLOAT | 1 | |||
N/+/pvinverter/+/Ac/+/Energy/Forward | solar_yield_{phase} | Yield {phase} | kWh | ENERGY | CUMULATIVE | PVINVERTER | FLOAT | 1 |
Enums represent the possible states or values for certain device properties, such as operational modes, alarm states, or relay statuses. These are useful for interpreting numeric codes in MQTT payloads.
Id | Value | Display Name |
---|---|---|
Manual | 0 | Manual |
Auto | 1 | Auto |
ScheduledCharge | 2 | Scheduled Charge |
Id | Value | Display Name |
---|---|---|
Off | 0 | Off |
On | 1 | On |
Id | Value | Display Name |
---|---|---|
ChargerOnly | 1 | Charger Only |
InverterOnly | 2 | Inverter Only |
On | 3 | On |
Off | 4 | Off |