{
  "spec_version": 1,
  "slug": "victron-evcs",
  "manufacturer": "Victron Energy",
  "model": "EV Charging Station (EVCS) / EVCS NS",
  "category": "EV charger",
  "supplier_url": "https://www.victronenergy.com/ev-charging",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst"
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 5000,
      "count": 1,
      "name": "Product ID",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Constant 0xC024, 0xC025 or 0xC026, depending on the EVCS variant."
    },
    {
      "address": 5001,
      "count": 6,
      "name": "Serial Id",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "6 registers, 12 characters."
    },
    {
      "address": 5007,
      "count": 1,
      "name": "FW version H",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "HH: major number (8 bit)."
    },
    {
      "address": 5008,
      "count": 1,
      "name": "FW version L",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "MM: minor number (8 bit), LL: revision number (8 bit)."
    },
    {
      "address": 5009,
      "count": 1,
      "name": "Charge mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = manual, 1 = auto, 2 = scheduled."
    },
    {
      "address": 5010,
      "count": 1,
      "name": "Start/stop charging",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = stop, 1 = start."
    },
    {
      "address": 5011,
      "count": 1,
      "name": "L1 power used",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5012,
      "count": 1,
      "name": "L2 power used",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5013,
      "count": 1,
      "name": "L3 power used",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5014,
      "count": 1,
      "name": "Total power",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5015,
      "count": 1,
      "name": "Charger status",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "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-19 = reserved, 20 = charging limit, 21 = start charging, 22 = switching to 3 phase, 23 = switching to 1 phase, 24 = stop charging."
    },
    {
      "address": 5016,
      "count": 1,
      "name": "Charging current",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Manual mode setpoint, 6-32 A."
    },
    {
      "address": 5017,
      "count": 1,
      "name": "Max current",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "6-32 A."
    },
    {
      "address": 5018,
      "count": 1,
      "name": "Charging current actual",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is A*10."
    },
    {
      "address": 5019,
      "count": 1,
      "name": "Session charging time H",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "High word of the session charging time."
    },
    {
      "address": 5020,
      "count": 1,
      "name": "Session charging time L",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word of the session charging time."
    },
    {
      "address": 5021,
      "count": 1,
      "name": "Session energy",
      "data_type": "UInt16",
      "units": "kWh",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Raw value is kWh*100."
    },
    {
      "address": 5022,
      "count": 1,
      "name": "Session cost",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Raw value is currency*100."
    },
    {
      "address": 5023,
      "count": 1,
      "name": "Total energy H",
      "data_type": "UInt16",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "High word; total = (H * 65536 + L) / 100 kWh."
    },
    {
      "address": 5024,
      "count": 1,
      "name": "Total energy L",
      "data_type": "UInt16",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word; total = (H * 65536 + L) / 100 kWh."
    },
    {
      "address": 5025,
      "count": 1,
      "name": "CP voltage",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Raw value is V*100."
    },
    {
      "address": 5026,
      "count": 1,
      "name": "Charger position",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = inverter AC out, 1 = inverter AC input."
    },
    {
      "address": 5027,
      "count": 22,
      "name": "Device name",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "UTF-8 encoded string, 22 registers, 44 bytes."
    },
    {
      "address": 5049,
      "count": 1,
      "name": "Charger autostart",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = autostart disabled, 1 = autostart enabled."
    },
    {
      "address": 5050,
      "count": 1,
      "name": "Control via display",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = control disabled, 1 = control enabled."
    },
    {
      "address": 5051,
      "count": 1,
      "name": "Display active backlight",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5052,
      "count": 1,
      "name": "Display idle backlight",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5053,
      "count": 1,
      "name": "Display active timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5054,
      "count": 1,
      "name": "Contactor active when charged",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = contactor disabled, 1 = contactor enabled."
    },
    {
      "address": 5055,
      "count": 1,
      "name": "Manual mode phase",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = 3-phase, 1 = single phase (multiple relay charging feature)."
    },
    {
      "address": 5056,
      "count": 1,
      "name": "Auto mode phase",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = 3-phase, 1 = single phase, 2 = single+3-phase (multiple relay charging feature)."
    },
    {
      "address": 5057,
      "count": 1,
      "name": "Power for 3phase",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Multiple relay charging feature."
    },
    {
      "address": 5058,
      "count": 1,
      "name": "Power for single phase",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Multiple relay charging feature."
    },
    {
      "address": 5059,
      "count": 1,
      "name": "Phase switching timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Multiple relay charging feature."
    },
    {
      "address": 5060,
      "count": 1,
      "name": "CP calibration command",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = calibration start, 2 = car is connected, 3 = reserved, 4 = calibration abort."
    },
    {
      "address": 5061,
      "count": 1,
      "name": "CP calibration status",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = idle, 1 = in progress, 2 = successfully, 3 = failed, 4 = aborted."
    },
    {
      "address": 5062,
      "count": 1,
      "name": "Min current",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "6-31 A."
    },
    {
      "address": 5063,
      "count": 1,
      "name": "Power calibration offset",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Factor 0.6-1.4 stored as *100."
    },
    {
      "address": 5064,
      "count": 1,
      "name": "EVCS reset",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = reset command."
    },
    {
      "address": 5065,
      "count": 1,
      "name": "Auto mode type",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = feed in, 1 = battery powered."
    },
    {
      "address": 5066,
      "count": 1,
      "name": "Backup battery SOC for start charging",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Battery powered auto mode."
    },
    {
      "address": 5067,
      "count": 1,
      "name": "Backup battery min SOC to allow charging off grid",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5068,
      "count": 1,
      "name": "Backup battery emulation",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = disabled, 1 = enabled."
    },
    {
      "address": 5069,
      "count": 1,
      "name": "Feed in: start delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5070,
      "count": 1,
      "name": "Feed in: stop delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5071,
      "count": 1,
      "name": "Feed in: single phase grid power for start",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5072,
      "count": 1,
      "name": "Feed in: multi phase grid power for start",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5073,
      "count": 1,
      "name": "Feed in: grid power threshold for increase",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5074,
      "count": 1,
      "name": "Feed in: grid power threshold for decrease",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5075,
      "count": 1,
      "name": "Feed in: backup battery discharging power threshold",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5076,
      "count": 1,
      "name": "Feed in: current step",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "Raw value is A*10."
    },
    {
      "address": 5077,
      "count": 1,
      "name": "Feed in: time step",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5078,
      "count": 1,
      "name": "Battery powered: start delay min",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5079,
      "count": 1,
      "name": "Battery powered: stop delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5080,
      "count": 1,
      "name": "Battery powered: start abort delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5081,
      "count": 1,
      "name": "Battery powered: BKPB balance power",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5082,
      "count": 1,
      "name": "Battery powered: BKPB balance SOC max",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5083,
      "count": 1,
      "name": "Battery powered: available sun power threshold for start",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5084,
      "count": 1,
      "name": "Battery powered: grid power threshold for start",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5085,
      "count": 1,
      "name": "Battery powered: BKPB power threshold for decrease",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5086,
      "count": 1,
      "name": "Battery powered: grid power threshold for decrease",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5087,
      "count": 1,
      "name": "Battery powered: discharging detect timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5088,
      "count": 1,
      "name": "Battery powered: next try timeout for increase",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5089,
      "count": 1,
      "name": "Battery powered: time step",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5090,
      "count": 1,
      "name": "Battery powered: current step",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "Raw value is A*10."
    },
    {
      "address": 5091,
      "count": 1,
      "name": "Battery powered: grid power for feed-in detection",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5092,
      "count": 1,
      "name": "Battery powered: start delay max",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5093,
      "count": 1,
      "name": "ON grid detection threshold",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5094,
      "count": 1,
      "name": "EVCS errors L",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bitmask, 1 = active. Low part."
    },
    {
      "address": 5095,
      "count": 1,
      "name": "EVCS errors H",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bitmask, 1 = active. High part."
    },
    {
      "address": 5096,
      "count": 1,
      "name": "EVCS warnings L",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bitmask, 1 = active. Low part."
    },
    {
      "address": 5097,
      "count": 1,
      "name": "EVCS warnings H",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bitmask, 1 = active. High part."
    },
    {
      "address": 5098,
      "count": 1,
      "name": "EVCS notification code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = no notification."
    },
    {
      "address": 5099,
      "count": 1,
      "name": "External lock",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "External lock for the grid operator."
    },
    {
      "address": 5100,
      "count": 1,
      "name": "Multiple relay charging",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5101,
      "count": 1,
      "name": "Multiple relay charging: relay switching delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5102,
      "count": 1,
      "name": "Allow battery/grid power for auto mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5103,
      "count": 1,
      "name": "Battery/grid power timeout",
      "data_type": "UInt16",
      "units": "min",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5104,
      "count": 1,
      "name": "Overload protection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5105,
      "count": 1,
      "name": "Input current limit",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "Raw value is A*10; applies when charger position (5026) = 1 (inverter AC input)."
    },
    {
      "address": 5106,
      "count": 1,
      "name": "Overload protection ON/OFF timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5107,
      "count": 1,
      "name": "Overload protection cut-off timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5108,
      "count": 1,
      "name": "Relays OFF delay",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5109,
      "count": 1,
      "name": "Detected car phases",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Updated during charging, reset to 1 after the car disconnects."
    },
    {
      "address": 5110,
      "count": 1,
      "name": "Randomized delay max",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "UK profile only."
    },
    {
      "address": 5111,
      "count": 1,
      "name": "UP-time H",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "High part of the up-time in seconds."
    },
    {
      "address": 5112,
      "count": 1,
      "name": "UP-time L",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low part of the up-time in seconds."
    },
    {
      "address": 5113,
      "count": 1,
      "name": "Reboot counter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5114,
      "count": 1,
      "name": "Last reboot reason code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5115,
      "count": 1,
      "name": "Sys watchdog reboot counter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5116,
      "count": 1,
      "name": "Sys watchdog last reboot reason code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5117,
      "count": 1,
      "name": "Relays statuses",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bitmask: bit0 = L1, bit1 = L2, bit2 = L3, bit3 = N (v2); on v1 bit0 = rl1, bit2 = rl2."
    },
    {
      "address": 5118,
      "count": 1,
      "name": "Overload current decrease timeout",
      "data_type": "UInt16",
      "units": "min",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5119,
      "count": 1,
      "name": "Overload current decrease counter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5120,
      "count": 1,
      "name": "Overload current decrease rate",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5121,
      "count": 1,
      "name": "Onboard humidity",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is %*10; v2 hardware only."
    },
    {
      "address": 5122,
      "count": 1,
      "name": "Onboard temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10; v2 hardware only."
    },
    {
      "address": 5123,
      "count": 1,
      "name": "Display temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10; v2 hardware only."
    },
    {
      "address": 5124,
      "count": 1,
      "name": "Car connector temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10; v2 hardware only."
    },
    {
      "address": 5125,
      "count": 1,
      "name": "Power meter temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10; v2 hardware only."
    },
    {
      "address": 5126,
      "count": 1,
      "name": "Power control temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10; v2 hardware only."
    },
    {
      "address": 5127,
      "count": 1,
      "name": "Power supply temperature",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Raw value is °C*10."
    },
    {
      "address": 5128,
      "count": 1,
      "name": "Allow low excess solar power for auto mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5129,
      "count": 1,
      "name": "Charging current limit external",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = no limit, 1 = charging current limited to 6 A."
    },
    {
      "address": 5130,
      "count": 1,
      "name": "Inverter overtemperature protection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5131,
      "count": 1,
      "name": "Inverter overtemperature protection: current restore timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5132,
      "count": 1,
      "name": "Light ring brightness limit",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = light ring off, 100 = no limit."
    },
    {
      "address": 5133,
      "count": 1,
      "name": "CP auto-calibration state",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5134,
      "count": 1,
      "name": "Battery powered: low excess power threshold",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5135,
      "count": 1,
      "name": "Battery powered: emulated BKPB power",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5136,
      "count": 1,
      "name": "Battery powered: emulated BKPB SoC",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5137,
      "count": 1,
      "name": "Battery powered: feed-in detection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = enabled, 0 = disabled."
    },
    {
      "address": 5138,
      "count": 1,
      "name": "Battery powered: BKPB SoC max",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5139,
      "count": 1,
      "name": "Multiple relay charging: conditions check delay",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5141,
      "count": 1,
      "name": "Session saved cost",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Raw value is currency*100."
    },
    {
      "address": 5142,
      "count": 1,
      "name": "Energy price per kWh H",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "Raw value is price*1000. Write the high word first."
    },
    {
      "address": 5143,
      "count": 1,
      "name": "Energy price per kWh L",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "Price = (H * 65536 + L) / 1000."
    }
  ],
  "combined_registers": [],
  "notes": "Source: Victron Energy \"EV Charging Station - Modbus TCP register list\" v3.9 (XLSX, sheet \"Holding registers\"), vendor-hosted at https://www.victronenergy.com/upload/documents/EVCS-Modbus-TCP-register-list-v3.9.xlsx. The list states unit ID 1 and prints plain register numbers from 5000 up, stored here unchanged as zero-based wire addresses. Multi-register values are high word first, which matches the document's Total energy H / Total energy L and Energy price H / L pairs; values the document splits into H and L words are listed as those two registers. Registers 5000-5143 are populated in v3.9; 5144 and above are unassigned and left out, as is 5140 (Not assigned). The document names no TCP port, so 502 is the Modbus/TCP default. This is the EVCS's own Modbus TCP server; the com.victronenergy.evcharger registers a GX device exposes are a different map and are not claimed here. The library's victron-gx-cerbo seed covers the GX device, not this charger. File identity: SHA-256 7ec6fd16d65438d62d00d832cabbb5c15b7ef3416d6a6106d4bd6ee004f190f2 (XLSX, downloaded 2026-11-07 from the vendor URL above)."
}
