SMAWechselrichter

Aus FHEMWiki
Wechseln zu: Navigation, Suche

Einbindung eines Wechselrichters von SMA in FHEM

Basierend auf diesem Thread im FHEM-Forum wird erklärt wie man seinen Wechselrichter von SMA in FHEM einbinden kann. Dafür kommt das Tool SBFspot (alter Name: SMASpot) zum Einsatz.

Vorbedingungen

Für die weitere Anleitung wird angenommen, dass FHEM auf einem RaspberryPi installiert wurde, funktioniert und genügend Platz für das kompilieren und die notwendigen Libraries zur Verfügung steht.

Die Tools make und g++ müssen installiert sein. Falls noch nicht vorhanden, müssen diese mit

sudo apt-get install make und
sudo apt-get install g++ installiert werden.

Installation

Schritt 1 - Installation der notwendigen Libraries

Der Wechselrichter kann entweder per Bluetooth oder per Speedwire (Ethernet) ausgelesen werden. Unabhängig davon, wie der WR ausgelesen wird, müssen die folgenden Pakete installiert werden: (Quelle: SBFSpot-Doku)

sudo apt-get install bluetooth libbluetooth-dev libcurl3-dev libboost-all-dev

Anschließend muss die Bluetooth Adresse des Wechselrichters ermittelt werden:

hcitool scan

Schritt 2 - Installation von SBFSpot

Als erstes wird ein Verzeichnis erstellt, in das die Quellcode-Dateien heruntergeladen und anschließend kompiliert werden.

cd /home/pi
mkdir sbfspot
cd sbfspot 

Nun kann SBFSpot heruntergeladen,

wget [URL of latest version]

entpackt,

tar -xvf [Dateiname]

und abschließend kompiliert werden:

make release

Danach werden das Programm SBFSpot und die Konfigurationsdatei noch in das FHEM Verzeichnis kopiert:

sudo cp SBFspot SBFspot.cfg /opt/fhem/FHEM/sbfspot/bin/Release

und die Rechte setzen:

sudo chown -R fhem /opt/fhem/FHEM/sbfspot

Um die Kompatibilität mit den diversen im Forum herumgeisternden Modulen zu gewährleisten, empfiehlt es sich ein paar Links zu erzeugen:

cd /opt/fhem/FHEM/; sudo ln -s sbfspot smaspot
cd /opt/fhem/FHEM/sbfspot; sudo ln -s SBFspot SMAspot

Möchte man nun Bluetooth nutzen, muss man schliesslich noch in der Datei /opt/fhem/FHEM/sbfspot/bin/Release/SBFspot.cfg die vorher mit hcitool gefundene Bluetooth-Adresse eintragen.

Einbindung in FHEM

Konfiguration in FHEM

Nun benötigen wir noch das Modul 99_SMAUtils.pm aus dem o.g. Thread. Dieses wird in das FHEM Verzeichnis (default wäre hier: /opt/fhem/FHEM) kopiert.

Als nächsten editieren wir die fhem.cfg und fügen die folgenden Zeilen hinzu:

# Solar Wechselrichter
#
define Solar SMAUtils 00:80:25:2D:46:16 600
attr Solar delay 600
attr Solar icon measure_photovoltaic_inst
attr Solar room Energie
#
# FileLog Definition
#
define FileLog_Solar FileLog ./log/Solar-%Y-%m.log Solar:.*etod.*|Solar:.*string.*_pdc|Solar:.*total_pac|Solar:.*usage.*
attr FileLog_Solar icon icoLog
attr FileLog_Solar nrarchive 12
attr FileLog_Solar room Logfiles
#
# Chart
#
define SVG_FileLog_Solar_1 SVG FileLog_Solar:SVG_FileLog_Solar_1:CURRENT
attr SVG_FileLog_Solar_1 room Energie
attr SVG_FileLog_Solar_1 title "Solarleistung Min $data{min1}, Max $data{max1}, Last $data{currval1}"
Beispielplot (SVG_FileLog_Solar_1.gplot)

In der ersten Zeile wird aktuell noch eine gültige Bluetooth Adresse benötigt, da das Modul SMAUtils diesen Parameter erwartet. Dies ist unabhängig davon, ob man den Wechselrichter per Bluetooth oder Ethernet anspricht. In letzterem Fall muss es nicht die richtige Bluetooth-Adresse des Wechselrichters sein, irgendeine Adresse ist ausreichend. Die eventuell auftretende Fehlermeldung "Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list." kann ignoriert werden.

Konfiguration des Plots

nun muss noch die Plotterkonfig für die Grafik erstellt werden. Dazu wird die Datei "SVG_FileLog_Solar_1.gplot" im FHEM Verzeichnis "/opt/fhem/www/gplot" mit folgendem Inhalt erzeugt:

# Created by FHEM/98_SVG.pm, 2014-04-03 11:08:53
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics 
set y2tics 
set grid
set ylabel "kW"
set y2label "kW"

#FileLog 4:Solar.string_1_pdc\x3a:0:
#FileLog 4:Solar.string_2_pdc\x3a:0:

plot "<IN>" using 1:2 axes x1y1 title 'String 1' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'String 2' ls l0 lw 1 with lines

und nun sollte es im FHEM einen weiteren Menüpunkt "Energie" mit einer schönen Grafik geben :-)

Alternativen zum Auslesen der Daten

Es gibt ein Tool suproxy, welches die Daten des Sunny Portals ausliest. Damit erhält man nicht nur die Daten des Wechselrichters, sondern auch die Daten des Stromzählers.

Links

  • Forenthread, in dem die Lösung vorgestellt / diskutiert wird
  • Forenthread, indem suproxy vorgestellt / diskutiert wird