Sungrow SH Hybrid Inverter: KNX Self-Consumption via Modbus TCP
Overview
Sungrow SH10RT (10 kW three-phase) and SH15T (15 kW) hybrid inverters are growing rapidly in European markets due to competitive pricing and strong warranty terms. Modbus TCP port 502, unit ID 1. All registers are 16-bit holding (FC3), but power and energy values use two consecutive registers as a 32-bit big-endian signed or unsigned integer — always read as a pair.
Key Register Pairs
Register pairs: 13009 (daily production, uint16, 0.1 kWh — single register), 13010-13011 (total production, uint32, 0.1 kWh), 13022 (battery SOC, uint16, % — single register), 13023-13024 (battery power, int32, W, positive=charging), 13033-13034 (AC active power, int32, W), 13261-13262 (grid power, int32, W, positive=import from grid).
MDT Modbus Gateway Configuration
Read task 1 — registers 13033-13034 (2-register int32, 10s): divide by 1000, map to KNX DPT 9.001 kW. Read task 2 — register 13022 (1 register, 60s): map to KNX DPT 5.001 %. Read task 3 — registers 13261-13262 (grid power, 10s): map to KNX DPT 9.001 signed.
SBR192 Battery Module
SBR192 battery module: 6.9 kWh per module, up to 6 modules (41.4 kWh total). Battery data in same register map — no separate Modbus connection.
Self-Consumption Logic
KNX comparator on GA 6/0/2 (grid power, signed). When value < -1500 (exporting > 1500W): write KNX GA 6/1/1 ON (water heater relay, 3 kW). When < -4500: additionally write EV charger current setpoint = (abs(grid_power) / 230) A to Alfen/EVBox. Hysteresis: 120s delay before activation, 60s before deactivation, to avoid cloud-induced relay chatter.
SG Ready Forced Battery Charge
Sungrow SH series has digital input terminals (DI1, DI2) on inverter control board. KNX relay actuator (MDT AKD) drives DI1 and DI2 for SG Ready state table. State 4 (DI1=ON, DI2=ON) forces battery charge at full power. Use during Tibber CHEAP hours (price level 1 or 2).
Commissioning Verification
Use Modbus Poll software, connect to inverter IP port 502 unit 1. Read registers 13033-13034 as 2x16-bit. Combine into int32: '(reg_13033 << 16) | reg_13034'. Should match inverter LCD display power within 5W.
Need help with your KNX or DALI project?
Our certified engineers can discuss panel design, commissioning, integrations and project-specific edge cases. Free initial consultation.
Contact our engineers →