TapHome

Victron Energy GX Line Inverter

Modbus TCP
Submitted by
Last updated: 03. 2026
Victron Energy GX Line Inverter

The Victron GX device family (Cerbo GX, Cerbo GX MK2, Venus GX, CCGX) are communication and monitoring platforms that provide Modbus TCP access to connected Victron VE.Bus inverter/chargers (MultiPlus, Quattro). The GX device itself is not an inverter — it acts as a Modbus TCP gateway to the VE.Bus system.

TapHome connects to the GX device over Ethernet via Modbus TCP. The template exposes battery SOC monitoring, 3-phase AC input and output metering, ESS (Energy Storage System) power setpoint control, inverter mode switching, PV inverter management and comprehensive alarm monitoring.

Network connection

The GX device connects to the local network via its Ethernet port. TapHome Core and the GX device must be on the same subnet.

  • Protocol: Modbus TCP
  • Port: 502
  • Default Slave ID: 227 (Cerbo GX VE.Bus port)
  • Function codes: 3 (ReadHoldingRegisters), 6 (WriteSingleRegister), 16 (WriteMultipleRegisters)

The default slave ID 227 applies to the Cerbo GX VE.Bus port. Other GX devices use different IDs: 246 for CCGX, 242 for Venus GX, 228 for EasySolar-II GX. Unit IDs have been dynamically assigned since Venus OS 2.60 — verify the actual ID on the GX device via Settings → Services → Modbus/TCP → Available services.

Configuration

Enabling Modbus TCP

Modbus TCP is disabled by default on all GX devices. To enable it:

  1. Navigate to Settings → Services on the GX device
  2. Enable Modbus-TCP

Once enabled, the GX device listens on TCP port 502.

TapHome template import

When importing the template in TapHome, provide:

  • IP Address — the GX device’s IP on the local network
  • Slave ID — VE.Bus unit ID (default: 227 for Cerbo GX)

Assign a static IP address to the GX device in the router’s DHCP settings, or configure a static IP directly on the GX device via Settings → Ethernet, to prevent the address from changing after a reboot.

Device capabilities

The template exposes 10 devices organized into battery monitoring, AC metering, mode control and protection switches.

Battery monitoring
  • Battery — reads the VE.Bus state of charge (SOC) from register H:30 as a dimmer level. Service attributes show battery voltage (H:26), battery current with direction indicator (H:27), battery temperature (H:61), VE.Bus charge state (Off, Low Power, Fault, Bulk, Absorption, Float, Storage, Equalize, Passthru, Inverting, Power Assist, Power Supply) and BMS charge/discharge permissions (H:57–59). The readscript monitors H:32 for VE.Bus error codes (1–26) and H:60 for BMS errors. A VE.Bus Reset action (H:62) is available for system recovery.
AC input metering

Three electricity meter devices monitor AC input power per phase:

  • Input Power L1 — AC input power phase 1 from H:12, with service attributes for voltage (H:3), current (H:6), frequency (H:9) and ESS power setpoint (H:37). The ESS setpoint is writable via a service action.
  • Input Power L2 — AC input power phase 2 from H:13, with corresponding L2 service attributes and ESS setpoint L2 (H:40).
  • Input Power L3 — AC input power phase 3 from H:14, with corresponding L3 service attributes and ESS setpoint L3 (H:41).

Each input power device includes an ESS power setpoint service action for its respective phase, allowing TapHome to control the ESS charge/discharge behaviour per phase.

AC output metering

Three electricity meter devices monitor AC output power per phase:

  • Output Power L1 — AC output from H:18, with service attributes for voltage (H:15), current (H:18) and frequency (H:21). The readscript monitors per-phase alarms for temperature (H:44), low battery (H:45), overload (H:46) and ripple (H:47).
  • Output Power L2 — AC output from H:24, with L2 voltage (H:16), current (H:19) and frequency (H:21). Monitors L2 alarms (H:48–51).
  • Output Power L3 — AC output from H:25, with L3 voltage (H:17), current (H:20) and frequency (H:21). Monitors L3 alarms (H:52–55).
Current limit control
  • Active Input Current Limit — reads and writes the active input current limit (H:22) in amps. The “Set Limit” service action accepts a float value (0–100 A).
