SMA Sunny Island X

Three-phase battery inverter

Sunny Island X 30 and 50 (SI30-20, SI50-20) are 30 and 50 kW three-phase battery inverters for commercial on-grid, backup and off-grid storage. SMA publishes a device parameter list with Modbus register, unit ID, type and format for every value. Edge reads it over the inverter's Ethernet port with FC03, big-endian, at unit ID 3 for the device or 2 for the system.

SMA Sunny Island X 30 / 50
  • Modbus TCP

Three-phase battery inverter

Ask an engineer

Compatibility

Compatible with EpiSensor Edge over Modbus TCP

SMA's Sunny Island X parameters and measured values list, valid from firmware 3.04.80.R, gives the SMA Modbus register, unit ID, data type and format of each value, and SMA's ennexOS Modbus technical information gives the unit IDs, big-endian transfer, NaN values and port 502. Edge reads the inverter as a Modbus TCP client.

SI30-20 and SI50-20 from firmware 3.04.80.R, using operating manual SIxx-20-BE-en-11 and datasheet SIxx-20-DS-en-27. Site check: read device type at 30053 on unit ID 3 and compare SoC with the inverter's web interface. Read-only: active power, battery power and BMS mode registers stay with the System Manager or the site's energy management system.

Connect it with

For any Sunny Island X connected to the site network, as System Manager or as a subordinate device

  • Modbus
  • Edge
  • Platforms
Three-phase battery inverter
Interface
Gateway
Edge
Output
Sunny Island XSunny Island X network socket (Ethernet)
Protected EthernetSegmented LAN
ZGW-20 GatewayHosts Edge locally
EpiSensor EdgeEdge Modbus TCP client
Customer platformMQTT · API · files
Modbus TCP
Protected Ethernet
Runs locally
Optional onward data
Activate the Modbus function on the inverter, which is off by default, then point Edge at the inverter's IP address on port 502. Read unit ID 3 for this inverter's own values and unit ID 2 for system values on a System Manager. The BAT ETH socket carries battery communication and is not the monitoring port. The customer-platform output is optional; Edge remains the local system of record.

Models

Download
ModelsInterfaceRoute into Edge
SI30-20 (Sunny Island X 30)Ethernet with Modbus TCP and Speedwire, Wi-Fi for commissioning, BAT ETH battery socketModbus TCP, unit ID 3. Device type 19018 at register 30053.
SI50-20 (Sunny Island X 50)Same interfaces and parameter listModbus TCP, unit ID 3. Device type 19017 at register 30053.
Sunny Island X US models (SI27-US208-20, SI40-US480-20, SI60-US480-20) and Sunny Tripower Storage X (STPS30-20, STPS50-20)Share the same Modbus technical information and, for the US models, the parameter listTheir device type codes differ (19021, 19020, 19019 for the US models). Take ratings from each model's own datasheet; this guide covers the 400 V SI30-20 and SI50-20.
Sunny Island 4.4M, 6.0H and 8.0HEarlier single-phase Sunny Island generation with a different parameter listUse the Sunny Island 6.0H-13 guide; do not apply these registers.

Specifications

Sunny Island X is a three-phase battery inverter rated 30 or 50 kW, for Li-ion or sodium-ion batteries on a 200 to 980 V DC bus. It can act as System Manager for up to 11 devices, or sit under an SMA Data Manager M for up to 50.4

Rated power
30,000 W (SI30-20) / 50,000 W (SI50-20); 30,000 / 50,000 VA4
Battery connection
200 to 980 V DC, 150 A max.; battery communication via Modbus TCP or CAN bus4
AC connection
400 V nominal, 187 to 528 V range, 50/60 Hz, L1, L2, L3, N, PE4
Modbus TCP
Port 502; unit ID 1 product, 2 system, 3 device; FC03 and FC04 read up to 125 registers2
Cybersecurity
EN 18031-1, ETSI EN 303 645, Speedwire Encrypted Communication, automatic updates4
Environment
IP65 / NEMA 4X; -25 to +60 °C with derating from 45 °C; 104 kg4

