{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Victron Energy",
  "model": "GX system",
  "vendor_website": "victronenergy.com",
  "description": "System overview of a Victron GX device (Cerbo GX, Venus GX, Color Control GX, Ekrano GX)",
  "revision": 2,
  "revised": "2026-11-10",
  "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.system"
    }
  ],
  "notes": [
    "Registers of the com.victronenergy.system service of the GX Modbus TCP server (Settings > Integrations > Modbus TCP server).",
    "The unit ID of this service is 100.",
    "All registers are holding registers (FC03; FC06/FC16 for the writable ones)."
  ],
  "protocol": "tcp",
  "port": 502,
  "unit_id": 100,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Serial (System)", "area": "holding", "address": 800, "type": "string", "length": 6, "role": "serial", "description": "D-Bus /Serial; System value -> MAC address of CCGX (represented as string)"},
    {"name": "CCGX Relay 1 state", "area": "holding", "address": 806, "type": "uint16", "enum": {"0": "Open", "1": "Closed"}, "access": "RW", "description": "D-Bus /Relay/0/State"},
    {"name": "CCGX Relay 2 state", "area": "holding", "address": 807, "type": "uint16", "enum": {"0": "Open", "1": "Closed"}, "access": "RW", "description": "D-Bus /Relay/1/State; Relay 1 is available on Venus GX only"},
    {"name": "PV - AC-coupled on output L1", "area": "holding", "address": 808, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L1/Power; Summation of all AC-Coupled PV Inverters on the output"},
    {"name": "PV - AC-coupled on output L2", "area": "holding", "address": 809, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L2/Power"},
    {"name": "PV - AC-coupled on output L3", "area": "holding", "address": 810, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L3/Power"},
    {"name": "PV - AC-coupled on input L1", "area": "holding", "address": 811, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L1/Power; Summation of all AC-Coupled PV Inverters on the input"},
    {"name": "PV - AC-coupled on input L2", "area": "holding", "address": 812, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L2/Power"},
    {"name": "PV - AC-coupled on input L3", "area": "holding", "address": 813, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L3/Power"},
    {"name": "PV - AC-coupled on generator L1", "area": "holding", "address": 814, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L1/Power; Summation of all AC-Coupled PV Inverters on a generator. Bit theoretic; this will never be used"},
    {"name": "PV - AC-coupled on generator L2", "area": "holding", "address": 815, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L2/Power"},
    {"name": "PV - AC-coupled on generator L3", "area": "holding", "address": 816, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L3/Power"},
    {"name": "AC Consumption L1", "area": "holding", "address": 817, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/Consumption/L1/Power; Power supplied by system to loads"},
    {"name": "AC Consumption L2", "area": "holding", "address": 818, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/Consumption/L2/Power"},
    {"name": "AC Consumption L3", "area": "holding", "address": 819, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/Consumption/L3/Power"},
    {"name": "Grid L1", "area": "holding", "address": 820, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Grid/L1/Power; Power supplied by Grid to system"},
    {"name": "Grid L2", "area": "holding", "address": 821, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Grid/L2/Power"},
    {"name": "Grid L3", "area": "holding", "address": 822, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Grid/L3/Power"},
    {"name": "Genset L1", "area": "holding", "address": 823, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Genset/L1/Power; Power supplied by Genset tot system"},
    {"name": "Genset L2", "area": "holding", "address": 824, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Genset/L2/Power"},
    {"name": "Genset L3", "area": "holding", "address": 825, "type": "int16", "unit": "W", "description": "D-Bus /Ac/Genset/L3/Power"},
    {"name": "Active input source", "area": "holding", "address": 826, "type": "int16", "enum": {"0": "Unknown", "1": "Grid", "2": "Generator", "3": "Shore power", "240": "Not connected"}, "description": "D-Bus /Ac/ActiveIn/Source; 0 indicates that there is an active input, but it is not configured under Settings → System setup"},
    {"name": "System time in UTC", "area": "holding", "address": 830, "type": "uint64", "unit": "s"},
    {"name": "GX firmware major version", "area": "holding", "address": 834, "type": "uint16", "description": "Render in hexadecimal to get the text version"},
    {"name": "GX firmware beta release", "area": "holding", "address": 835, "type": "uint16", "description": "This is zero for official releases"},
    {"name": "Battery Voltage (System)", "area": "holding", "address": 840, "type": "uint16", "scale": 0.1, "unit": "V", "description": "D-Bus /Dc/Battery/Voltage; Battery Voltage determined from different measurements. In order of preference: BMV-voltage (V), Multi-DC-Voltage (CV), MPPT-DC-Voltage (ScV), Charger voltage"},
    {"name": "Battery Current (System)", "area": "holding", "address": 841, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Dc/Battery/Current; Postive: battery begin charged. Negative: battery being discharged"},
    {"name": "Battery Power (System)", "area": "holding", "address": 842, "type": "int16", "unit": "W", "description": "D-Bus /Dc/Battery/Power; Postive: battery begin charged. Negative: battery being discharged"},
    {"name": "Battery State of Charge (System)", "area": "holding", "address": 843, "type": "uint16", "unit": "%", "description": "D-Bus /Dc/Battery/Soc; Best battery state of charge, determined from different measurements"},
    {"name": "Battery state (System)", "area": "holding", "address": 844, "type": "uint16", "enum": {"0": "idle", "1": "charging", "2": "discharging"}, "description": "D-Bus /Dc/Battery/State"},
    {"name": "Battery Consumed Amphours (System)", "area": "holding", "address": 845, "type": "uint16", "scale": -0.1, "unit": "Ah", "description": "D-Bus /Dc/Battery/ConsumedAmphours"},
    {"name": "Battery Time to Go (System)", "area": "holding", "address": 846, "type": "uint16", "scale": 100, "unit": "s", "description": "D-Bus /Dc/Battery/TimeToGo; Special value: 0 = charging"},
    {"name": "PV - DC-coupled power", "area": "holding", "address": 850, "type": "uint16", "unit": "W", "description": "D-Bus /Dc/Pv/Power; Summation of output power of all connected Solar Chargers"},
    {"name": "PV - DC-coupled current", "area": "holding", "address": 851, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Dc/Pv/Current; Summation of output current of all connected Solar Chargers"},
    {"name": "Charger power", "area": "holding", "address": 855, "type": "uint16", "unit": "W", "description": "D-Bus /Dc/Charger/Power"},
    {"name": "DC System Power", "area": "holding", "address": 860, "type": "int16", "unit": "W", "description": "D-Bus /Dc/System/Power; Power supplied by Battery to system"},
    {"name": "VE.Bus charge current (System)", "area": "holding", "address": 865, "type": "int16", "scale": 0.1, "unit": "A", "description": "D-Bus /Dc/Vebus/Current; Current flowing from the Multi to the dc system. Negative: the other way around"},
    {"name": "VE.Bus charge power (System)", "area": "holding", "address": 866, "type": "int16", "unit": "W", "description": "D-Bus /Dc/Vebus/Power; System value etc. AND: Positive: power flowing from the Multi to the dc system. Negative: the other way around"},
    {"name": "Inverter/Charger current", "area": "holding", "address": 868, "type": "int32", "scale": 0.1, "description": "D-Bus /Dc/InverterCharger/Current"},
    {"name": "Inverter/Charger power", "area": "holding", "address": 870, "type": "int32", "description": "D-Bus /Dc/InverterCharger/Power"},
    {"name": "Power between meter and inverter/charger, L1", "area": "holding", "address": 872, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnInput/L1/Power; This is the power shown on the overview in the Loads box"},
    {"name": "Power between meter and inverter/charger, L2", "area": "holding", "address": 874, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnInput/L2/Power"},
    {"name": "Power between meter and inverter/charger, L3", "area": "holding", "address": 876, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnInput/L3/Power"},
    {"name": "Power on output of inverter/charger, L1", "area": "holding", "address": 878, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnOutput/L1/Power"},
    {"name": "Power on output of inverter/charger, L2", "area": "holding", "address": 880, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnOutput/L2/Power"},
    {"name": "Power on output of inverter/charger, L3", "area": "holding", "address": 882, "type": "int32", "unit": "W", "description": "D-Bus /Ac/ConsumptionOnOutput/L3/Power"},
    {"name": "PV - AC-coupled on output L1 (884)", "area": "holding", "address": 884, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L1/Power; Summation of all AC-Coupled PV Inverters on the output"},
    {"name": "PV - AC-coupled on output L2 (886)", "area": "holding", "address": 886, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L2/Power"},
    {"name": "PV - AC-coupled on output L3 (888)", "area": "holding", "address": 888, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnOutput/L3/Power"},
    {"name": "PV - AC-coupled on input L1 (890)", "area": "holding", "address": 890, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L1/Power; Summation of all AC-Coupled PV Inverters on the input"},
    {"name": "PV - AC-coupled on input L2 (892)", "area": "holding", "address": 892, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L2/Power"},
    {"name": "PV - AC-coupled on input L3 (894)", "area": "holding", "address": 894, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGrid/L3/Power"},
    {"name": "PV - AC-coupled on generator L1 (896)", "area": "holding", "address": 896, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L1/Power; Summation of all AC-Coupled PV Inverters on a generator. Bit theoretic; this will never be used"},
    {"name": "PV - AC-coupled on generator L2 (898)", "area": "holding", "address": 898, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L2/Power"},
    {"name": "PV - AC-coupled on generator L3 (900)", "area": "holding", "address": 900, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/PvOnGenset/L3/Power"},
    {"name": "AC Consumption L1 (902)", "area": "holding", "address": 902, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/Consumption/L1/Power; Power supplied by system to loads"},
    {"name": "AC Consumption L2 (904)", "area": "holding", "address": 904, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/Consumption/L2/Power"},
    {"name": "AC Consumption L3 (906)", "area": "holding", "address": 906, "type": "uint32", "unit": "W", "description": "D-Bus /Ac/Consumption/L3/Power"},
    {"name": "Grid L1 (908)", "area": "holding", "address": 908, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Grid/L1/Power; Power supplied by Grid to system"},
    {"name": "Grid L2 (910)", "area": "holding", "address": 910, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Grid/L2/Power"},
    {"name": "Grid L3 (912)", "area": "holding", "address": 912, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Grid/L3/Power"},
    {"name": "Genset L1 (914)", "area": "holding", "address": 914, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Genset/L1/Power; Power supplied by Genset tot system"},
    {"name": "Genset L2 (916)", "area": "holding", "address": 916, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Genset/L2/Power"},
    {"name": "Genset L3 (918)", "area": "holding", "address": 918, "type": "int32", "unit": "W", "description": "D-Bus /Ac/Genset/L3/Power"},
    {"name": "Dynamic ESS state", "area": "holding", "address": 5400, "type": "uint16", "enum": {"0": "Off", "1": "Active"}, "description": "D-Bus /DynamicEss/Active"},
    {"name": "Allow grid feed-in", "area": "holding", "address": 5401, "type": "uint16", "enum": {"0": "Not allowed", "1": "Allowed"}, "description": "D-Bus /DynamicEss/AllowGridFeedIn"},
    {"name": "Is Dynamic ESS available", "area": "holding", "address": 5402, "type": "uint16", "enum": {"0": "System is not capable of doing DynamicEss", "1": "System is capable of doing DynamicEss"}, "description": "D-Bus /DynamicEss/Available"},
    {"name": "Calculated rate of charge/discharge", "area": "holding", "address": 5403, "type": "uint16", "scale": 10, "description": "D-Bus /DynamicEss/ChargeRate"},
    {"name": "Error", "area": "holding", "address": 5404, "type": "uint16", "enum": {"0": "No error", "1": "No ESS", "2": "ESS mode", "3": "No matching schedule", "4": "SOC low", "5": "Battery capacity not configured"}, "description": "D-Bus /DynamicEss/ErrorCode"},
    {"name": "Active restrictions", "area": "holding", "address": 5405, "type": "uint16", "enum": {"0": "No restrictions between battery and the grid", "1": "Grid to battery energy flow is restricted", "2": "Battery to grid energy flow is restricted", "3": "No energy flow between battery and grid"}, "description": "D-Bus /DynamicEss/Restrictions"},
    {"name": "Used strategy for current time slot", "area": "holding", "address": 5406, "type": "uint16", "enum": {"0": "Target SOC", "1": "Self-consumption", "2": "Pro battery", "3": "Pro grid"}, "description": "D-Bus /DynamicEss/Strategy"},
    {"name": "The set target SOC for this time slot", "area": "holding", "address": 5407, "type": "uint16", "unit": "%", "description": "D-Bus /DynamicEss/TargetSoc"}
  ]
}
