Configuring Modbus TCP on Victron CCGX

Updated 9 September 2026 · By SolarNevs Research Desk, Dealer surveys + verified sources · 1 source · Method ↗

Solar communication gateway controller mounted on a utility wall with connected ethernet network and terminal wiring. — SolarNevs spec card

Key Takeaways

  • Modbus-TCP is disabled by default on Victron GX devices and must be manually enabled.
  • Incorrect Unit-ID or register addresses are common causes of communication failures.
  • Always verify device connectivity to the GX device before troubleshooting Modbus-TCP.
  • If basic configuration and error code checks do not resolve the issue, consult a qualified technician.

Why is my Victron CCGX Modbus TCP not working?

The most common reasons for Modbus TCP not working on a Victron GX device are that the service is disabled or there is an incorrect Unit-ID or register address. The first step is to ensure the Modbus-TCP service is enabled in the GX device settings.

Diagnosis

Follow these steps to diagnose issues with Modbus TCP on your Victron GX device.

  1. Verify Modbus-TCP Service is Enabled:
    • Go into the settings menu on your GX device.
    • Scroll down to 'Services'.
    • Confirm that the Modbus-TCP service is enabled. By default, Modbus-TCP is disabled. If it is not enabled, enable it.
  1. Check Available Services and Addresses:
    • Navigate to Settings -> Services -> Modbus/TCP -> Available services.
    • This menu shows a list of available devices and their addresses. Ensure the device you are trying to communicate with is listed and has the expected address.
  1. Inspect Unit-ID and Register Address:
    • For overall system data, use Unit-ID 100. While Unit-ID 0 also maps to the same internal address, Victron recommends Unit-ID 100 because many Modbus-TCP clients and PLCs do not work with ID 0.
    • If requesting data from a Multi or Quattro connected to the VE.Bus sockets on the GX device, use Unit-ID 246 and set the data address of the first request register to 3 for input voltage.
    • An issue in the unitid/registerid combination can lead to read or write not being successful.
  1. Review Last Modbus-TCP Error:
    • Use the Settings -> Services -> Modbus-TCP menu on your GX device.
    • This menu displays the last error and the reason for that error, which can help pinpoint the problem.
  1. Confirm Device Connectivity:
    • If a GatewayPathUnavailable (0x0A) error occurs, it means the requested Unit-ID is defined in the mapping list, but no device is found on the mapped port. Double-check the Unit-ID mapping list and ensure the device is properly connected to the GX device, switched on, and its data is available on the GX device display.
    • If a GatewayTargetDeviceFailedToRespond (0x0B) error appears, the requested Unit-ID was not found in the mapping list. Verify the Unit-ID mapping list.

Cause/fix table

Symptom detail

Likely cause

Fix

Read or write not successful

Issue in the unitid/registerid combination

Verify the correct Unit-ID and register address according to Victron documentation.

Error code 0x01 (IllegalFunction)

The requested function is not supported.

Use supported function codes: ReadHoldingRegisters (3), ReadInputRegisters (4), WriteSingleRegister (6), WriteMultipleRegisters (16).

Error code 0x02 (IllegalDataAddress)

One or more requested register(s) does not exist.

Check the register address mapping. Ensure the register exists for the specified Unit-ID.

Error code 0x03 (IllegalDataValue)

The requested quantity of registers is invalid.

Refer to Modbus specifications for limits per function code. Adjust the quantity of registers requested.

Error code 0x0A (GatewayPathUnavailable)

Requested Unit-ID is mapped, but no device is found on the port.

Double-check Unit-ID mapping. Ensure the device is connected, switched on, and its data is visible on the GX device display.

Error code 0x0B (GatewayTargetDeviceFailedToRespond)

Requested Unit-ID not found in the mapping list.

Verify the Unit-ID mapping list in your configuration.

Modbus TCP Configuration and Supported Functions

Victron GX devices, such as the Cerbo GX and Venus GX, support Modbus-TCP for monitoring and control. This section details how to configure the service and understand its capabilities.

Enabling the Modbus-TCP Service: The Modbus-TCP service is disabled by default. To enable it, navigate through the GX device's menu:

  1. Go into the settings menu.
  2. Scroll down to 'Services'.
  3. Enable the Modbus-TCP service.

Understanding Unit-IDs: Unit-IDs are crucial for addressing specific devices or data sets.

  • For overall system data, use Unit-ID 100. Victron recommends this ID over Unit-ID 0, as some Modbus-TCP clients and PLCs may not work with ID 0, even though both map to the same internal address.
  • To request the input voltage of a Multi or Quattro connected to the VE.Bus sockets on the GX device, use Unit-ID 246. The data address for the first request register in this case is 3.

Supported Function Codes: Victron GX devices support several standard Modbus-TCP function codes for reading and writing data:

  • ReadHoldingRegisters (code 3)
  • ReadInputRegisters (code 4)
  • WriteSingleRegister (code 6)
  • WriteMultipleRegisters (code 16)

Accessing Device Information: To see a list of available devices and their addresses, go to Settings -> Services -> Modbus/TCP -> Available services on your GX device. If you encounter issues, the Settings -> Services -> Modbus-TCP menu can show the last error and its reason.

A comprehensive list of available registers and Unit ID mapping is typically provided in an Excel sheet, which Victron states is available in the "Whitepapers section on our website" and the "Color Control page."

Safety

The Victron CCGX Modbus TCP configuration itself does not involve direct physical hazards. However, when working with any network-connected device in a solar energy system, ensure that your network is secure to prevent unauthorized access or control of your system.

When to call a technician instead

You should call a qualified technician if:

  • You have followed all troubleshooting steps and are still unable to establish Modbus TCP communication.
  • The GX device itself is not functioning correctly or displaying unexpected behavior unrelated to Modbus TCP settings.
  • You suspect a hardware fault with the GX device or connected components.
  • Complex network configuration issues arise that are beyond your expertise.
  • You are unsure about making changes to your solar system's control parameters.

Frequently asked questions

How do I enable Modbus TCP on my Victron GX device?

To enable Modbus TCP, go into the settings menu of your GX device, scroll down to 'Services', and then enable the Modbus-TCP service. By default, this service is disabled.

What Unit-ID should I use for overall system data on Victron Modbus TCP?

For overall system data, Victron recommends using Unit-ID 100. Unit-ID 0 also maps to the same internal address, but Unit-ID 100 is preferred as some Modbus-TCP clients and PLCs do not work with ID 0.

What are common Modbus TCP error codes on Victron GX devices?

Common error codes include 0x01 (IllegalFunction) when a requested function is not supported, 0x02 (IllegalDataAddress) for non-existent registers, and 0x0A (GatewayPathUnavailable) if a mapped device is not found.

Where can I find a list of available Modbus-TCP services and their addresses?

You can view available services and their addresses on your GX device by navigating to Settings -> Services -> Modbus/TCP -> Available services.

What Modbus-TCP function codes are supported by Victron GX devices?

Supported function codes include ReadHoldingRegisters (3), ReadInputRegisters (4), WriteSingleRegister (6), and WriteMultipleRegisters (16).

References

Related guides

More from sizing, net billing & installation.