Protection switches
  • Feed DC Overvoltage into Grid — toggle switch (H:65) to control whether DC overvoltage is fed back into the grid. Service attributes show maximum overvoltage feed-in power per phase (H:66–68) and AC input ignored status (H:69–70). A service action allows setting the maximum feed-in power per phase.
  • PV Inverter — toggle switch (H:56) to enable or disable PV inverter frequency shifting on AC-out. When enabled (switch OFF), the AC-out PV inverter operates normally; when disabled (switch ON), frequency shifting limits the PV output.
Module-level service attributes and actions

The module itself exposes several service attributes accessible from the gateway device in TapHome:

AttributeRegisterDescription
Phase CountH:28Number of AC phases in the VE.Bus system
Switch PositionH:33Inverter mode — Charger Only, Inverter Only, On, Off
Active InputH:29Active AC input source — AC Input 1, AC Input 2, Disconnected
ESS Disable ChargeH:38Charge flag — Charge enabled / Charge disabled
ESS Disable Feed-inH:39Feed-in flag — Feed in enabled / Feed in disabled
ESS Power Setpoint L1–L3H:37, H:40, H:41Per-phase ESS power setpoint in watts

Module-level service actions allow switching the inverter mode (Charger Only, Inverter Only, On, Off), toggling the ESS charge flag and toggling the ESS feed-in flag.

System alarm monitoring

The module readscript monitors 7 system-level alarms:

RegisterAlarmLevels
H:34Temperature alarm0=Ok, 1=Warning, 2=Alarm
H:35Low battery alarm0=Ok, 1=Warning, 2=Alarm
H:36Overload alarm0=Ok, 1=Warning, 2=Alarm
H:42Temperature sensor alarm0=Ok, 1=Warning, 2=Alarm
H:43Voltage sensor alarm0=Ok, 1=Warning, 2=Alarm
H:63Phase rotation warning0=Ok, 1=Warning
H:64Grid lost alarm0=Ok, 1=Alarm
Additional capabilities

The VE.Bus register set (H:3–H:231) provides additional registers beyond what the template currently implements. These include energy counters for AC-in/out/battery flows (H:74–92, volatile — reset on reboot), charge state enumeration (H:95), 32-bit ESS power setpoints for larger systems (H:96–100), advanced ESS settings like Prefer Renewable Energy (H:102), PowerAssist configuration (H:106–108), UPS function control (H:109) and microgrid/droop mode registers (H:200–231). These can be added to the TapHome template in a future update.

Troubleshooting

No Modbus communication
  1. Verify that Modbus TCP is enabled on the GX device (Settings → Services → Modbus-TCP)
  2. Confirm the GX device’s IP address — check the router’s DHCP lease table or the GX device’s network settings
  3. Ensure TapHome Core and the GX device are on the same subnet
  4. Check that no firewall is blocking TCP port 502
  5. Verify the correct unit ID — the default 227 applies to Cerbo GX; other GX models use different IDs
Incorrect power readings

The template uses a /100 scale factor for power registers (H:12–14, H:23–25), while Victron documentation specifies a scale factor of 0.1 (meaning raw value × 10 = actual watts). This may result in power readings that are lower than expected. If power values appear incorrect, this is a known template scale factor difference — the relative measurements remain proportionally correct.

VE.Bus error codes

The Battery device readscript checks register H:32 for VE.Bus error codes. Common errors include:

CodeDescription
1Device switched off because another phase switched off
5Overvoltage on AC-out
10System time synchronisation problem
14Device cannot transmit data
16Dongle missing
17A device assumed master status because the original master failed
25Firmware incompatibility between connected devices
26Internal error

If persistent VE.Bus errors appear, the VE.Bus Reset action (available on the Battery device) can be used to attempt recovery.

Unit ID changed after Venus OS update

Since Venus OS 2.60, unit IDs are dynamically assigned. After a firmware update, the unit ID may change. Navigate to Settings → Services → Modbus/TCP → Available services on the GX device to verify the current VE.Bus unit ID, then update the TapHome template’s slave ID accordingly.

Available devices

