This is a simple python 3.x wrapper for SMA's 'YASDI' (aka Yet Another SMA Data Implementation).
SMAData1 (version 1, short SD1) is the name of the protocol SMA used with (older) string inverters. It can still be used in modern inverters (in 2023) with a RS485 data module if needed.
YASDI does not implement the modern communication protocol SMAData2+ (version 2+, short SD2+) which is used in all modern SMA inverters and devices with ethernet (IP network).
Get the source directly from SMA Solar Technology AG or my server www.heiko-pruessing.de.
Bash> unzip yasdi-1.8.1build9-src.zip -d YASDI
Bash> cd YASDI/projects/generic-cmake
Bash> mkdir build-gcc
Bash> cd build-gcc
Bash> cmake ..
Bash> make
Bash> sudo make install
Bash> sudo ldconfig
Install all deps:
make init
Edit the file yasdi.ini as needed and test it with
yasdishell ./yasdi.ini
The unit tests can be started with:
make test
make demon
The sample demon searches for all connected devices (inverters) and starts data query with most important measurement values. It creates a data file which contains all requested data:
ChannelName;ChannelUnit;ValueTimestamp;ChannelValue
Pac;kW;1700388485;2.3
E-Total;kWh;1700388485;2746876.4