MBMap Registry
  1. Devices
  2. Solis
  3. Energy storage (hybrid) inverters

Solis Energy storage (hybrid) inverters Modbus register map

Hybrid and energy storage inverters with RS485 Modbus RTU and Modbus TCP

  • Official
  • 807 registers
  • Modbus TCP and 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 TCP and RTU
Unit ID
1
TCP port
502
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
455 holding registers, 352 input registers
Groups
3
Revision
1 · 2026-11-11
Added
()
File
maps/solis/energy-storage.mbmap.json · 209 KB · history
SHA-256
7e32536c9b13200d3cb8cc5549f0928d0fbc0b09f0361d72cb517772ce2dfc59
Manufacturer
solisinverters.com

Sources and notes

Source: Solis, Communication Protocol for Energy Storage Inverters, version 3.5

  • Covers Solis hybrid and energy storage inverters (the S5-EH1P and later generations; some registers apply only to the S6 generation or to models with a backup port, as the descriptions say). Grid-connected string inverters have a separate document and map.
  • Addresses are the decimal numbers of the manual and are sent as they are (address_base 0). Input registers (25000 to 36999) are read with function 0x04; setting registers (43000 to 44999) with 0x03, 0x06 and 0x10. Registers a model does not implement read 0.
  • 32-bit values (U32, S32) use two registers with the high word first (big word order). Slave address 1, 9600 baud, no parity, 8 data bits, 1 stop bit by default; Modbus TCP on port 502 (one connection) on models with a LAN port.
  • The query interval must be above 300 ms and the control interval above 700 ms; only one write per frame (use function 0x06).
  • These tables were read from the manual's table layout; scale and unit come from the unit column (for example 0.1 V). The appendices (device type codes, national standard codes, alarm codes, status bits, battery model numbers, control switch states) and the application chapters (frequency control ancillary service, EMS) are not mapped, so values that refer to them are raw codes.
  • Some registers have remarks spanning several rows in the manual; the description is attached to the first row it covers.
