SMA Developer - Integrate SMA products in your PV applications

SMA Developer acts as a central repository for documentation on the interfaces used in SMA products. With the documentation published here, SMA primarily uses open and standardized interfaces for the easy system integration of SMA products in a wide range of PV applications.

In this way, SMA provides you with easy, user-friendly access to our products without the need for an additional personal non-disclosure agreement (NDA). Many of the documents can be downloaded immediately, although a few require you to register beforehand (this only takes a short time).

SMA is Opening its Doors to Third-Party Suppliers

Read blog article

Areas of application

Connecting SMA inverters

With the information offered here, we are emphasizing the use of standards as a way of minimizing the time and effort involved in integration. The first major step here has already been made with the implementation of a direct SMA Modbus® interface and SunSpec®-Modbus® interface in the inverter. This means that no additional components are needed for directly accessing the data on our devices. This is an important step toward cutting system costs for you and your customers.

SMA Modbus interface
SMA Cluster Controller

Connection via a higher-level communication device

To enable the central monitoring and control of string inverters, SMA inverters can also be connected via a standardized SMA Modbus® interface and higher-level communication device.

With these solutions, SMA is offering—among other things—a universal monitoring solution, a solution for direct energy marketing and an interface for active and reactive power setpoints.

A great solution for connecting to the energy management system

SMA also already offers an energy management solution. Until this segment becomes more standardized, you can now already use the full functionality of the existing SEMP (Simple Energy Management Protocol) protocol interface in Sunny Home Manager.

SEMP - Simple Energy Management Protocol

Downloads


Here you can download all freely available downloads:

SMA Modbus® protocol interface (Ethernet + WLAN)

for Inverter (direct)
for SMA Cluster Controller
for Sunny WebBox

SMA Data1 – software library (RS485)

YASDI

Register now to download the following documentation (for which you have to agree to the terms of use):

SPEEDWIRE DEVICE DISCOVERY protocol interface

With Speedwire Device Discover, devices in the local network can be detected.
for all SMA Speedwire or SMA Speedwire/Webconnect devices

Service & Support for SMA Developer


Please note that, except for the information available here, we cannot provide you with any additional development support in the integration of our products. However, if you have any suggestions, please send us an e-mail: Developer@SMA.de

1 SMA Modbus: General Information

Question:

Why is the Modbus interface reaction time defined as only five to ten seconds in the technical documentation?

Answer:

The reaction time given is based on the worst-case reaction time analysis. This is with the intention of providing a reliable estimate for customers to minimize planning risks.
However, the reaction time of the SMA Modbus interface depends on many factors and is normally significantly less.

Question:

How do I read the number of MPP trackers?

Answer:

The number of MPPs cannot be read directly. However, if values relating to DC voltage (30771, 30957, 30963) are available in the case of solar irradiation, the number of MPPs can be determined using them.

Question:

Why does Modbus crash after a few days?

Answer:

This is not a crash, but instead a reaction to when more than the maximum of four TCP/Modbus connections is made.

If an attempt is made to do so, the system waits for precisely two hours. Once this time has elapsed and an existing connection has been inactive for that period, this connection is removed from our inverter bridge.

The same applies to all devices making requests to Modbus that establish a Modbus/TCP connection to the inverter but are not removed properly under fault conditions, for example.

Because we do not have any appropriate criteria for this, the inverter or the data module installed in the inverter as a TCP server cannot actively terminate the connection.

Question:

Why do I receive a NaN instead of a value for some registers at night?

Answer:

SMA inverters are controlled by two processors:

a central processing unit (CPU; usually a DSP) for controlling the power electronics and measuring PV and grid variables, and a communications processor (CP; ARM or similar) for the outward-facing interfaces.

The following apply in this respect:

  • The CPU is supplied via the PV voltage and therefore runs only when solar irradiation is available.
  • The CP is supplied via both the PV system and the grid and is therefore active at all times.


If the CPU is not active, “NaN” is shown for registers with CPU data. In most cases, this can be interpreted as “0” for the power fed in, as feeding in does not take place without the CPU.

Below a particular PV voltage (much less than 80 V), it is expected that the CPU supply voltage is no longer stable and that the measured values are therefore no longer sufficiently precise. In this case, “0” is output for some devices instead of the actual measured value. This applies in particular to the measured value for PV voltage. However, this is not relevant to the grid variables, as feeding in no longer takes place below this PV voltage.

In summary, NaN can be interpreted as “0” in practically all relevant cases for the power fed in.

Question:

Why is the register's current value not displayed and only is -1 or the maximum value showing up?

Answer:

It may be a NaN answer (Not a Number). Check in the device-specific Modbus list whether the requested device has this register address.

