MBMap Registry
  1. Devices
  2. Solis
  3. Grid-connected inverters (S5)

Solis Grid-connected inverters (S5) Modbus register map

Single and three-phase grid-connected PV inverters with RS485 Modbus RTU

  • Official
  • 151 registers
  • Modbus RTU
  • Revision 1 · 2026-11-11

Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.

Communication

Protocol
Modbus RTU
Unit ID
1
Serial
9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
Byte / word order
ABCD · bytes big-endian, words high first
Addresses
0-based

Connection values are defaults: the device may be configured differently.

Map

Registers
17 holding registers, 134 input registers
Groups
11
Translation tables
5
Revision
1 · 2026-11-11
Added
()
File
maps/solis/grid-connected.mbmap.json · 33 KB · history
SHA-256
16947d4e9e307943a08a9372143da67043c2aaac0c8179e2e5658911b88a7d05
Manufacturer
solisinverters.com

Sources and notes

Source: Solis, RS485_MODBUS Communication, Solis PV Grid-Connected Inverter, version 3.7 (2025/2026)

  • The manual applies to Solis grid-connected inverters of every power range made after mid-2023; older units may use another register layout. The hybrid inverters have a separate document (ESINV-33000ID) and are not covered here.
  • Addresses are the ones in the manual and its examples (a read of register 2999 sends 0x0BB7), so address_base is 0. Input registers are read with function 0x04; holding registers with 0x03, 0x06 and 0x10. Registers not implemented in a model read as 0.
  • 32-bit values (U32, S32) are two registers with the high word first (big word order).
  • Slave address 1 to 99, 9600 baud, no parity, 8 data bits, 1 stop bit. Leave more than 300 ms between reads and 700 ms between writes; write one register at a time. A frame can carry at most 50 registers.
  • Input registers 2999 and 3000 are the product model and DSP version, while holding registers 2999 to 3004 are the clock: the two areas are separate.
  • Not mapped: the model code table (appendix 1), alarm and fault code tables (appendix 2), status bit definitions (appendix 3) and the setting instructions (appendix 4). Registers marked 'Only for the 320K series' exist only on that series.
  • Several labels in the manual contradict their units (3298, 3544); this map follows the unit and says so in the description.
AreaAddressNameTypeAccessUnitScaleDescription
IR 35000 uint16 R Model code, appendix 1 of the manual
IR 2999 uint16 R
IR 3000 uint16 R Slave DSP version in the high byte and main DSP version in the low byte
IR 3001 uint16 R Major version in the low byte
IR 3020 uint16 R
IR 3003 uint16 R Number of DC inputs minus 1 (0 = 1 input, 1 = 2 inputs, ...)
IR 3060 uint16 R Serial number in hexadecimal, 4 words
IR 3061 uint16 R Serial number in hexadecimal, 4 words
IR 3062 uint16 R Serial number in hexadecimal, 4 words
IR 3063 uint16 R Serial number in hexadecimal, 4 words
IR 3004 int32 ABCD R W
IR 3006 uint32 ABCD R W
IR 3008 uint32 ABCD R kWh
IR 3010 uint32 ABCD R kWh
IR 3012 uint32 ABCD R kWh
IR 3014 uint16 R kWh ×0.1
IR 3015 uint16 R kWh ×0.1
IR 3021 uint16 R V ×0.1
IR 3022 uint16 R A ×0.1
IR 3023 uint16 R V ×0.1
IR 3024 uint16 R A ×0.1
IR 3025 uint16 R V ×0.1
IR 3026 uint16 R A ×0.1
IR 3027 uint16 R V ×0.1
IR 3028 uint16 R A ×0.1
IR 3029 uint16 R Used with register 3043 to subdivide the fault message; appendix 2
IR 3033 uint16 R V ×0.1
IR 3034 uint16 R V ×0.1
IR 3035 uint16 R V ×0.1
IR 3036 uint16 R A ×0.1
IR 3037 uint16 R A ×0.1
IR 3038 uint16 R A ×0.1
IR 3040 uint16 R
IR 3041 int16 R °C ×0.1 AC NTC (IGBT)
IR 3042 uint16 R Hz ×0.01
IR 3043 uint16 R Appendix 3 of the manual; used with register 3029
IR 3044 int32 ABCD R W
IR 3046 int32 ABCD R var
IR 3049 uint16 R % ×0.1 10000 = 100 %
IR 3051 int16 R ×0.001 800 = 0.8
IR 3052 int16 R % ×0.1 10000 = 100 %
IR 3055 int32 ABCD R var
IR 3057 int32 ABCD R VA
IR 3059 int16 R ×0.01
IR 3071 uint16 R Appendix 3
IR 3072 uint16 R Year is 0 to 99
IR 3073 uint16 R
IR 3074 uint16 R
IR 3075 uint16 R
IR 3076 uint16 R
IR 3077 uint16 R
IR 3089 uint16 R
IR 3090 uint16 R
IR 3094 uint16 R Appendix 3
IR 3095 uint16 R
IR 3096 uint16 R
IR 3097 uint16 R
IR 3098 uint16 R
IR 3099 uint16 R
IR 3100 uint16 R
IR 3101 uint16 R
IR 3102 uint16 R
IR 3103 uint16 R
IR 3104 uint16 R
IR 3109 uint16 R W ×10
IR 3288 int16 R A ×0.1
IR 3289 int16 R A ×0.1
IR 3290 int16 R A ×0.1
IR 3291 int16 R A ×0.1
IR 3292 int16 R A ×0.1
IR 3293 int16 R A ×0.1
IR 3294 int16 R A ×0.1
IR 3295 int16 R A ×0.1
IR 3296 int16 R A ×0.1
IR 3297 int16 R A ×0.1
IR 3298 uint16 R V ×0.1 The manual labels this register 'Total PV current' with the unit V; treated as the total PV voltage
IR 3299 int16 R A ×0.1
IR 3300 int16 R A ×0.1
IR 3301 int16 R A ×0.1
IR 3302 int16 R A ×0.1
IR 3303 int16 R A ×0.1
IR 3304 int16 R A ×0.1
IR 3305 int16 R A ×0.1
IR 3306 int16 R A ×0.1
IR 3307 int16 R A ×0.1
IR 3308 int16 R A ×0.1
IR 3309 int16 R A ×0.1
IR 3310 int16 R A ×0.1
IR 3311 int16 R A ×0.1
IR 3312 int16 R A ×0.1
IR 3313 int16 R A ×0.1
IR 3314 int16 R A ×0.1
IR 3315 int16 R A ×0.1
IR 3316 int16 R A ×0.1
IR 3317 int16 R A ×0.1
IR 3318 int16 R A ×0.1
IR 3319 int16 R A ×0.1
IR 3336 int16 R A ×0.1
IR 3337 int16 R A ×0.1
IR 3471 uint16 R

Help improve this map