{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Victron Energy", "model": "GX EV charger", "vendor_website": "victronenergy.com", "description": "EV charging stations (EVCS), read through a GX device", "revision": 1, "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.evcharger" } ], "notes": [ "Registers of the com.victronenergy.evcharger 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": "Product ID", "area": "holding", "address": 3800, "type": "uint16", "description": "D-Bus /ProductId"}, {"name": "Firmware version", "area": "holding", "address": 3802, "type": "uint32", "description": "D-Bus /FirmwareVersion"}, {"name": "Serial", "area": "holding", "address": 3804, "type": "string", "length": 6, "description": "D-Bus /Serial", "role": "serial"}, {"name": "Model", "area": "holding", "address": 3810, "type": "string", "length": 4, "description": "D-Bus /Model"}, {"name": "Maximum charge current", "area": "holding", "address": 3814, "type": "uint16", "unit": "A", "access": "RW", "description": "D-Bus /MaxCurrent"}, {"name": "Mode", "area": "holding", "address": 3815, "type": "uint16", "enum": {"0": "Manual", "1": "Auto"}, "access": "RW", "description": "D-Bus /Mode"}, {"name": "Session Energy", "area": "holding", "address": 3816, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Session/Energy"}, {"name": "L1 Power", "area": "holding", "address": 3818, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/L1/Power"}, {"name": "L2 Power", "area": "holding", "address": 3819, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/L2/Power"}, {"name": "L3 Power", "area": "holding", "address": 3820, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/L3/Power"}, {"name": "Total power", "area": "holding", "address": 3821, "type": "uint16", "unit": "W", "description": "D-Bus /Ac/Power"}, {"name": "Charging time", "area": "holding", "address": 3822, "type": "uint16", "scale": 100, "unit": "s", "description": "D-Bus /ChargingTime"}, {"name": "Charge current", "area": "holding", "address": 3823, "type": "uint16", "unit": "A", "description": "D-Bus /Current"}, {"name": "Status", "area": "holding", "address": 3824, "type": "uint16", "enum": {"0": "Disconnected", "1": "Connected", "2": "Charging", "3": "Charged", "4": "Waiting for sun", "5": "Waiting for RFID", "6": "Waiting for start", "7": "Low SOC", "8": "Ground test error", "9": "Welded contacts test error", "10": "CP input test error (shorted)", "11": "Residual current detected", "12": "Undervoltage detected", "13": "Overvoltage detected", "14": "Overheating detected", "15": "Reserved", "16": "Reserved", "17": "Reserved", "18": "Reserved", "19": "Reserved", "20": "Charging limit", "21": "Start charging", "22": "Switching to 3 phase", "23": "Switching to 1 phase", "24": "Stop charging"}, "description": "D-Bus /Status"}, {"name": "Set charge current (manual mode)", "area": "holding", "address": 3825, "type": "uint16", "unit": "A", "access": "RW", "description": "D-Bus /SetCurrent"}, {"name": "Start/stop charging (manual mode)", "area": "holding", "address": 3826, "type": "uint16", "enum": {"0": "Stop", "1": "Start"}, "access": "RW", "description": "D-Bus /StartStop"}, {"name": "Position", "area": "holding", "address": 3827, "type": "uint16", "enum": {"0": "AC input 1", "1": "AC output", "2": "AC input 2"}, "access": "RW", "description": "D-Bus /Position"}, {"name": "Session Time", "area": "holding", "address": 3828, "type": "uint32", "unit": "s", "description": "D-Bus /Session/Time"}, {"name": "Session Energy (3830)", "area": "holding", "address": 3830, "type": "uint32", "scale": 0.01, "unit": "W", "description": "D-Bus /Session/Energy"}, {"name": "Session Cost", "area": "holding", "address": 3832, "type": "int32", "scale": 0.01, "description": "D-Bus /Session/Cost"}, {"name": "Session Saved Cost", "area": "holding", "address": 3834, "type": "int32", "scale": 0.01, "description": "D-Bus /Session/SavedCost"}, {"name": "Total energy consumed by charger", "area": "holding", "address": 3836, "type": "uint32", "scale": 0.01, "unit": "kWh", "description": "D-Bus /Ac/Energy/Forward"}, {"name": "Custom Name", "area": "holding", "address": 3840, "type": "string", "length": 8, "access": "RW", "description": "D-Bus /CustomName"} ] }