Question:

Why were only 9 requests (polls) out of 270 answered with OK, for example, and how can these connection problems be resolved?

Answer:

Depending on the IP stack used, it may be the case that the responses are not always sent in a package. Some IP stacks fragment responses.

The standard Modbus specification expects the following in such a case:

Before the actual Modbus data, the TCP Modbus response includes a seven-byte header, known as an MBAP header, which includes length information.

With TCP reception of a Modbus response, please check that the number of databytes received matches the length information. This is how a fragmented Modbus response can be recognized and completed with further TCP receive calls.

MODBUS request/response over TCP/IP

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

MBAP Header description

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

Question:

Why are two answers occasionally sent via Modbus upon request?

Answer:

Depending on the IP stack used, it may be the case that the responses are not always sent in a package. Some IP stacks fragment responses.

The standard Modbus specification expects the following in such a case:

Before the actual Modbus data, the TCP Modbus response includes a seven-byte header, known as an MBAP header, which includes length information.

With TCP reception of a Modbus response, please check that the number of databytes received matches the length information. This is how a fragmented Modbus response can be recognized and completed with further TCP receive calls.

MODBUS request/response over TCP/IP

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

Question:

What does error code 11 mean when requesting some Modbus registers?

Answer:

Error code 11 is sent in response when the Modbus request contains a unit ID that is different from the one set for the inverter.

Example:
If the inverter is set to unit ID = 5 and the Modbus request is made for unit ID = 3 (SMA Modbus) or unit ID = 126 (SunSpec Modbus), error code 11 is sent.

If the inverter is set to unit ID = 5, the correct Modbus request would also be for unit ID = 5 (SMA-Modbus) or unit ID = 128 (SunSpec Modbus). The unit ID in the SunSpec Modbus profile for SMA inverters derives from the preset unit ID in the SMA Modbus profile + 123.

Please check the setting of the unit ID on the inverter.

2 SMA Modbus: Registers

The following information is sorted by register number

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */

New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */


New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */

New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Does the active power set point need to be changed in small or specific increments?

Answer:

If, for example, you want to change the active power set point from 70% to 10%, it is not required to do it in small or specific increments. Just transmit the new value. The inverter accepts this command and generates the curve in both directions.

Question:

If active power limitation by the system controls is absent and the inverter no longer receives any control commands (e.g., due to an interruption in communication), does it return to a default value?
What is this default value and how long is the timeout?

Answer:

The action that the inverter is to perform in the event of an interruption in communication can be set via Modbus.
Register 41193 is used for the operating mode for absent active power limitation. The time for the timeout, during which the previously defined action is to be performed, must also be set in register 41195. If you have opted for a fallback power, the power level must be set as a % in register 41197.

Question:

Why are multiple registers (40155/40497) available for MAC addresses?

Answer:

SMA register 40155 for the MAC address is incorrect, obsolete and marked as not to be used. Use the newer register, 40497.

Question:

Why are multiple registers (40155/40497) available for MAC addresses?

Answer:

SMA register 40155 for the MAC address is incorrect, obsolete and marked as not to be used. Use the newer register, 40497.

3 SMA SunSpec Modbus: General Information

Question:

Which registers may be cyclically written for system control without destroying the device’s flash memory?

Answer:

Please observe the relevant safety information in the documentation (safety information section). Registers for cyclical changes are marked with the addition „Parameters for system control.“

4 SMA SunSpec Modbus: Registers

The following information is sorted by register number

Question:

Why is a value of 325 returned instead of the expected ID:101 for a single-phase inverter in the case of the SB nn00TL-21, PKG 2.60 and SB nn00TLST-21, PKG 2.60 inverters?

Answer:

This is an error in SMA mapping that no longer occurs in this way with other inverters. The aim is to eliminate this error in future versions. The value of 325 can be set as equal to 101.

Question:

Why is the value not available for the SMA inverters?

Answer:

The DC power is not available as a cumulative value. It must be added up individually in SunSpec model 160 in consideration of the existing MPP-Trackers (see registers 40632 et seq.).

Question:

Why is the value not available for the SMA inverters?

Answer:

The internal temperature value is currently available only for certain inverters.

Question:

Why is the value not available for the SMA inverters?

Answer:

Register 40224 with information on the operating status was introduced at SMA only in July 2016 for the SB n000TL-US-22 device series. It may be that it cannot be offered in all inverters for this reason.

(SMA: feed-in management operating mode): activation of active power limitation setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

(SMA: operating mode of static voltage stability): activation of cos φ setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

(SMA: operating mode of static voltage stability): activation of reactive power setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.