SMA SMA SunnyIsland Modbus TCP template

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

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
device_classRead
device_typeRead
serial_numberRead
software_packageRead
waiting_time_until_feed_insRead
system_stateRead
recommended_actionRead
messageRead
fault_correction_measureRead
max_apparent_powerWRead
active_charge_energyWhRead
active_discharge_energyWhRead
active_powerWRead
active_power_l1WRead
active_power_l2WRead
active_power_l3WRead
grid_voltage_l1VRead
grid_voltage_l2VRead
grid_voltage_l3VRead
frequencyHzRead
reactive_power_l1WRead
reactive_power_l2WRead
reactive_power_l3WRead
operating_mode_for_active_power_limitationRead
battery_currentARead
soc%Read
current_battery_capacityRead
battery_temperature°CRead
battery_voltageVRead
power_supply_statusRead
lowest_measured_battery_temperature°CRead
highest_measured_battery_temperature°CRead
max_occurred_battery_voltageVRead
allowed_charge_powerWRead
allowed_discharge_powerWRead
set_active_powerWWrite
set_control_modeWrite
set_reactive_powerWWrite
grid_guard_codeWrite
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

  1. 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.

  2. Connect the Sunny Island to the same local network as the ModbusCloud Gateway using a standard Ethernet cable to the device's LAN port.

  3. 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.

  4. 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.

Want to see how it works?

Electrician working in an open distribution board