SMA Gateway Modul

Moin zusammen,

ich habe nun angefangen ein Modul für das SMA Sunny Multigate zu schreiben. An diesem Multigate können bis zu 12 x SunnyBoy 240 angeschlossen werden. Je nach finanziellem Rahmen kann man diese Anlage also entsprechend schmal starten, und dann später nochmal ausbauen. Das war für mich der Anstoss so eine Anlage anzuschaffen.

Natürlich wollte ich entsprechende Informationen aus der Anlage auslesen. Dies hatte ich zuerst über den Sunny Explorer mit einem CSV Export laufen. Doch dies stellte sich im laufe der Monate als sehr instabil heraus. Immer wieder stürzte der Sunny Explorer ab. Irgendwann bin ich dann auf SBFSpot gestoßen. Eine Software die von einem Belgier entwickelt wird mit dem ich zwischenzeitlich auch in Kontakt stand um Fehler auszumerzen.

Inzwischen läuft dieses System ein ganzes Jahr stabil! Allerdings hatte ich vorher ein Schnellschuss Skript gebaut, was nicht für jeden lauffähig ist. Deswegen habe ich nun ein Modul geschrieben, und will dies mal der Allgemeinheit zur Verfügung stellen.

Allerdings gibt es mit dem Modul noch hier und da ein paar Problemchen. Aber das soll ja kein Problem sein.

Wie funktioniert das Ganze?!

Zuerst muss auf einer Maschine - vorzugsweise ein Raspi oder ein andere Linuxrechner die SBFSpot Software installiert werden.

https://sbfspot.codeplex.com

Dann sollte mit dem Befehl

./SBFspot -v -finq -nocsv -nosql -d5 -v5 > output.txt

die ausgelesenen Informationen irgendwie dem Modul zur Verfügung gestellt werden.
Dies kann entweder per Netzwerkfreigabe, oder über Apache gelöst werden. Ich nutze den Weg per Web!
Somit muss die Output Datei ins /var/www Verzeichnis geschrieben werden.

Im Modul trägt man dann einfach den Zielpfad ein, über den die Datei gelesen werden kann.

Per Cronjob sollte dann in einem Intervall >10 Minuten das Gateway abgefragt werden. Die Erfahrung hat gezeigt, dass man das Gateway nicht mit ständigen Anfragen überfordern sollte.

Sobald die Daten richtig fliessen, werden von der Instanz alle Geräte vollautomatisch angelegt.

Hier nun der Link zum Modul

https://github.com/Spoosie/KH_SMA_Gateway.git

Und die Diskussionsrunde ist hiermit eröffnet. :slight_smile:

Bzw. hier noch ein Bild aus dem Webfront.

Hallo Kevin, irgendwie will es nicht mehr funktionieren.

Im Log steht immer

17.02.2017 21:38:00*| SMA_Gateway*| solar.log incomplete!

Grüße
Ringo

Funktioniert jetzt doch ;-)…super Arbeit.

Sind ziemlich viele Variablen, meine 1000 sind bald ausgeschöpft.

Deswegen möchte ich im Config Screen der Instanz eine Auswahl geben, was man nun umgewandelt haben möchte. Bei mir steht zB in Temp nix drin. Dann brauch da auch meine Variable von erstellt werden.

Gute Idee?

Kann ich die Variablen löschen die ich nicht brauche und diese werden dann nicht erneut angelegt?

Wenn ich deinen Screen von IPS sehe , sieht meines dagegen echt alt aus. Ich sehe du wertest auch deinen Gaszähler, Strom Bezug und Lieferung etc. aus. Wäre cool wenn ich mir auch so etwas bauen könnte. Vor allem die Charts auf der rechten Seite finde ich Klasse. Wo bekommst man zudem die Icons her die du verwendest?

Grüße
Ringo

Die werden leider neu angelegt. Deswegen auch die Vorselektion. Es ist alles original Webfront. Keine Highcharts oder so. Icons zum Teil selbst zum Teil ausm Netz. Ich behelfe mir meistens selber. :slight_smile:

Okay verstehe ich. Ist eine gute Idee mit der Vorselektion. Ich teste es gern wenn du soweit bist.

