
Deye Storage (hybrid) inverter (battery)
The Deye Storage (hybrid) inverter is a residential and light-commercial PV hybrid inverter that combines solar generation, battery storage, and grid connection in one unit. This ModbusCloud template reads the battery section of the inverter over Modbus RTU, covering battery power flow, cumulative battery energy, and state of charge. Battery power is signed, so a single register captures both charge and discharge direction. Together these three registers give installers continuous visibility into battery behaviour without manual site visits.
- Protocol
- Modbus RTU
- Connection
- RS485
- Registers
- 3, read only
- Brand
- Deye
- Compatible models
- Storage (hybrid) inverter
- Last updated
Registers (3)
3 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| power | W | Read | |||
| energy | Wh | Read | |||
| soc | % | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor battery state of charge daily to verify the storage system is cycling within expected limits.
- Track cumulative battery energy over time to calculate round-trip efficiency and detect capacity degradation.
- Alert on battery power values that stay at zero during peak sun hours, indicating a charge fault.
- Compare state of charge at sunrise and sunset to confirm overnight discharge aligns with load expectations.
- Report daily battery energy throughput to building owners as part of a monthly energy performance summary.
Installation
Enable Modbus RTU on the Deye inverter: access the communication or advanced settings menu on the inverter display and confirm RS485 Modbus is active with the correct slave address (default unit ID 1) and baud rate (default 9600, 8N1).
Wire the RS485 bus: connect the A and B terminals of the inverter RS485 port to the corresponding A and B terminals on the ModbusCloud Gateway, keeping total cable length within RS485 limits and adding a 120-ohm termination resistor at the far end of the bus.
In the ModbusCloud portal, add your Gateway, then import the Deye Storage (hybrid) inverter (battery) template and assign the correct Modbus unit ID to match the inverter slave address configured in step 1.
Verify the connection by checking live readings for the soc register in the portal: a plausible percentage value (for example 40 to 90) confirms Modbus communication is working correctly.
Things to watch for
Why does the soc register always read zero or a fixed value?
The inverter may not have a battery connected or the battery communication (BMS link via CAN or RS485) is not established. Confirm the battery is online via the inverter display before reading register 184. Also check that the inverter battery mode is not set to voltage-based control, which can suppress the SOC output.
The gateway connects but power and energy registers return garbage values. What now?
Confirm the baud rate is 9600 and the frame format is 8N1 on both the inverter and the ModbusCloud Gateway. Deye inverters default to 9600 baud; a mismatch causes corrupted responses. Also verify the unit ID in the portal matches the slave address set in the inverter communication menu.
Why does the battery power register show no change for several minutes at a time?
Deye inverters update their internal measurement registers approximately every 5 minutes via the built-in data logger. Polling more frequently than this interval will return repeated identical values, not stale data. This is normal device behaviour and not a wiring or configuration fault.
Readings time out when I poll more than a few registers at once. Why?
Some Deye hybrid models reject requests for more than 16 to 40 consecutive registers in a single Modbus read command. If you extend this template with additional registers from other Deye templates, keep each read request within a narrow address range and stay well below 40 registers per request to avoid protocol exceptions.
Want to see how it works?