Victron GX Line Inverter Module
Service Attributes
Phase Count
Switch PositionInverter operating mode — Charger Only, Inverter Only, On, Off
Active InputActive AC input source — AC Input 1, AC Input 2, Disconnected
ESS Disable Charge flag phaseESS charge permission — Charge enabled or Charge disabled
ESS Disable Charge feedback phaseESS feed-in permission — Feed in enabled or Feed in disabled
ESS power setpoint phase 1
ESS power setpoint phase 2
ESS power setpoint phase 3
Service Actions
Switch PositionSet inverter mode — Charger Only, Inverter Only, On, Off
Charge flag phaseEnable or disable ESS battery charging
Feedback flag phaseEnable or disable ESS grid feed-in

Vitron GX Line Inverter

Read (module)
var temp := MODBUSR(H, 34, Uint16);
IF(temp = 1, ADDWARNING("Temperature alarm"));
IF(temp = 2, ADDERROR("Temperature alarm"));
var low := MODBUSR(H, 35, Uint16);
IF(low = 1, ADDWARNING("Low Battery alarm"));
IF(low = 2, ADDERROR("Low Battery alarm"));
var over := MODBUSR(H, 36, Uint16);
IF(over = 1, ADDWARNING("Overload alarm"));
IF(over = 2, ADDERROR("Overload alarm"));
var seb := MODBUSR(H, 42, Uint16);
IF(seb = 1, ADDWARNING("Temperature sensor alarm"));
IF(seb = 2, ADDERROR("Temperature sensor alarm"));
var vol := MODBUSR(H, 43, Uint16);
IF(vol = 1, ADDWARNING("Voltage sensor alarm"));
IF(vol = 2, ADDERROR("Voltage sensor alarm"));
IF(MODBUSR(H, 63, Uint16) = 1, ADDWARNING("Phase Rotation Warning"));
IF(MODBUSR(H, 64, Uint16) = 1, ADDERROR("Grid Lost Alarm"));
Service Attributes
Phase Count
MODBUSR(H, 28, Uint16);
Switch Position
var reg := MODBUSR(H, 33, Uint16);
Switch(reg, 1, "Charger Only", 2, "Inverter Only", 3 ,"On", 4, "Off", "Unknown");
Active Input
var reg := MODBUSR(H, 29, Uint16);
switch(reg, 0, "AC Input 1", 1, "AC Input 2", 240, "Disconnected", "Unknown");
ESS Disable Charge flag phase
IF(MODBUSR(H, 38, Uint16) = 1, "Charge disabled", "Charge enabled")
ESS Disable Charge feedback phase
IF(MODBUSR(H, 39, Uint16) = 1, "Feed disabled");
IF(MODBUSR(H, 39, Uint16) = 0, "Feed in enabled", "Not set");
ESS power setpoint phase 1
MODBUSR(H, 37, Uint16) + " W";
ESS power setpoint phase 2
MODBUSR(H, 40, Uint16) + " W";
ESS power setpoint phase 3
MODBUSR(H, 41, Uint16) + " W";
Service Actions
Switch Position
Parameters: Switch Position
MODBUSWNE(H, 33, uint16, pos);
Charge flag phase
Parameters: Charge flag phase
MODBUSWNE(H, 38, Uint16, chfp);
Feedback flag phase
Parameters: Feedback flag phase
MODBUSWNE(H, 39, Uint16, ffp);
Active Input Current Limit Variable

AC input current limit in amps — adjustable via Set Limit action (0–100 A)

Register: H:22 Int16 Unit: A numeric
Service Actions
Set Limit

Active Input Current Limit

Read
MODBUSR(H, 22, int16)/10
Service Actions
Set Limit
Parameters: Active Input Current Limit [A] (0–100 aic)
MODBUSWNE(H, 22, Int16, aic*10)
Battery Dimmer

Battery state of charge with voltage, current, temperature, VE.Bus charge state and BMS permissions

Register: H:30 UInt16 Unit: % numeric
Service Attributes
Battery Voltage
Battery Current
FlowCurrent direction — DC system to Multi, Multi to DC system, or idle
Battery Temperature
StateVE.Bus charge state — Off, Low Power, Fault, Bulk, Absorption, Float, Storage, Equalize, Passthru, Inverting, Power Assist, Power Supply
VE.Bus BMS allows battery to be charged
VE.Bus BMS allows battery to be discharged
VE.Bus BMS is expected
Service Actions
VE.Bus Reset

Battery