Interface

Documented measurements and integration boundaries for Sunny Island X.

  • Addressing: the parameter list's SMA Modbus register address is sent as it is, so 30845 goes in the request as 0x787D. Every 32-bit value is two registers, big-endian, high word first.
  • Identity, unit ID 3: device class at 30051 (U32 TAGLIST, 8007 Battery Inverter), device type at 30053 (U32 TAGLIST: 19017 Sunny Island 50, 19018 Sunny Island 30), serial number at 30057 and firmware at 30059 (FW_VERSION).
  • Battery, unit ID 3 unless noted: state of charge at 30845 (U32 FIX0, %, also on unit ID 2), battery voltage at 30851 (U32 FIX2, V), battery current at 30843 (S32 FIX3, A), battery temperature at 30849 (S32, 0.1 °C) and battery nominal capacity at 40187 (U32 FIX0, Wh, unit ID 2 or 3).
  • Battery power, unit ID 3: present battery charge at 31393 and present battery discharge at 31395 (U32 FIX0, W, each a positive magnitude). The battery charge and discharge energy counters at 31397 and 31401 are U64; Edge's Modbus client reads 16- and 32-bit values, so use the U32 total yield at 30531 (FIX0, Wh) for AC energy out of the inverter.
  • AC side, unit ID 3: power at 30775 (S32 FIX0, W, also on unit ID 2), grid voltage L1 to L3 at 30783, 30785, 30787 (U32 FIX2, V), grid current at 30795 (U32 FIX3, A), grid frequency at 30803 (U32 FIX2, Hz) and reactive power at 30805 (S32 FIX0, var).
  • Site values, unit ID 3: load power at 30861, power drawn from the grid at 30865 and grid feed-in at 30867, PV power generated at 30869 (S32 FIX0, W), and plant mains connection at 30881 (1779 separated, 1780 public mains, 1781 island mains).
  • Status: condition at 30201 (35 Fault, 303 Off, 307 Ok, 455 Warning; unit ID 2 or 3), battery operating status at 30955 (303 Off, 2291 standby, 2292 charge, 2293 discharge), battery status at 31391 and general operating status at 40029.
  • NaN values mean no data: S32 0x80000000, U32 0xFFFFFFFF, status U32 0xFFFFFD. Store them as unavailable, not as numbers.
  • Control registers include 40210 (active power setpoint mode), 40236 (BMS mode), 44449 and 44451 (battery power limits) and 40018 (quick shut-down). SMA states that direct battery control on unit ID 3 needs the System Manager's energy management switched off and a third-party EMS taking over the safety functions. Edge does not write them; this guide is read-only.

Assessment

SI30-20 and SI50-20 from firmware 3.04.80.R over local SMA Modbus TCP. SunSpec, battery control, grid management services and System Manager configuration are excluded.

InteroperabilityWell supported
SMA publishes a firmware-specific parameter list with register, unit ID, type, format and value codes, plus the general addressing, NaN and timing rules.12
AccuracySupported with conditions
Battery SoC, voltage, current, separate charge and discharge power, AC phase values and status are defined with resolution and unit. Battery energy counters are U64, outside Edge's 16- and 32-bit Modbus client; AC total yield has a U32 copy.1
SecuritySupported with conditions
Modbus is off by default and the product meets EN 18031-1 and ETSI EN 303 645. Once active, data points outside Grid Guard protection are readable without a password, and writable control registers exist.345
ReliabilitySupported with conditions
NaN values mark missing data, condition and status registers report faults, and SMA gives pacing limits of one second and five values per transfer.12
RuggednessWell supported
IP65 / NEMA 4X, climate category 4K4, -25 to +60 °C with derating from 45 °C and 95 % humidity are published.4
ScalabilitySupported with conditions
Each inverter is its own Modbus server at unit ID 3, and a System Manager adds system values at unit ID 2 for up to 11 devices. SMA's pacing limits apply to each inverter.24
LifecycleWell supported
The parameter list names the firmware it is valid from, and the technical information, manual and datasheet carry version numbers and dates.125

