
SMA SunnyIsland
The SMA Sunny Island is a battery inverter designed for off-grid and grid-backup applications, used in residential, commercial, and agricultural energy storage installations. This Modbus TCP template reads device identity registers, system state, fault codes, and per-phase AC measurements including active power, reactive power, and grid voltage across all three phases. Battery monitoring covers state of charge, current, voltage, temperature extremes, and both cumulative charge and discharge energy. Write registers expose active power, reactive power, and control mode setpoints, plus SoC-based shutdown thresholds. Use this template to monitor and remotely control your SMA Sunny Island from the ModbusCloud portal.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 41, read and write
- Brand
- SMA
- Last updated
Registers (41)
35 read, 6 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| device_class | Read | ||||
| device_type | Read | ||||
| serial_number | Read | ||||
| software_package | Read | ||||
| waiting_time_until_feed_in | s | Read | |||
| system_state | Read | ||||
| recommended_action | Read | ||||
| message | Read | ||||
| fault_correction_measure | Read | ||||
| max_apparent_power | W | Read | |||
| active_charge_energy | Wh | Read | |||
| active_discharge_energy | Wh | Read | |||
| active_power | W | Read | |||
| active_power_l1 | W | Read | |||
| active_power_l2 | W | Read | |||
| active_power_l3 | W | Read | |||
| grid_voltage_l1 | V | Read | |||
| grid_voltage_l2 | V | Read | |||
| grid_voltage_l3 | V | Read | |||
| frequency | Hz | Read | |||
| reactive_power_l1 | W | Read | |||
| reactive_power_l2 | W | Read | |||
| reactive_power_l3 | W | Read | |||
| operating_mode_for_active_power_limitation | Read | ||||
| battery_current | A | Read | |||
| soc | % | Read | |||
| current_battery_capacity | Read | ||||
| battery_temperature | °C | Read | |||
| battery_voltage | V | Read | |||
| power_supply_status | Read | ||||
| lowest_measured_battery_temperature | °C | Read | |||
| highest_measured_battery_temperature | °C | Read | |||
| max_occurred_battery_voltage | V | Read | |||
| allowed_charge_power | W | Read | |||
| allowed_discharge_power | W | Read | |||
| set_active_power | W | Write | |||
| set_control_mode | Write | ||||
| set_reactive_power | W | Write | |||
| grid_guard_code | Write | ||||
| min_soc_power_on | % | Write | |||
| min_soc_power_off | % | Write |
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 continuously to detect capacity fade or abnormal self-discharge between cycles.
- Track cumulative charge and discharge energy to calculate real-world battery round-trip efficiency over time.
- Alert on battery temperature extremes using highest and lowest measured temperature registers to protect battery longevity.
- Verify per-phase active power balance across L1, L2, and L3 to detect load imbalances in three-phase installations.
- Report allowed charge and discharge power limits against actual power setpoints to confirm battery management compliance.
Installation
Enable Modbus TCP on the Sunny Island via the device web interface or Sunny Explorer: navigate to the communication or Modbus section and activate the Modbus interface. The default port is 502.
Connect the Sunny Island to the same local network as the ModbusCloud Gateway using a standard Ethernet cable to the device's LAN port.
In the ModbusCloud portal, add a new gateway, import the SMA SunnyIsland template, and assign the correct unit ID. The SMA default unit ID is 3; verify this matches the value configured on the inverter.
Spot-check the connection by confirming live values on the soc (address 30845) and system_state (address 30201) registers in your portal dashboard.
Things to watch for
The gateway connects but all register values show NaN. Why?
SMA devices return NaN for registers whose data originates from the power-electronics CPU when that CPU is inactive. For the Sunny Island this can occur during standby. Confirm the inverter is in an active operating state by checking the system_state register (30201) first, then retry reads.
I receive Modbus error code 11 on every request. What is wrong?
Error code 11 means the unit ID in your request does not match the unit ID configured on the inverter. The SMA default unit ID is 3. Open the inverter's communication settings, read the configured unit ID, and update the corresponding field in your ModbusCloud portal gateway configuration to match exactly.
Write registers for active power and control mode have no effect. Why?
Power setpoint control via the Sunny Island Modbus interface is only possible during parallel grid operation, not in stand-alone or island mode. Confirm the system_state register shows grid-parallel operation. Also note that some grid-management parameters require prior Grid Guard authentication via register 43090 before writes are accepted.
Is it safe to write setpoints to set_active_power or min_soc registers frequently?
Use caution with write registers. The set_active_power and set_reactive_power setpoints may be written cyclically, but parameters such as min_soc_power_on and min_soc_power_off are stored in flash memory. Writing these too frequently risks flash wear and may affect battery protection thresholds. Grid Guard-protected registers also require re-authentication after every inverter restart.
Knowledge base articles for this device
Want to see how it works?