Read (module)
var reg := MODBUSR(H, 32, Uint16);
SWITCH(reg, 1, ADDERROR("VE.Bus Error 1: Device is switched off because one of the other phases in the system has switched of"), 2, "VE.Bus Error 2: New and old types MK2 are mixed in the system", 3, "VE.Bus Error 3: Not all- or more than- the expected devices were found in the system", 4, "VE.Bus Error 4: No other device whatsoever detected", 5, "VE.Bus Error 5: Overvoltage on AC-out", 6, "VE.Bus Error 6: Error in DDC Program", 7, "VE.Bus BMS connected- which requires an Assistant- but no assistant found", 10, "VE.Bus Error 10: System time synchronisation problem occurred", 14, "VE.Bus Error 14: Device cannot transmit data", 16, "VE.Bus Error 16: Dongle missing", 17, "VE.Bus Error 17: One of the devices assumed master status because the original master failed",18, "VE.Bus Error 18: AC Overvoltage on the output of a slave has occurred while already switched off", 22, "VE.Bus Error 22: This device cannot function as slave", 24, "VE.Bus Error 24: Switch-over system protection initiated", 25, "VE.Bus Error 25: Firmware incompatibility. The firmware of one of the connected device is not sufficiently up to date to operate in conjunction with this device", 26, "VE.Bus Error 26: Internal error", "No error");
IF(MODBUSR(H, 60, Uint16) = 1, ADDERROR("VE.Bus BMS error"));
Read level
MODBUSR(H, 30, UInt16) / 1000
Service Attributes
Battery Voltage
MODBUSR(H, 26, Uint16)/100 + " V";
Battery Current
ABS(MODBUSR(H, 27, int16)/10) + " A";
Flow
var reg := MODBUSR(H, 27, int16);
IF(reg = 0, "-");
IF(reg < 0, "DC system to Multi", "Multi to DC system");
Battery Temperature
var tempt := MODBUSR(H, 61, Int16)/10; 
IF(tempt = 0, "Unknown", tempt + " °C")
State
var reg := MODBUSR(H, 31, Uint16);
SWITCH(reg, 0, "Off",
 1, "Low Power",
 2, "Fault",
 3, "Bulk",
 4, "Absorbtion",
 5, "Float", 
 6, "Storage", 
 7, "Equalize", 
 8, "Passtru", 
 9, "Inverting", 
 10, "Power Assist", 
 11, "Power Supply", 
 252, "Bulk protection",
 "Unknown" );
VE.Bus BMS allows battery to be charged
SWITCH(MODBUSR(H, 57, Uint16), 0, "No", 1, "Yes", "Unknown");
VE.Bus BMS allows battery to be discharged
SWITCH(MODBUSR(H, 58, Uint16), 0, "No", 1, "Yes", "Unknown");
VE.Bus BMS is expected
SWITCH(MODBUSR(H, 59, Uint16), 0, "No", 1, "Yes", "Unknown");
Service Actions
VE.Bus Reset
Parameters: Reset
MODBUSW(H, 62, Uint16, res);
Feed DC Overvoltage into Grid Switch

Toggle DC overvoltage grid feed-in with per-phase maximum power limits

Register: H:65 UInt16 numeric
Values / States: Feed in overvoltage · Don't feed in overvoltage
Service Actions
Maximum overvoltage feed-in powerSet maximum DC overvoltage feed-in power per phase (L1, L2, L3)

Feed DC Overvoltage into Grid

Read switch state
MODBUSR(H, 65, Uint16);
Write switch state
MODBUSW(H, 65, Uint16, St);
Service Attributes
Maximum overvoltage feed-in power L1
MODBUSR(H, 66, Uint16)/ 0.01 + " W";
Maximum overvoltage feed-in power L2
MODBUSR(H, 67, Uint16)/ 0.01 + " W";
Maximum overvoltage feed-in power L3
MODBUSR(H, 68, Uint16)/ 0.01 + " W";
AC input 1
SWITCH(MODBUSR(H, 69, Uint16), 0, "not ignored", 1, "ignored", "Unknown");
AC input 2
SWITCH(MODBUSR(H, 70, Uint16), 0, "not ignored", 1, "ignored", "Unknown");
Service Actions
Maximum overvoltage feed-in power
Parameters: L1[W] (0–6.5535e+06 L1), L2[W] (0–6.5535e+06 L2), L3[W] (0–65535 L3)
MODBUSWNE(H, 66, Uint16, L1)/100;
MODBUSWNE(H, 67, Uint16, L2)/100;
MODBUSWNE(H, 68, Uint16, L2)/100;
Input Power L1 Electricity Meter