AreaAddressNameTypeAccessUnitScaleDescription
IR 35000 uint16 R Unit Refer to Appendix 1 for specific details (M35000)
IR 33000 uint16 R Byte: Reserved, any value other the Sub-DSP
IR 33001 uint16 R Version (displayed High-order default 0x00; than 0x00 indicates Major Version. Low-order Byte: The Main DSP Major in hexadecimal). the Descr
IR 33002 uint16 R High-order byte: Reserved, default 0x00 Low-order byte: Major version number (displayed in hexadecimal) Description: Together with the low-o
IR 33004 uint16 R then Inverter (Hexadecimal Display) Serial Number
IR 33005 uint16 R Example: If the value uploaded from register 33004 is ‘01’, and the value from register 33005 is ‘23’, then the corresponding display is ‘01
IR 33006 uint16 R
IR 33007 uint16 R
IR 33008 uint16 R
IR 33009 uint16 R
IR 33010 uint16 R
IR 33011 uint16 R
IR 33012 uint16 R
IR 33013 uint16 R
IR 33014 uint16 R
IR 33015 uint16 R
IR 33016 uint16 R
IR 33017 uint16 R
IR 33018 uint16 R
IR 33019 uint16 R
IR 33021 uint16 R (displayed High-order byte: Reserved, default 0x00; Low-order byte: Main DSP Sub version number in hexadecimal) the Description: Together wi
IR 33029 uint32 ABCD R kWh For Hybrid Energy Storage Inverter models: Indicates the PV energy generation data of this unit itself. For S6 Single-Phase Low-Voltage AC-C
IR 33035 uint16 R kWh ×0.1
IR 33041 uint16 R A ×0.1
IR 33042 uint16 R A ×0.1
IR 33043 int16 R °C ×0.1 Description: From Battery 1 BMS
IR 33046 int16 R °C ×0.1 Description: Supported by S6 Generation Energy Storage Models
IR 33048 uint16 R 0: Indicates 1 input 1: Indicates 2 inputs 2: Indicates 3 inputs 3: Indicates 4 inputs ……
IR 33049 uint16 R V ×0.1
IR 33050 uint16 R A ×0.1
IR 33051 uint16 R V ×0.1
IR 33052 uint16 R A ×0.1
IR 33053 uint16 R V ×0.1
IR 33054 uint16 R A ×0.1
IR 33055 uint16 R V ×0.1
IR 33056 uint16 R A ×0.1
IR 33057 uint32 ABCD R W Represents the real-time total PV power of this unit
IR 33059 uint16 R V ×0.1
IR 33060 uint16 R A ×0.1
IR 33061 uint16 R V ×0.1
IR 33062 uint16 R A ×0.1
IR 33063 uint16 R V ×0.1
IR 33064 uint16 R A ×0.1
IR 33065 uint16 R V ×0.1
IR 33066 uint16 R A ×0.1
IR 33067 uint16 R VA ×10
IR 33068 uint16 R version byte: Sub
IR 33069 uint16 R High-order byte: Reserved, default 0x00 Low-order number (displayed in hexadecimal) Description: Together with the low-order byte of registe
IR 33070 uint16 R 5G/S5 generation Refer to Appendix 3 (M33095) for details. Description: Used in conjunction to with register address 33095 subdivide and dis
IR 33073 uint16 R V ×0.1
IR 33074 uint16 R V ×0.1 S6 Single-Phase High-Voltage US Version Energy Storage Inverter: L2-N voltage.
IR 33075 uint16 R V ×0.1 S6 Single-Phase High-Voltage US Version Energy Storage Inverter: L1-L2 voltage.
IR 33076 uint16 R A ×0.1 5G/S5 generation For energy storage units: represents the internal inverter-side AC current. For S6 generation energy storage units: represe
IR 33077 uint16 R A ×0.1 S6 Single-Phase High-Voltage US Version Energy Storage Inverter: L2-N current.
IR 33078 uint16 R A ×0.1 S6 Single-Phase High-Voltage US Version Energy Storage Inverter: This register is invalid when N (Neutral) is connected; when N is register
IR 33079 int32 ABCD R W Active inverter/rectifier. power of the
IR 33081 int32 ABCD R var Reactive inverter/rectifier. power of the
IR 33083 int32 ABCD R VA Apparent inverter/rectifier. power of the
IR 33092 uint16 R Refer to Appendix 2 (M33092) for details.
IR 33093 int16 R °C ×0.1
IR 33094 uint16 R Hz ×0.01
IR 33095 uint16 R Refer to Appendix 3 (M33095) for details. Description: Used in conjunction with register address 33070 to subdivide and display detailed inf
IR 33096 int16 R °C ×0.1
IR 33098 uint16 R
IR 33121 uint16 R Refer to Appendix 4: Status Bit Definitions for details.
IR 33123 uint16 R Each bit indicates the startup status of an operating mode: 0 = not started, 1 = started. BIT00: Volt-watt Active Power). BIT01: Volt-var (V
IR 33133 uint16 R V ×0.1 Description: Battery 1 real-time voltage value.
IR 33134 int16 R A ×0.1 Description: (1) Charge/discharge direction is determined by register 33135; (2) The absolute value of represents register current of Batter
IR 33135 uint16 R 0: Charging; 1: Discharging.
IR 33137 uint16 R V ×0.1 For Description: (1) Backup port information for single-phase systems; (2) systems, split-phase represents L1-N voltage when connected to Ne
IR 33138 uint16 R A ×0.1 Description: (1) Backup port information for single-phase systems; (2) represents current on L1 line; (3) represents current on L1 line. thr
IR 33139 uint16 R %
IR 33140 uint16 R % 100<-->100% grid only
IR 33147 uint16 R W load; load, Represents for excluding Backup three-phase systems, represents the total active power sum of all grid phase loads. Description:
IR 33148 int16 R W A positive value indicates power flowing out of the energy storage inverter Backup port, and a negative value indicates power flowing into t
IR 33149 int32 ABCD R W 2. Power = -1,000 W; -1,000 (Dec) = 0xFFFCFC18 (Hex); thus, register 34344 data is 0xFFF, and register 33148 data is 0xFC18. Description: (1
IR 33151 int32 ABCD R W Positive value: Power flowing out of the AC Grid port; Negative value: Power flowing into the AC Grid port 10<-->1V,Description: (1) For sin
IR 33153 uint16 R V ×0.1 systems,
IR 33154 uint16 R A ×0.1 For split-phase three-phase systems, systems, For
IR 33155 uint16 R V ×0.1 systems, For
IR 33156 uint16 R A ×0.1 three-phase systems, For
IR 33161 uint32 ABCD R kWh Description: For models with dual battery ports, this value represents the cumulative charging energy of both batteries.
IR 33163 uint16 R kWh ×0.1 Description: For models with dual battery ports, this value represents the cumulative charging energy of both batteries.
IR 33165 uint32 ABCD R kWh Description: For models with dual battery ports, this value represents the cumulative charging energy of both batteries.
IR 33167 uint16 R kWh ×0.1 Description: For models with dual battery ports, this value represents the cumulative charging energy of both batteries.
IR 33169 uint32 ABCD R kWh Represents Description: the cumulative energy consumed from the public grid
IR 33171 uint16 R kWh ×0.1 Represents Description: the cumulative energy consumed from the public grid
IR 33173 uint32 ABCD R kWh Represents Description: the cumulative energy feed in to the public grid
IR 33175 uint16 R kWh ×0.1 Represents Description: the cumulative energy feed in to the public grid
IR 33177 uint32 ABCD R kWh Represents Description: the cumulative energy consumption of the Grid Load AND the Backup Load.
IR 33179 uint16 R kWh ×0.1 Represents Description: the cumulative energy consumption of the Grid Load AND the Backup Load.
IR 33186 uint32 ABCD R kWh
IR 33188 uint32 ABCD R kWh
IR 33221 uint16 R 0---Null 01---59.S1(253.0V 3000ms) 02---59.S2(264.5V 200ms) 03---27.S1(195.5V 1500ms) 04---27.S2( 34.5V 200ms) 05---81>.S1(50.2Hz 100ms) 06-
IR 33222 uint16 R Value: Start Complete Self Test 1—In single-item self-check state. 2—In one-key full-test state.
IR 33223 uint16 R V ×0.1
IR 33224 uint16 R ms
IR 33225 uint16 R V ×0.1
IR 33226 uint16 R ms
IR 33227 uint16 R V ×0.1

Help improve this map