Victron Cerbo GX
Victron Energy · controller for photovoltaic and battery systems · Cerbo GX
what it is
A controller that brings the whole energy system together in one place: inverters, charge controllers, a battery with its own management system and an energy meter. By itself it neither produces nor stores power. It is the point where all these devices meet and speak one language.
Enclosure 154 × 48 × 78 mm, wall mounting or DIN rail mounting (with a separate adapter), IP20, operating range from −20 to +50 °C. DC supply 8–70 V, consumption 2.8 W at 12 V.
It does not accept PoE, and the manufacturer states this explicitly: "it cannot be powered through any other connection, including Ethernet or USB". The network port is isolated except for the shield, so the manufacturer recommends unshielded cable.
Three faces, each with a different purpose. A cover with two LEDs (WiFi and Bluetooth), a terminal face — four tank level inputs, four temperature inputs, four digital inputs, two relays, the power input, a memory card slot and a recessed button — and a communication face with bus and network ports.
Watch the versions. On newer units the network ports are rotated by 180 degrees relative to the first version, and the third pair is renamed from BMS-Can to VE.Can 2. A separate device is the Cerbo-S GX: no BMS-Can, no Bluetooth and not a single measurement input.
what we read from it
Data comes through the controller's local MQTT message broker — more than a thousand topics — and practically everything is reported separately for each phase. In a three-phase system this decides whether anything can be diagnosed at all.
Battery — not just "what percentage":
- State of charge and state of health — the first tells how much energy there is now, the second how much will still fit a year from now.
- Voltage, current and power as well as rated capacity and temperature.
- Voltage of the weakest and strongest cell and the spread between them in millivolts. This is the number that reveals a wearing cell before the whole pack fails — and it does not show in any averaged reading.
- Extreme cell temperatures.
- Charge and discharge limits imposed by the battery management system. When the system "won't charge", it is usually these limits, not a failure.
- Battery operating state in words — charging, discharging, idle.
Energy flow, separately on each phase:
- Power drawn from or fed into the grid on L1, L2, L3 and in total. The sign gives the direction.
- Load power on each phase and in total.
- Solar production — separately on the DC side and separately on the AC side, with information about where in the system the latter is connected.
- Charge controller: name, current power, panel voltage and yield since the start of the day.
Beyond energy: a list of active alarms and a full set of network link data — speed, duplex, error and drop counters, a link quality rating.
port layout
On the terminal face, from the left: the memory card slot, three input terminal blocks (level, temperature, digital inputs), two relays, the power input and, right above it, a small recessed button controlling the WiFi access point, Bluetooth and network reset. The level, temperature and digital input blocks have eight poles each in a 2 × 4 arrangement.
On the communication face there are two rows. The bottom one is six bus ports in three pairs: two VE.Bus, two VE.Can 1 and two VE.Can 2. The top one — the network port, three VE.Direct ports, HDMI and three USB. The manufacturer does not show this row head-on.
On the cover there are two indicator LEDs and four mounting holes.
what to watch out for
- Without a keepalive signal the reading goes quiet. The MQTT broker stops refreshing values if the client does not regularly send a "keepalive" message. It looks like a frozen system.
- Modbus TCP stops responding in time under many simultaneous reads. MQTT delivers the same set without disruption.
- The firmware updates itself and restarts the controller. Measured: a restart after an automatic Venus OS update caused a gap of several minutes in the data.
- Node-RED can come up in safe mode after a restart. The flows are then loaded but not executed — and the last command they issued stays on the controller. Measured: a feed-in limit set for the night held for almost six days and throttled the inverter with a full battery.
- With phase compensation the system spreads inverter power evenly across three phases. With load concentrated on one phase it then orders feed-in on the others by itself — measured at night around 160 W of export from the battery.
- A zero grid feed-in limit does not stop feed-in from the battery. It only limits intended feed-in of solar surplus; a control error requires changing the setpoint.
- The PV inverter yield on the phases is one third of the total. The controller splits the sum evenly; only the total value is real.
- The per-phase energy counters do not add up to the total counter, and exported energy is available only as a total — that is how the grid meter (e.g. Carlo Gavazzi EM24) reports it.
what we cannot read
- SNMP — Venus OS does not expose it; the data source is MQTT.
- Measurement history — you see the current state and the yield since the start of the day, not the trend.
- The state of individual inverters and charge controllers as separate devices — the controller reports an aggregate picture that it assembles itself.
full parameter list
A full parameter list for this model is not here yet — the ones described above are those we have read and verified. A missing list does not mean the device exposes nothing more.