AC input power phase 1 with voltage, current, frequency and ESS power setpoint

Register: H:12 Int16 Unit: W numeric
Service Attributes
Input Voltage L1
Input Current L1
Input Frequency 1
ESS power setpoint phase 1
Service Actions
ESS power setpoint phase 1

Input Power L1

Read demand
MODBUSR(H, 12, Int16) / 100
Service Attributes
Input Voltage L1
MODBUSR(H, 3, Uint16)/10  + " V"
Input Current L1
MODBUSR(H, 6, Int16)/10  + " A";
Input Frequency 1
MODBUSR(H, 9, Int16)/100  + " Hz";
ESS power setpoint phase 1
MODBUSR(H, 37, int16) + " W";
Service Actions
ESS power setpoint phase 1
Parameters: Power setpoint L1 [W] (-32768–32768 L1)
MODBUSW(H, 37, int16, L1);
Input Power L2 Electricity Meter

AC input power phase 2 with voltage, current, frequency and ESS power setpoint

Register: H:13 Int16 Unit: W numeric
Service Attributes
Input Voltage L2
Input Current L2
Input Frequency 2
ESS power setpoint phase 2
Service Actions
ESS power setpoint phase 2

Input Power L2

Read demand
MODBUSR(H, 13, Int16) / 100
Service Attributes
Input Voltage L2
MODBUSR(H, 4, Uint16)/10  + " V"
Input Current L2
MODBUSR(H, 7, Int16)/10  + " A";
Input Frequency 2
MODBUSR(H, 10, Int16)/100  + " Hz";
ESS power setpoint phase 2
MODBUSR(H, 40, int16) + " W";
Service Actions
ESS power setpoint phase 2
Parameters: ESS Power setpoint L2 [W] (-32768–32768 L2)
MODBUSW(H, 40, Int16, L2)
Input Power L3 Electricity Meter

AC input power phase 3 with voltage, current, frequency and ESS power setpoint

Register: H:14 Int16 Unit: W numeric
Service Attributes
Input Voltage L3
Input Current L3
Input Frequency 3
ESS power setpoint phase 3
Service Actions
ESS power setpoint phase 3

Input Power L3

Read demand
MODBUSR(H, 14, Int16) / 100
Service Attributes
Input Voltage L3
MODBUSR(H, 5, Uint16)/10  + " V"
Input Current L3
MODBUSR(H, 8, Int16)/10  + " A";
Input Frequency 3
MODBUSR(H, 11, Int16)/100  + " Hz";
ESS power setpoint phase 3
MODBUSR(H, 41, int16) + " W";
Service Actions
ESS power setpoint phase 3
Parameters: ESS power setpoint L3 [W] (-32768–32768 L3)
MODBUSW(H, 41, Int16, L3)
Output Power L1 Electricity Meter Read-only

AC output phase 1 with voltage, current, frequency and per-phase alarm monitoring

Register: H:18 Int16 Unit: W numeric
Service Attributes
Output Voltage L1
Output Current L1
Output Frequency

Output Power L1

