SMA "YASDI" Inverters

Purpose

The purpose of this plugin is to collect data from SMA Inverters, using the old YASDI protocol.

Usage

Data from SMA inverters that utilise the old YASDI protocol is read using an RS485 (ie; serial) connection. Inverter data will be collected to the solar table, and will be run every 5 minutes, by default. This script cannot be run at intervals of less than 30 seconds due to the slow response of the YASDI protocol. The plugin will make an attempt of (by default) 1 times to read an inverter. When running a discover command, the resultant values will look like this:

Table                                            solar
Source                                           sma_yasdi/1
DC Voltage 1 (decimal:V)                         263.0
DC Current 1 (decimal:A)                         2.459
AC Voltage 1 (decimal:V)                         235.60000351071358
AC Current 1 (decimal:A)                         2.525
Total Energy (decimal:Wh)                        17867502.848660804
AC Power (decimal:W)                             594.0
Total Hours (decimal:h)                          42239.74239287109
Grid Freq (decimal:Hz)                           49.99999888241291
Error (keyword:)                                 0
Status (keyword:)                                7
Insulation Resist (decimal:kOhm)                 3000.0
Serial Number NOT LOGGED TO THE CLOUD (keyword)  2001010101

Unallocated items...
  Upv-Soll with a value: 263.0 V
  h-Total with a value: 36790.27474550984 h
  Netz-Ein with a value: 3824.0

If you need the unallocated items to be sent to the cloud, please contact Ardexa.

Arguments

Arguments are as follows:

  • config file. This will contain the key elements of connecting to the YASDI interface. Example is as follows:. You should only need to change the Device= parameter, ie; the serial connection.

[DriverModules]
Driver0=yasdi_drv_serial

[COM1]
Device=/dev/ttyUSB0
Media=RS485
Baudrate=1200
Protocol=SMANet

[Master]
DetectionTimeout=1
  • number of devices. This is an integer indicating the number of inverters to be expected to be read.

  • --attempts. This is an optional parameter, and determines how many times to times to attempt to read an inverter value. Default is 1

Last updated