Setup

Identify SI50-20 at 30053, then read SoC and charge power

The Sunny Island X parameter list (firmware 3.04.80.R) defines device type at 30053 (U32 TAGLIST, unit ID 3), current battery state of charge at 30845 (U32 FIX0, %, unit ID 2 or 3) and present battery charge at 31393 (U32 FIX0, W, unit ID 3). Transfer is big-endian. The response bytes are a synthetic decoder check, not a captured inverter reply.

Target
Inverter IP address, TCP port 502, unit ID 3 in the MBAP header
Identity request PDU
03 75 65 00 02: FC03, literal address 30053 (0x7565), quantity 2
Synthetic identity response PDU
03 04 00 00 4A 49: U32 0x00004A49 = 19017, Sunny Island 50; 19018 (0x4A4A) would be Sunny Island 30
SoC request and synthetic response
03 78 7D 00 02 reads 30845 (0x787D); 03 04 00 00 00 4B is U32 75, FIX0, so 75 %
Charge power request and synthetic response
03 7A A1 00 02 reads 31393 (0x7AA1); 03 04 00 00 27 10 is U32 10000, so 10,000 W charging
Unavailable value
03 04 FF FF FF FF is the U32 NaN; store it as no data, not as 4294967295 W
Acceptance
Keep the points when the device type matches the type label and SoC matches the web interface at the same moment.

Acceptance: A matching identity and SoC confirm unit ID, literal addressing and big-endian decoding. Add AC and status points next, within SMA's pacing guidance.

  1. Identify the inverter and its role

    Record the type label (SI30-20 or SI50-20), the firmware and whether this inverter is System Manager or subordinate. This guide uses the parameter list valid from firmware 3.04.80.R and operating manual SIxx-20-BE-en-11 for firmware 3.04.xxx.R. Do not change the System Manager role to get a reading.

  2. Activate Modbus deliberately

    The Modbus interface is deactivated by default. An authorised installer activates the Modbus function in the inverter's user interface, as the commissioning procedure in the manual lists. SMA notes that read access to data points not protected by the Grid Guard code needs no further password once Modbus is active, so keep the port on a protected network and never forward it.

  3. Connect Edge to the network socket

    Use the inverter's network socket on the site LAN, not the BAT ETH socket, which carries battery communication. Create a Modbus TCP connection in Edge to the inverter's IP address on port 502 and use unit ID 3 for device values.

  4. Read identity, then battery values

    Read device type at 30053 as two registers with FC03, as in the worked check, then SoC at 30845, battery voltage at 30851 and present charge and discharge power at 31393 and 31395. Read each U32 or S32 as one two-register request. Skip the U64 counters; Edge reads 16- and 32-bit registers.

  5. Pace requests and reject NaN

    SMA asks for at least one second between Modbus transfers and no more than five parameters or measured values at once; use block reads for contiguous ranges. Treat the NaN values as unavailable. Compare SoC and AC power with the inverter's web interface before adding further points.

Common questions

Which unit ID does a Sunny Island X use for Modbus?
SMA uses unit ID 1 for product information, 2 for system values and setpoints and 3 for the device's own values. Read the inverter's battery and AC values at unit ID 3; SoC, power and condition are also on unit ID 2 for the system.12
Is battery power one signed register on the Sunny Island X?
The parameter list gives two positive magnitudes instead: present battery charge at 31393 and present battery discharge at 31395, both U32 in W. Battery current at 30843 is S32 in A.1
Can Edge control the battery through the Sunny Island X Modbus interface?
SMA documents battery control on unit ID 3 only with the System Manager's energy management switched off, after which a third-party EMS must take over the battery and inverter safety functions. This guide reads only.3