{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Victron Energy", "model": "GX settings", "vendor_website": "victronenergy.com", "description": "ESS, DVCC, generator start/stop and Dynamic ESS settings of a Victron 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.settings" } ], "notes": [ "Registers of the com.victronenergy.settings 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": "ESS control loop setpoint", "area": "holding", "address": 2700, "type": "int16", "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/AcPowerSetPoint"}, {"name": "ESS max charge current (fractional)", "area": "holding", "address": 2701, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxChargePercentage; ESS Mode 2 - Max charge current for ESS control-loop. The control-loop will use this value to limit the multi power setpoint. For DVCC, use 2705 instead"}, {"name": "ESS max discharge current (fractional)", "area": "holding", "address": 2702, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxDischargePercentage"}, {"name": "ESS control loop setpoint (2703)", "area": "holding", "address": 2703, "type": "int16", "scale": 100, "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/AcPowerSetPoint; ESS Mode 2 – Same as 2700, but with a different scale factor. Meant for values larger than +-32kW"}, {"name": "ESS max discharge current", "area": "holding", "address": 2704, "type": "int16", "scale": 10, "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxDischargePower; ESS Mode 2 – similar to 2702, but as an absolute value instead of a percentage"}, {"name": "DVCC system max charge current", "area": "holding", "address": 2705, "type": "int16", "unit": "A", "access": "RW", "description": "D-Bus /Settings/SystemSetup/MaxChargeCurrent; ESS Mode 2 with DVCC – Maximum system charge current. -1 Disables"}, {"name": "Maximum System Grid Feed In", "area": "holding", "address": 2706, "type": "int16", "scale": 100, "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxFeedInPower; -1: No limit, >=0: limited system feed-in. Applies to DC-coupled and AC-coupled feed-in"}, {"name": "Feed excess DC-coupled PV into grid", "area": "holding", "address": 2707, "type": "int16", "enum": {"0": "Don’t feed excess DC-tied PV into grid", "1": "Feed excess DC-tied PV into the grid"}, "access": "RW", "description": "D-Bus /Settings/Cgwacs/OvervoltageFeedIn; Also known as Overvoltage Feed-in"}, {"name": "Don’t feed excess AC-coupled PV into grid", "area": "holding", "address": 2708, "type": "int16", "enum": {"0": "Feed excess AC-tied PV into grid", "1": "Don’t feed excess AC-tied PV into the grid"}, "access": "RW", "description": "D-Bus /Settings/Cgwacs/PreventFeedback; Formerly called Fronius Zero-Feedin"}, {"name": "Limit managed battery voltage", "area": "holding", "address": 2710, "type": "uint16", "scale": 0.1, "unit": "V", "access": "RW", "description": "D-Bus /Settings/SystemSetup/MaxChargeVoltage; Only used if there is a managed battery in the system"}, {"name": "AC input 1 source (for VE.Bus inverter/chargers)", "area": "holding", "address": 2711, "type": "uint16", "enum": {"0": "Unused", "1": "Grid", "2": "Genset", "3": "Shore"}, "access": "RW", "description": "D-Bus /Settings/SystemSetup/AcInput1; For Multi-RS, this is configured on the Inverter/Charger with VictronConnect"}, {"name": "AC input 2 source (for VE.Bus inverter/chargers)", "area": "holding", "address": 2712, "type": "uint16", "enum": {"0": "Unused", "1": "Grid", "2": "Genset", "3": "Shore"}, "access": "RW", "description": "D-Bus /Settings/SystemSetup/AcInput2"}, {"name": "AC export limit when peakshaving", "area": "holding", "address": 2713, "type": "int16", "access": "RW", "description": "D-Bus /Settings/CGwacs/AcExportLimit; -1: Disabled"}, {"name": "AC import limit when peakshaving", "area": "holding", "address": 2714, "type": "int16", "access": "RW", "description": "D-Bus /Settings/Cgwacs/AcInputLimit; -1: Disabled"}, {"name": "Mode for peakshaving", "area": "holding", "address": 2715, "type": "uint16", "enum": {"0": "Above minimum SOC only", "1": "Always"}, "access": "RW", "description": "D-Bus /Settings/CGwacs/AlwaysPeakShave"}, {"name": "Grid metering", "area": "holding", "address": 2718, "type": "uint16", "enum": {"0": "External meter", "1": "Inverter/Charger"}, "access": "RW", "description": "D-Bus /Settings/CGwacs/RunWithoutGridMeter"}, {"name": "ESS max discharge current (2720)", "area": "holding", "address": 2720, "type": "int32", "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxDischargePower; This is a 32-bit version of 2704"}, {"name": "Maximum System Grid Feed In (2722)", "area": "holding", "address": 2722, "type": "int32", "unit": "W", "access": "RW", "description": "D-Bus /Settings/Cgwacs/MaxFeedInPower; This is a 32-bit version of 2706"}, {"name": "ESS BatteryLife state", "area": "holding", "address": 2900, "type": "uint16", "enum": {"0": "Unused, BL disabled", "1": "Restarting", "2": "Self-consumption", "3": "Self-consumption", "4": "Self-consumption", "5": "Discharge disabled", "6": "Force charge", "7": "Sustain", "8": "Low Soc Recharge", "9": "Keep batteries charged", "10": "BL Disabled", "11": "BL Disabled (Low SoC)", "12": "BL Disabled (Low SOC recharge)"}, "access": "RW", "description": "D-Bus /Settings/CGwacs/BatteryLife/State; Use value 0 (disable) and 1(enable) for writing only"}, {"name": "ESS Minimum SoC (unless grid fails)", "area": "holding", "address": 2901, "type": "uint16", "scale": 0.1, "unit": "%", "access": "RW", "description": "D-Bus /Settings/CGwacs/BatteryLife/MinimumSocLimit; Same as the setting in the GUI"}, {"name": "ESS Mode", "area": "holding", "address": 2902, "type": "uint16", "enum": {"1": "ESS with Phase Compensation", "2": "ESS without phase compensation", "3": "Disabled/External Control"}, "access": "RW", "description": "D-Bus /Settings/Cgwacs/Hub4Mode"}, {"name": "ESS BatteryLife SoC limit (read only)", "area": "holding", "address": 2903, "type": "uint16", "scale": 0.1, "unit": "%", "description": "D-Bus /Settings/Cgwacs/BatteryLife/SocLimit"}, {"name": "Auto start enabled", "area": "holding", "address": 4701, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "access": "RW", "description": "D-Bus /Settings/Pump0/AutoStartEnabled"}, {"name": "Mode", "area": "holding", "address": 4702, "type": "uint16", "enum": {"0": "Auto", "1": "On", "2": "Off"}, "access": "RW", "description": "D-Bus /Settings/Pump0/Mode"}, {"name": "Start value", "area": "holding", "address": 4703, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/Pump0/StartValue"}, {"name": "Stop value", "area": "holding", "address": 4704, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/Pump0/StopValue"}, {"name": "Battery capacity", "area": "holding", "address": 5420, "type": "uint16", "scale": 0.1, "unit": "kWh", "access": "RW", "description": "D-Bus /Settings/DynamicEss/BatteryCapacity"}, {"name": "Full battery charge duration", "area": "holding", "address": 5421, "type": "uint16", "unit": "h", "access": "RW", "description": "D-Bus /Settings/DynamicEss/FullChargeDuration"}, {"name": "Full battery charge interval", "area": "holding", "address": 5422, "type": "uint16", "unit": "d", "access": "RW", "description": "D-Bus /Settings/DynamicEss/FullChargeInterval"}, {"name": "Dynamic ESS mode", "area": "holding", "address": 5423, "type": "uint16", "enum": {"0": "Off", "1": "Auto", "4": "Node-RED"}, "access": "RW", "description": "D-Bus /Settings/DynamicEss/Mode"}, {"name": "Allow grid feed-in during this schedule", "area": "holding", "address": 5424, "type": "uint16", "enum": {"0": "Not allowed", "1": "Allowed"}, "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/AllowGridFeedIn"}, {"name": "Duration for this schedule", "area": "holding", "address": 5425, "type": "uint16", "unit": "s", "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/Duration"}, {"name": "Active restrictions for this schedule", "area": "holding", "address": 5426, "type": "uint16", "enum": {"0": "No restrictions between battery and the grid", "1": "Battery to grid energy flow is restricted", "2": "Grid to battery energy flow is restricted", "3": "No energy flow between battery and grid"}, "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/Restrictions"}, {"name": "Target SOC for this schedule", "area": "holding", "address": 5427, "type": "uint16", "unit": "%", "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/Soc"}, {"name": "Unix timestamp when this schedule starts", "area": "holding", "address": 5428, "type": "int32", "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/Start"}, {"name": "Used strategy for this schedule", "area": "holding", "address": 5430, "type": "uint16", "enum": {"0": "Target SOC", "1": "Self-consumption", "2": "Pro battery", "3": "Pro grid"}, "access": "RW", "description": "D-Bus /Settings/DynamicEss/Schedule/0/Strategy"}, {"name": "GX device System Name", "area": "holding", "address": 5700, "type": "string", "length": 8, "access": "RW", "description": "D-Bus /Settings/SystemSetup/SystemName"} ] }