SMAWechselrichter
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
undsudo 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 sudo apt-get install libbluetooth-dev sudo apt-get install libcurl3-dev sudo apt-get install 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}"
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 :-)
Links
- Forenthread, in dem die Lösung vorgestellt / diskutiert wird