Schönes WE noch.

Grüße
Ringo

Hallo Kevin, ich lasse jetzt per crontab die output.txt Datei alle 10 Minuten erzeugen und lege diese unter html ab. Die Variablen werden auch einmal angelegt dann meldet das Modul aber immer folgendes.

19.02.2017 11:49:10*| SMA_Gateway*| solar.log incomplete!

Erwartet das Modul den Dateinamen solar.log?

Keine Ahnung was das Problem ist.

Grüße
Ringo

Hallo Kevin, warum bekomme ich immer diese Meldung? Ich habe die Datei mal in solar.log umbenannt, aber IPS liest einfach keine Daten ein.

19.02.2017 14:42:30*| SMA_Gateway*| Retrieving ‚http://192.168.178.30/solar.log
19.02.2017 14:42:31*| SMA_Gateway*| True
19.02.2017 14:42:31*| SMA_Gateway*| Array size =10149
19.02.2017 14:42:31*| SMA_Gateway*| solar.log incomplete!

siehe auch Anhang

Grüße
Ringo

log.zip (61.9 KB)

Du erzeugst mit spfspot wieder Debugoutput, den mein Skript überhaupt nicht mag! Du musst einfach in deinem Cronjob den entsprechenden Parameter entfernen! Dann dürfte wieder alles gehen. :slight_smile:

Achso, ich dachte gerade das braucht dein Modul, weil du es oben in deiner Beschreibung so beschreibst.

/SBFspot -v -finq -nocsv -nosql -d5 -v5 > output.txt

Dann versuche ich es weiter.

Grüße
Ringo

Irgendwie legt er die Devices und Variablen nicht mehr an.

Anbei nochmal der geänderte LOG.

solar.zip (1.44 KB)

Also ich hab das eben mal bei mir seitlich eingezogen. Bei mir werden da fleissig Geräte erzeugt!
Was sagt denn das Logfile von IPS zu dem Thema?

Also ich habe das gleich Problem :frowning:

Erzeuge auf dem Rechner mit
/SBFspot -v -finq -nocsv -nosql -d5 -v5 > output.txt

die output.txt und habe diese im Modul verlinkt.

Im IPS Log erscheint aber immer nur


3/3/2017 19:17:40 | SMA_Gateway | Retrieving 'C:\Program Files\SBFspot.3\output.txt'
3/3/2017 19:17:40 | SMA_Gateway | True
3/3/2017 19:17:40 | SMA_Gateway | Array size =2455
3/3/2017 19:17:40 | SMA_Gateway | solar.log incomplete!
3/3/2017 19:17:40 | ScriptEngine | Result for Event 21246
                                                        Array
                                                        (
                                                            [0] => SBFspot V3.3.1
                                                            [1] => Yet another tool to read power production of SMA solar inverters
                                                            [2] => (c) 2012-2016, SBF (https://sbfspot.codeplex.com)
                                                            [3] => Compiled for Windows (LE) 32 bit
                                                            [4] => 
                                                        ......
                                                        )

Ist der im ersten Beitrag angegebene Befehl zum erzeugen der Datei falsch?

Gruß,
Torsten

ändere mal den Aufruf von SBFspot in

/SBFspot -v -finq -nocsv -nosql > output.txt

Hallo Kevin, das sehe ich im LOG

Grüße
Ringo

Wenn du den Multigate verwendest musst du sbfspot_3.2.0_beta nutzen, nur dort wird der Multigate und die daran angeschlossenen Modulwechselrichter unterstützt.

hier nochmal die Erweiterung aus dem LOG

log.txt (11.4 KB)

Ändert leider nicht an Log

Wieso schreibt er eigentlich im log das solar.log incomplete sein?

Im Modul habe ich als Solar Log Path die output.txt angegeben. Schreibt er dann dennoch im Log File den Hinweis auf solar.log?

Im gelben Bereich sieht man ja, dass er die output.txt liest, aber irgendwas ist da noch immer falsch.

Ja, ist mir auch aufgefallen aber das scheint keine Rolle zu spielen. Ich habe die output.txt in solar.log umbenannt, aber das macht keinen Unterschied.