Read demand
MODBUSR(H, 18, Int16) / 100
Read (module)
var tem := MODBUSR(H, 44, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L1"), 2, ADDERROR("Temperature Alarm L1"),"");
var bat := MODBUSR(H, 45, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L1"), 2, ADDERROR("Low Battery Alarm L1"),"");
var ove := MODBUSR(H, 46, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L1"), 2, ADDERROR("Overload Alarm L1"),"");
var rip := MODBUSR(H, 47, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L1"), 2, ADDERROR("Ripple Alarm L1"),"");
Service Attributes
Output Voltage L1
MODBUSR(H, 15, UInt16)/10  + " V";
Output Current L1
MODBUSR(H, 18, Int16)/10  + " A";
Output Frequency
MODBUSR(H, 21, Int16)/100 + " Hz";
Output Power L2 Electricity Meter Read-only

AC output phase 2 with voltage, current, frequency and per-phase alarm monitoring

Register: H:24 Int16 Unit: W numeric
Service Attributes
Output voltage L2
Output Current L2
Output Frequency

Output Power L2

Read demand
MODBUSR(H, 24, Int16) / 100
Read (module)
var tem := MODBUSR(H, 48, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L2"), 2, ADDERROR("Temperature Alarm L2"),"");
var bat := MODBUSR(H, 49, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L2"), 2, ADDERROR("Low Battery Alarm L2"),"");
var ove := MODBUSR(H, 50, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L2"), 2, ADDERROR("Overload Alarm L2"),"");
var rip := MODBUSR(H, 51, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L2"), 2, ADDERROR("Ripple Alarm L2"),"");
Service Attributes
Output voltage L2
MODBUSR(H, 16, UInt16)/10  + " V";
Output Current L2
MODBUSR(H, 19, Int16)/10  + " A";
Output Frequency
MODBUSR(H, 21, Int16)/100 + " Hz";
Output Power L3 Electricity Meter Read-only

AC output phase 3 with voltage, current, frequency and per-phase alarm monitoring

Register: H:25 Int16 Unit: W numeric
Service Attributes
Output Voltage L3
Output Current L3
Output Frequency

Output Power L3

Read demand
MODBUSR(H, 25, Int16) / 100
Read (module)
var tem := MODBUSR(H, 52, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L3"), 2, ADDERROR("Temperature Alarm L3"),"");
var bat := MODBUSR(H, 53, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L3"), 2, ADDERROR("Low Battery Alarm L3"),"");
var ove := MODBUSR(H, 54, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L3"), 2, ADDERROR("Overload Alarm L3"),"");
var rip := MODBUSR(H, 55, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L3"), 2, ADDERROR("Ripple Alarm L3"),"");
Service Attributes
Output Voltage L3
MODBUSR(H, 17, UInt16)/10  + " V";
Output Current L3
MODBUSR(H, 20, Int16)/10  + " A";
Output Frequency
MODBUSR(H, 21, Int16)/100 + " Hz";
PV Inverter Switch

PV inverter frequency shifting control — enable or disable PV output on AC-out

Register: H:56 UInt16 numeric
Values / States: PV disabled · PV enabled

PV Inverter

Read switch state
MODBUSR(H, 56, Uint16)
Write switch state
MODBUSWNE(H, 56, Uint16, St);
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (16)
  • H:23 Output Power L1 — Int16, ×10, W — actual output power L1 register; template uses H:18 (current) for Output Power 1 readdemand instead
  • H:71 AcPowerSetpoint acts as feed-in limit — UInt16, 0=Normal, 1=OvervoltageFeedIn limit
  • H:72 Solar offset voltage — UInt16, 0=1V offset, 1=0.1V offset
  • H:73 Sustain active — UInt16, 0=Inactive, 1=Active
  • H:74-92 Energy Counters (10 × UInt32) — /100, kWh — AC-In/Out/Battery energy flow counters; volatile (reset on Multi/GX reboot)
  • H:94 BMS Pre-Alarm (Low cell voltage imminent) — UInt16, 0=Ok, 1=Warning, 2=Alarm
  • H:95 Charge State — UInt16, enum: 0=Initialising, 1=Bulk, 2=Absorption, 3=Float, 4=Storage, 5=Absorb repeat, 6=Forced absorb, 7=Equalise, 8=Bulk stopped, 9=Unknown
  • H:96-100 ESS 32-bit Power Setpoints (L1-L3) — Int32, W — 32-bit complement of H:37/40/41 for larger systems
  • H:102 Prefer Renewable Energy — UInt16, 0=No, 1=Yes; Venus 3.30+
  • H:103-104 Remote Generator Selected — UInt16, select/status; Venus 3.30+
  • H:105 Redetect VE.Bus system — Write 1 to redetect
  • H:106 Power Assist boost factor — UInt16, /100; Venus 3.30+
  • H:107 Configured output voltage — UInt16, /100, V AC; Venus 3.30+
  • H:108 PowerAssist enabled — UInt16, 0=Disabled, 1=Enabled; Venus 3.30+
  • H:109 UPS function enabled — UInt16, 0=Enabled, 1=Disabled (inverted); Venus 3.30+
  • H:200-231 Microgrid Registers — Grid-forming / grid-following / droop mode control; most RW, some unsupported in current firmware

Sources