NEWS
SMA Wechselrichter-Flow über SBFspot
-
Hallo Werte Gemeinde,
hier ein Node-Red-Flow zum Auslesen des Wechselrichters mit einer funktionierenden SBFspot Installation.
[{"id":"24b61450.dbd95c","type":"inject","name":"Wechselrichter","topic":"","payload":"","payloadType":"date","repeat":"15","crontab":"","once":false,"x":98.88333129882812,"y":54.883331298828125,"z":"851687cc.dd6d58","wires":[["4f2fa9a.a23fdd8"]]},{"id":"4f2fa9a.a23fdd8","type":"exec","command":"/usr/local/bin/sbfspot.3/SBFspot","addpay":false,"append":" -v -finq -nocsv","useSpawn":false,"name":"","x":349.8833312988281,"y":55.883331298828125,"z":"851687cc.dd6d58","wires":[["4cb2592f.25a9d8"],[],[]]},{"id":"4cb2592f.25a9d8","type":"function","name":"Erträge","func":"// Script von Marco Jäger\nvar quelle = msg.payload;\nvar eigen\nmsg = {};\nvar etoday = quelle.indexOf('EToday:');\nvar Tagesertrag = quelle.substr(etoday + 8, 5);\nmsg.payload = Tagesertrag; \nmsg2 = {};\nvar etoday = quelle.indexOf('ETotal:');\nvar Gesamtertrag = quelle.substr(etoday + 8, 7);\n// Zahl oder String ist egal\nmsg2.payload = Gesamtertrag\nmsg3 = {};\nmsg4 = {};\nvar etoday = quelle.indexOf('Phase 1 Pac');\nvar PVLeistung = quelle.substr(etoday + 13, 8);\n// Zahl oder String ist egal\nPVLeistung=PVLeistung * 1000\nmsg3.payload = parseInt(PVLeistung);\n\nreturn [msg,msg2,msg3];","outputs":"4","noerr":0,"x":615.88330078125,"y":57.883331298828125,"z":"851687cc.dd6d58","wires":[["65061eb4.8fda7"],["f30ea02c.9eb4c"],["23a91d53.17d3e2"],[]]},{"id":"65061eb4.8fda7","type":"ioBroker out","name":"Tagesertrag","topic":"hm-rega.0.7452","ack":"true","autoCreate":"false","x":856.88330078125,"y":31.883331298828125,"z":"851687cc.dd6d58","wires":[]},{"id":"f30ea02c.9eb4c","type":"ioBroker out","name":"Gesamtertrag","topic":"hm-rega.0.7453","ack":"false","autoCreate":"false","x":856.88330078125,"y":89.88333129882812,"z":"851687cc.dd6d58","wires":[]},{"id":"23a91d53.17d3e2","type":"ioBroker out","name":"PV-Leistung","topic":"hm-rega.0.7454","ack":"false","autoCreate":"false","x":860.88330078125,"y":152.88333129882812,"z":"851687cc.dd6d58","wires":[]}]
Viel Spaß.
-
Moin, Du hast nicht zufällig so was für eine SMA Webbox in der Schublade?
6558_unbenannt.png
6558_energiezaehler_b-serie_handbuch.pdf
6558_tn_0302_grundlagen_modbus.pdf -
Hallo,
damit kann ich dir leider nicht dienen. Ich habe auch keine WebBox zur Hand, sonst könnte ich mal schauen. Was hast du für Wechselrichter?
Viele Grüße
-
Hallo Krissi,
würde dir das evtl. helfen? https://github.com/jraedler/SunnyWebBox … yWebBox.py
-
Hi Marcolotti
Danke für den Link. Stellt sich mir leider nur noch die Frage was ich damit machen muss und wo ich das einbauen soll/kann.
:?:
-
Hi könnte mir da eventuell jemand weiterhelfen? Wo muss ich das Script aus dem Link einbinden und was muss ich da noch wo anpassen? Da bin ich leider noch total grün! Danke
-
Hi Krissi,
ich habe den Node-Red Adapter installiert und die Instanz geöffnet. Danach könntest du meinen Flow(Code) einfügen vom Wechselrichter. Darin findest du die Abfrage von SBFspot. Anstelle dessen nutzt du einfach eine Pythonabfrage (py sunnywebbox.py) und wertest die Rückmeldung in der Funktion danach aus.
Du kannst das Python-Script auch in einen Ordner legen und mir diesen dann schreiben, dann baue ich dir das bis dahin. Ich kann dir leider nicht die Funktion bauen, da ich nicht im Besitz einer SunnyWebbox bin und daher nicht die Rückmeldung kenne.
Gruß Marco
-
Hallo,
vielleicht ist es auch über den ModBus Adapter möglich, die Webbox auszulesen.
Die ModBus Dokumentation von SMA findest du hier:http://files.sma.de/dl/2585/WEBBOX-MODBUS-TB-de-19.pdf
Ich habe es eben mal getestet, aber mir scheint, dass der Adapter noch nicht zuverlässig funktioniert. Die Adressen werden beim Speichern unvollständig gespeichert. Die Node-Red-ModBus-Contrib installiert sich auch nicht richtig.
Gruß Marco
-
Hi Marco
Danke erst mal! Ich hab das heute morgen erst gelesen, war im Urlaub.
Jaaaaa, ich hab dann mal deinen Flow eingefügt, eine Datei sunnywebbox.py in den Ordner /usr/local/bin/node-red_scripte/ gelegt und das Script aus dem Link reinkopiert und da die ip und das pw der Webbox eingetragen (Zeile 57, die Frage ob das an der richtigen Stelle ist). In dem exec Node hab ich dann auf die Datei inkl. Pfad verwiesen. Kommt aber leider nichts verwertbares raus. Im debug Fenster kommt folgendes.
/usr/local/bin/node-red_scripte/sunnywebbox.py: 22: /usr/local/bin/node-red_scripte/sunnywebbox.py: import: not found /usr/local/bin/node-red_scripte/sunnywebbox.py: 25: /usr/local/bin/node-red_scripte/sunnywebbox.py: Syntax error: "(" unexpected (expecting "then")
Wenn ich in dem Verzeichnis das script direkt ausführe, bekomme ich eine Fehlermeldung in Zeile 22
File "sunnywebbox.py", line 22 import sys, json, hashlib ^ IndentationError: unexpected indent
Wie gesagt, das sind alles bömische Dörfer für mich. Eventuell kann da ja jemand etwas mit anfangen.
-
Hallo Krissi,
wenn du noch ein wenig Geduld hast, ist der ModBus-Adapter fertig für SMA. Damit funktionert auch die Sunny Webbox.
Da kannst du dir das Script-Gedöns sparen.
Gruß Marco
-
Moin Marco, das wäre natürlich der Knaller. Klar hab ich noch Geduld.
Hast Du schon zufällig was, was ich lesen kann/muss oder vorbereiten kann? :mrgreen:
Gruß,
Andre