Hoymiles · Micro-inverter gateway
HMT / HMS micro-inverters via DTU PRO S datalogger Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 4104 | 1 | Micro-inverter 1 AC power Byte offset 0x10 in the inverter's block; the DTU reports 0.1 W steps. | UInt16 | W | 0.1 | R |
| 4106 | 2 | Micro-inverter 1 lifetime production Byte offset 0x14 in the inverter's block. | UInt32 | Wh | 1 | R |
Notes
Register layout of the DTU PRO S Modbus TCP server, taken from the evcc implementation meter/hoymiles-dtu-mbtcp.go (evcc-io/evcc) and checked against Hoymiles' DTU Modbus register map. Modbus TCP on port 502, unit ID 1, holding registers; Modbus TCP has to be enabled on the datalogger, which then has to be connected to the LAN. Each micro-inverter occupies a 0x28 byte (20 register) block starting at 0x1000: inverter 1 at 0x1000, inverter 2 at 0x1014, inverter 3 at 0x1028 and so on. Inside a block the inverter serial number is in bytes 0x01-0x06, the port number in byte 0x07, the AC power in bytes 0x10-0x11 (0.1 W steps) and the lifetime production in bytes 0x14-0x17 (Wh). The registers below are block 1; add 20 registers per further inverter. The datalogger returns zeros for unoccupied slots, which is how the scan stops.