{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Victron Energy",
  "model": "GX Multi RS / inverter RS",
  "vendor_website": "victronenergy.com",
  "description": "Multi RS and other com.victronenergy.multi inverter/chargers, read through a GX device",
  "revision": 2,
  "revised": "2026-10-14",
  "firmware": "Venus OS; register list 3.81",
  "source": "Victron Energy, CCGX Modbus TCP register list 3.81",
  "sources": [
    {
      "title": "CCGX Modbus TCP register list",
      "version": "3.81",
      "url": "https://www.victronenergy.com/upload/documents/CCGX-Modbus-TCP-register-list-3.81.xlsx",
      "note": "Field list, service com.victronenergy.multi"
    }
  ],
  "notes": [
    "Registers of the com.victronenergy.multi service of the GX Modbus TCP server (Settings > Integrations > Modbus TCP server).",
    "Each device on the GX has its own unit ID. Since Venus OS 2.60 they are assigned dynamically: see the list of available services on the GX device.",
    "All registers are holding registers (FC03; FC06/FC16 for the writable ones)."
  ],
  "protocol": "tcp",
  "port": 502,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Input voltage phase 1", "area": "holding", "address": 4500, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/In/1/L1/V"},
    {"name": "Input voltage phase 2", "area": "holding", "address": 4501, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/In/1/L2/V"},
    {"name": "Input voltage phase 3", "area": "holding", "address": 4502, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/In/1/L3/V"},
    {"name": "Input current phase 1", "area": "holding", "address": 4503, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/In/1/L1/I"},
    {"name": "Input current phase 2", "area": "holding", "address": 4504, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/In/1/L2/I"},
    {"name": "Input current phase 3", "area": "holding", "address": 4505, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/In/1/L3/I"},
    {"name": "Input power phase 1", "area": "holding", "address": 4506, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/In/1/L1/P"},
    {"name": "Input power phase 2", "area": "holding", "address": 4507, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/In/1/L2/P"},
    {"name": "Input power phase 3", "area": "holding", "address": 4508, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/In/1/L3/P"},
    {"name": "Input frequency", "area": "holding", "address": 4509, "type": "uint16", "scale": 0.01, "unit": "Hz", "description": "D-Bus /Ac/In/1/L1/F"},
    {"name": "Output voltage phase 1", "area": "holding", "address": 4510, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/Out/L1/V"},
    {"name": "Output voltage phase 2", "area": "holding", "address": 4511, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/Out/L2/V"},
    {"name": "Output voltage phase 3", "area": "holding", "address": 4512, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Ac/Out/L3/V"},
    {"name": "Output current phase 1", "area": "holding", "address": 4513, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/Out/L1/I"},
    {"name": "Output current phase 2", "area": "holding", "address": 4514, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/Out/L2/I"},
    {"name": "Output current phase 3", "area": "holding", "address": 4515, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Ac/Out/L3/I"},
    {"name": "Output power phase 1", "area": "holding", "address": 4516, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/Out/L1/P"},
    {"name": "Output power phase 2", "area": "holding", "address": 4517, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/Out/L2/P"},
    {"name": "Output power phase 3", "area": "holding", "address": 4518, "type": "int16", "scale": 10, "unit": "W", "description": "D-Bus /Ac/Out/L3/P"},
    {"name": "Output frequency", "area": "holding", "address": 4519, "type": "uint16", "scale": 0.01, "unit": "Hz", "description": "D-Bus /Ac/Out/L1/F"},
    {"name": "AC input 1 source type", "area": "holding", "address": 4520, "type": "uint16", "enum": {"0": "Unused", "1": "Grid", "2": "Genset", "3": "Shore"}, "description": "D-Bus /Ac/In/1/Type"},
    {"name": "AC input 2 source type", "area": "holding", "address": 4521, "type": "uint16", "enum": {"0": "Unused", "1": "Grid", "2": "Genset", "3": "Shore"}, "description": "D-Bus /Ac/In/2/Type"},
    {"name": "Ac input 1 current limit", "area": "holding", "address": 4522, "type": "uint16", "scale": 0.1, "unit": "A", "access": "RW", "description": "D-Bus /Ac/In/1/CurrentLimit"},
    {"name": "Ac input 2 current limit", "area": "holding", "address": 4523, "type": "uint16", "scale": 0.1, "unit": "A", "access": "RW", "description": "D-Bus /Ac/In/2/CurrentLimit"},
    {"name": "Phase count", "area": "holding", "address": 4524, "type": "uint16", "description": "D-Bus /Ac/NumberOfPhases"},
    {"name": "Active AC input", "area": "holding", "address": 4525, "type": "uint16", "enum": {"0": "AC Input 1", "1": "AC Input 2", "240": "Disconnected"}, "description": "D-Bus /Ac/ActiveIn/ActiveInput"},
    {"name": "Battery voltage", "area": "holding", "address": 4526, "type": "uint16", "scale": 0.01, "unit": "V", "description": "D-Bus /Dc/0/Voltage"},
    {"name": "Battery current", "area": "holding", "address": 4527, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Dc/0/Current"},
    {"name": "Battery temperature", "area": "holding", "address": 4528, "type": "int16", "scale": 0.1, "unit": "°C", "description": "D-Bus /Dc/0/Temperature"},
    {"name": "Battery State of Charge", "area": "holding", "address": 4529, "type": "uint16", "scale": 0.1, "unit": "%", "description": "D-Bus /Soc"},
    {"name": "Inverter/Charger state", "area": "holding", "address": 4530, "type": "uint16", "enum": {"0": "Off", "1": "Low Power", "2": "Fault", "3": "Bulk", "4": "Absorption", "5": "Float", "6": "Storage", "7": "Equalize", "8": "Passthru", "9": "Inverting", "10": "Power assist", "11": "Power supply", "252": "External control"}, "description": "D-Bus /State"},
    {"name": "Switch position", "area": "holding", "address": 4531, "type": "uint16", "enum": {"1": "Charger Only", "2": "Inverter Only", "3": "On", "4": "Off"}, "access": "RW", "description": "D-Bus /Mode"},
    {"name": "Temperature alarm", "area": "holding", "address": 4532, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/HighTemperature"},
    {"name": "High voltage alarm", "area": "holding", "address": 4533, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/HighVoltage"},
    {"name": "High AC-Out voltage alarm", "area": "holding", "address": 4534, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/HighVoltageAcOut"},
    {"name": "Low battery temperature alarm", "area": "holding", "address": 4535, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/LowTemperature"},
    {"name": "Low voltage alarm", "area": "holding", "address": 4536, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/LowVoltage"},
    {"name": "Low AC-Out voltage alarm", "area": "holding", "address": 4537, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/LowVoltageAcOut"},
    {"name": "Overload alarm", "area": "holding", "address": 4538, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/Overload"},
    {"name": "High DC ripple alarm", "area": "holding", "address": 4539, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/Ripple"},
    {"name": "PV power", "area": "holding", "address": 4540, "type": "uint16", "unit": "W", "description": "D-Bus /Yield/Power"},
    {"name": "User yield", "area": "holding", "address": 4541, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /Yield/User"},
    {"name": "Relay on the Multi RS", "area": "holding", "address": 4542, "type": "uint16", "enum": {"0": "Open", "1": "Closed"}, "description": "D-Bus /Relay/0/State"},
    {"name": "MPP operation mode", "area": "holding", "address": 4543, "type": "uint16", "enum": {"0": "Off", "1": "Voltage/current limited", "2": "MPPT active", "255": "Not available"}, "description": "D-Bus /MppOperationMode"},
    {"name": "PV voltage", "area": "holding", "address": 4544, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Pv/V"},
    {"name": "Error code", "area": "holding", "address": 4545, "type": "uint16", "enum": {"0": "No error", "1": "Battery temperature too high", "2": "Battery voltage too high", "3": "Battery temperature sensor miswired (+)", "4": "Battery temperature sensor miswired (-)", "5": "Battery temperature sensor disconnected", "6": "Battery voltage sense miswired (+)", "7": "Battery voltage sense miswired (-)", "8": "Battery voltage sense disconnected", "9": "Battery voltage wire losses too high", "17": "Charger temperature too high", "18": "Charger over-current", "19": "Charger current polarity reversed", "20": "Bulk time limit reached", "22": "Charger temperature sensor miswired", "23": "Charger temperature sensor disconnected", "34": "Input current too high"}, "description": "D-Bus /ErrorCode"},
    {"name": "Energy from AC-in-1 to AC-out", "area": "holding", "address": 4546, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcIn1ToAcOut"},
    {"name": "Energy from AC-in-1 to battery", "area": "holding", "address": 4548, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcIn1ToInverter"},
    {"name": "Energy from AC-in-2 to AC-out", "area": "holding", "address": 4550, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcIn2ToAcOut"},
    {"name": "Energy from AC-in-2 to battery", "area": "holding", "address": 4552, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcIn2ToInverter"},
    {"name": "Energy from AC-out to AC-in-1", "area": "holding", "address": 4554, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcOutToAcIn1"},
    {"name": "Energy from AC-out to AC-in-2", "area": "holding", "address": 4556, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/AcOutToAcIn2"},
    {"name": "Energy from battery to AC-in-1", "area": "holding", "address": 4558, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/InverterToAcIn1"},
    {"name": "Energy from battery to AC-in-2", "area": "holding", "address": 4560, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/InverterToAcIn2"},
    {"name": "Energy from battery to AC-out", "area": "holding", "address": 4562, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/InverterToAcOut"},
    {"name": "Energy from AC-out to battery", "area": "holding", "address": 4564, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/OutToInverter"},
    {"name": "Energy from solar to AC-in-1", "area": "holding", "address": 4566, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/SolarToAcIn1"},
    {"name": "Energy from solar to AC-in-2", "area": "holding", "address": 4568, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/SolarToAcIn2"},
    {"name": "Energy from solar to AC-out", "area": "holding", "address": 4570, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/SolarToAcOut"},
    {"name": "Energy from solar to battery", "area": "holding", "address": 4572, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Energy/SolarToBattery"},
    {"name": "Yield today", "area": "holding", "address": 4574, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/0/Yield"},
    {"name": "Maximum charge power today", "area": "holding", "address": 4575, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/0/MaxPower"},
    {"name": "Yield yesterday", "area": "holding", "address": 4576, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/1/Yield"},
    {"name": "Maximum charge power yesterday", "area": "holding", "address": 4577, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/1/MaxPower"},
    {"name": "Yield today for tracker 0", "area": "holding", "address": 4578, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/0/Pv/0/Yield"},
    {"name": "Yield today for tracker 1", "area": "holding", "address": 4579, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/0/Pv/1/Yield"},
    {"name": "Yield today for tracker 2", "area": "holding", "address": 4580, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/0/Pv/2/Yield"},
    {"name": "Yield today for tracker 3", "area": "holding", "address": 4581, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/0/Pv/3/Yield"},
    {"name": "Yield yesterday for tracker 0", "area": "holding", "address": 4582, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/1/Pv/0/Yield"},
    {"name": "Yield yesterday for tracker 1", "area": "holding", "address": 4583, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/1/Pv/1/Yield"},
    {"name": "Yield yesterday for tracker 2", "area": "holding", "address": 4584, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/1/Pv/2/Yield"},
    {"name": "Yield yesterday for tracker 3", "area": "holding", "address": 4585, "type": "uint16", "scale": 0.1, "unit": "kWh", "description": "D-Bus /History/Daily/1/Pv/3/Yield"},
    {"name": "Maximum charge power today for tracker 0", "area": "holding", "address": 4586, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/0/Pv/0/MaxPower"},
    {"name": "Maximum charge power today for tracker 1", "area": "holding", "address": 4587, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/0/Pv/1/MaxPower"},
    {"name": "Maximum charge power today for tracker 2", "area": "holding", "address": 4588, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/0/Pv/2/MaxPower"},
    {"name": "Maximum charge power today for tracker 3", "area": "holding", "address": 4589, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/0/Pv/3/MaxPower"},
    {"name": "Maximum charge power yesterday tracker 0", "area": "holding", "address": 4590, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/1/Pv/0/MaxPower"},
    {"name": "Maximum charge power yesterday tracker 1", "area": "holding", "address": 4591, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/1/Pv/1/MaxPower"},
    {"name": "Maximum charge power yesterday tracker 2", "area": "holding", "address": 4592, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/1/Pv/2/MaxPower"},
    {"name": "Maximum charge power yesterday tracker 3", "area": "holding", "address": 4593, "type": "uint16", "unit": "W", "description": "D-Bus /History/Daily/1/Pv/3/MaxPower"},
    {"name": "PV voltage for tracker 0", "area": "holding", "address": 4594, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Pv/0/V"},
    {"name": "PV voltage for tracker 1", "area": "holding", "address": 4595, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Pv/1/V"},
    {"name": "PV voltage for tracker 2", "area": "holding", "address": 4596, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Pv/2/V"},
    {"name": "PV voltage for tracker 3", "area": "holding", "address": 4597, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Pv/3/V"},
    {"name": "PV power for tracker 0", "area": "holding", "address": 4598, "type": "uint16", "unit": "W", "description": "D-Bus /Pv/0/P"},
    {"name": "PV power for tracker 1", "area": "holding", "address": 4599, "type": "uint16", "unit": "W", "description": "D-Bus /Pv/1/P"},
    {"name": "PV power for tracker 2", "area": "holding", "address": 4600, "type": "uint16", "unit": "W", "description": "D-Bus /Pv/2/P"},
    {"name": "PV power for tracker 3", "area": "holding", "address": 4601, "type": "uint16", "unit": "W", "description": "D-Bus /Pv/3/P"},
    {"name": "Low SOC alarm", "area": "holding", "address": 4602, "type": "uint16", "enum": {"0": "No alarm", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/LowSoc"},
    {"name": "User yield (4603)", "area": "holding", "address": 4603, "type": "uint32", "unit": "kWh", "description": "D-Bus /Yield/User; Energy generated by the solarcharger since last user reset"},
    {"name": "MPP operation mode tracker 1", "area": "holding", "address": 4605, "type": "uint16", "enum": {"0": "Off", "1": "Voltage/current limited", "2": "MPPT active", "255": "Not available"}, "description": "D-Bus /Pv/0/MppOperationMode"},
    {"name": "MPP operation mode tracker 2", "area": "holding", "address": 4606, "type": "uint16", "enum": {"0": "Off", "1": "Voltage/current limited", "2": "MPPT active", "255": "Not available"}, "description": "D-Bus /Pv/1/MppOperationMode"},
    {"name": "MPP operation mode tracker 3", "area": "holding", "address": 4607, "type": "uint16", "enum": {"0": "Off", "1": "Voltage/current limited", "2": "MPPT active", "255": "Not available"}, "description": "D-Bus /Pv/2/MppOperationMode"},
    {"name": "MPP operation mode tracker 4", "area": "holding", "address": 4608, "type": "uint16", "enum": {"0": "Off", "1": "Voltage/current limited", "2": "MPPT active", "255": "Not available"}, "description": "D-Bus /Pv/3/MppOperationMode"},
    {"name": "ESS mode", "area": "holding", "address": 4609, "type": "uint16", "enum": {"0": "self-consumption (battery-life)", "1": "self-consumption", "2": "Keep charged", "3": "External control"}, "access": "RW", "description": "D-Bus /Settings/Ess/Mode"},
    {"name": "ESS power setpoint", "area": "holding", "address": 4610, "type": "int32", "unit": "W", "access": "RW", "description": "D-Bus /Ess/AcPowerSetpoint"},
    {"name": "Disable Feed-in", "area": "holding", "address": 4612, "type": "uint16", "enum": {"0": "Feed-in enabled", "1": "Feed-in disabled"}, "access": "RW", "description": "D-Bus /Ess/DisableFeedIn"},
    {"name": "Disable charge", "area": "holding", "address": 4613, "type": "uint16", "enum": {"0": "Charge enabled", "1": "Charge disabled"}, "access": "RW", "description": "D-Bus /Ess/DisableCharge"},
    {"name": "ESS Minimum SOC Limit", "area": "holding", "address": 4614, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/Ess/MinimumSocLimit"},
    {"name": "Sustain active", "area": "holding", "address": 4615, "type": "uint16", "enum": {"0": "Sustain inactive", "1": "Sustain active"}, "description": "D-Bus /Ess/Sustain"},
    {"name": "Short Circuit Alarm", "area": "holding", "address": 4620, "type": "uint16", "enum": {"0": "Ok", "1": "Warning", "2": "Alarm"}, "description": "D-Bus /Alarms/ShortCircuit"},
    {"name": "Custom Name", "area": "holding", "address": 4622, "type": "string", "length": 8, "access": "RW", "description": "D-Bus /CustomName"},
    {"name": "Tracker 1 enabled", "area": "holding", "address": 4630, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "description": "D-Bus /Pv/0/Enabled"},
    {"name": "Tracker 2 enabled", "area": "holding", "address": 4631, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "description": "D-Bus /Pv/1/Enabled"},
    {"name": "Tracker 3 enabled", "area": "holding", "address": 4632, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "description": "D-Bus /Pv/2/Enabled"},
    {"name": "Tracker 4 enabled", "area": "holding", "address": 4633, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "description": "D-Bus /Pv/3/Enabled"}
  ]
}
