All devices

Victron Energy · Charge controller

SmartSolar MPPT / BlueSolar MPPT charge controllers (solarcharger service on a GX device) Modbus register map

Default configuration

Protocol
Modbus TCP
Port
502
Unit ID
239
Addressing
0-based
Byte order
Big endian
Word order
High word first

Register map

AddressCountNameTypeUnitScaleAccess
7711
Battery voltage
UInt16V0.01R
7721
Battery current
Positive while charging.
Int16A0.1R
7731
Battery temperature
Only reported by VE.Can MPPTs.
Int16°C0.1R
7741
Charger on/off
1 = on, 4 = off. Only available on VE.Can MPPTs.
UInt16-1RW
7751
Charge state
0 = off, 2 = fault, 3 = bulk, 4 = absorption, 5 = float, 6 = storage, 7 = equalize, 11 = other (Hub-1), 245 = wake-up, 252 = external control.
UInt16-1R
7761
PV voltage
Not available when multiple VE.Can chargers are combined.
UInt16V0.01R
7771
PV current
Calculated by the GX device from /Yield/Power and /Pv/V.
Int16A0.1R
7781
Equalization pending
0 = no, 1 = yes, 2 = error, 3 = unavailable/unknown.
UInt16-1R
7791
Equalization time remaining
UInt16s0.1R
7801
Relay on the charger
0 = open, 1 = closed.
UInt16-1R
7811
Alarm (deprecated)
0 = no alarm, 2 = alarm. The register list marks it deprecated: the value is always 0.
UInt16-1R
7841
Yield today
UInt16kWh0.1R
7851
Maximum charge power today
UInt16W1R
7861
Yield yesterday
UInt16kWh0.1R
7871
Maximum charge power yesterday
UInt16W1R
7881
Error code
0 = no error, 1 = battery temperature too high, 2 = battery voltage too high, 3 = battery temperature sensor miswired (+), 4 = battery temperature sensor miswired (-), 5 = battery temperature sensor disconnected, 6 = battery voltage sense miswired (+), 7 = battery voltage sense miswired (-), 8 = battery voltage sense disconnected, 9 = battery voltage wire losses too high, 17 = charger temperature too high, 18 = charger over-current, 19 = charger current polarity reversed, 20 = bulk time limit reached, 22 = charger temperature sensor miswired, 23 = charger temperature sensor disconnected, 34 = input current too high.
UInt16-1R
7891
PV power (16-bit)
Older 16-bit variant of the 32-bit PV power at 792.
UInt16W0.1R
7901
User yield
Energy generated since the last user reset.
UInt16kWh0.1R
7911
MPP operation mode
0 = off, 1 = voltage/current limited, 2 = MPPT active, 255 = not available.
UInt16-1R
7922
PV power
32-bit PV power; occupies 792 and 793.
UInt32W1R
7941
Load current
Load output current on models with a load output.
Int16A0.1R
37001
PV voltage, tracker 1
Multi-tracker models (MPPT RS). The register list labels this first tracker block 'tracker 0' (/Pv/0) while its MPP-operation-mode and enabled rows below are labelled 'tracker 1' over the same /Pv/0 path; these rows number the trackers 1-4 throughout, so tracker 1 here is the register list's tracker 0.
UInt16V0.01R
37011
PV voltage, tracker 2
UInt16V0.01R
37021
PV voltage, tracker 3
UInt16V0.01R
37031
PV voltage, tracker 4
UInt16V0.01R
37081
Yield today, tracker 1
UInt16kWh0.1R
37091
Yield today, tracker 2
UInt16kWh0.1R
37101
Yield today, tracker 3
UInt16kWh0.1R
37111
Yield today, tracker 4
UInt16kWh0.1R
37121
Yield yesterday, tracker 1
UInt16kWh0.1R
37131
Yield yesterday, tracker 2
UInt16kWh0.1R
37141
Yield yesterday, tracker 3
UInt16kWh0.1R
37151
Yield yesterday, tracker 4
UInt16kWh0.1R
37161
Maximum charge power today, tracker 1
UInt16W1R
37171
Maximum charge power today, tracker 2
UInt16W1R
37181
Maximum charge power today, tracker 3
UInt16W1R
37191
Maximum charge power today, tracker 4
UInt16W1R
37201
Maximum charge power yesterday, tracker 1
UInt16W1R
37211
Maximum charge power yesterday, tracker 2
UInt16W1R
37221
Maximum charge power yesterday, tracker 3
UInt16W1R
37231
Maximum charge power yesterday, tracker 4
UInt16W1R
37241
PV power, tracker 1
UInt16W1R
37251
PV power, tracker 2
UInt16W1R
37261
PV power, tracker 3
UInt16W1R
37271
PV power, tracker 4
UInt16W1R
37282
User yield (32-bit)
Energy generated since the last user reset; 32-bit variant.
UInt32kWh1R
37301
PV power (16-bit)
UInt16W1R
37311
MPP operation mode, tracker 1
0 = off, 1 = voltage/current limited, 2 = MPPT active, 255 = not available.
UInt16-1R
37321
MPP operation mode, tracker 2
UInt16-1R
37331
MPP operation mode, tracker 3
UInt16-1R
37341
MPP operation mode, tracker 4
UInt16-1R
37351
Tracker 1 enabled
0 = disabled, 1 = enabled. Only available on MPPT RS.
UInt16-1R
37361
Tracker 2 enabled
0 = disabled, 1 = enabled.
UInt16-1R
37371
Tracker 3 enabled
0 = disabled, 1 = enabled.
UInt16-1R
37381
Tracker 4 enabled
0 = disabled, 1 = enabled.
UInt16-1R

Read this device live with Modbus Connect, free for Windows, macOS and Linux

Related guides

Notes

A SmartSolar or BlueSolar MPPT controller has no Modbus port of its own: it speaks VE.Direct (or VE.Can) to a GX device, and these registers are the com.victronenergy.solarcharger service on that GX device's Modbus TCP server. Read them with the solar charger's own unit ID, not the system unit ID 100 used by the victron-gx-cerbo seed: the register list's Unit ID mapping sheet gives the preferred IDs (e.g. 239 = VE.Direct via USB, ttyUSB0; 226 = Cerbo GX VE.Direct port 1). Since Venus OS 2.60 unit IDs are assigned dynamically, so check Settings > Integrations > Modbus TCP server > Available services on the GX device and use the ID listed there; 239 is only the preferred value for a VE.Direct-to-USB charger. Addresses are the decimal addresses of the CCGX Modbus TCP register list (revision 55), used unchanged as wire addresses; that list's 'Scalefactor' column is a divisor, so the factors here are the equivalent multipliers. 792 is a 32-bit value and occupies 792 and 793, which is why 793 is not listed. Left out: the custom-name string at 3740 and the RESERVED rows 782, 783 and 3704-3707 (revision 55 lists no serial-number register for this service). The register list numbers the PV-voltage, yield and maximum-power blocks 'tracker 0'-'tracker 3' but the MPP-operation-mode and enabled rows 'tracker 1'-'tracker 4' over the same /Pv/0.../Pv/3 paths; the rows here number the trackers 1-4, so tracker 1 is the register list's 'tracker 0'. Register 777 is a value the GX device calculates, not a measurement the charger reports. Source: Victron Energy 'CCGX-Modbus-TCP-register-list.xlsx', revision 55, in the vendor's dbus_modbustcp repository.

Related devices