Seit kurzem befindet sich in meinem Netzwerk eine SMA EV Charger 22 Wallbox. Primär wird diese natürlich dazu genutzt um ein Elektroauto aufzuladen.
Trotzdem war ich natürlich neugierig welche Werte sich dort auslesen und weiterverarbeiten lassen.
Der im folgenden vorgestellte Node Red code ist mein aktueller Stand. Damit lassen sich bereits die gängigsten Verbrauchs- bzw. auch Erzeugerdaten auslesen. So könnt Ihr auf einzelne Werte des Stromnetzwes wie auch das angeschlossene Auto zugreifen.
Weitere Infos sind in diesem Artikel zusammengefasst.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Damit Ihr neue Nodes installieren könnt sollte NodeRed natürlich schon auf Eurem RaspberryPi installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.
- RaspberryPi – Einrichten für Nerdiys!
- RaspberryPi – Die Erste Konfiguration!
- RaspberryPi – Den RaspberryPi über SSH steuern
- NodeRed – Installation von NodeRed auf dem RaspberryPi
- NodeRed – Neue Nodes installieren
- NodeRed – Node-Code importieren und exportieren
In der folgenden Listen findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
Benötigtes Werkzeug:
Benötigtes Material:
Number | Link |
---|---|
1x | Raspberry Pi Bei Amazon kaufen |
1x | Raspberry Pi Netzteil Bei Amazon kaufen |
1x | Raspberry Pi Gehäuse Bei Amazon kaufen |
1x | Micro SD Karte 64GB Bei Amazon kaufen |
1x | SMA EV CHARGER 22 Wallbox |
Node Red code importieren
In diesem Abschnitt findet Ihr den Node Red code den Ihr benötigt. Wie ihr diesen in Eure NodeRed Umgebung importieren könnt ist im Artikel NodeRed – Node-Code importieren und exportieren beschrieben.
Um den unten verlinkten Node Code mit Eurem ESPEasy Device nutzen zu können, müsst Ihr dazu noch ein paar Änderungen vornehmen. Diese sind im nächsten Abschnitt beschrieben.
Den Node Red code findet Ihr im Nerdiy-Git-Repository unter folgendem Link:
In der folgenden Galerie könnt Ihr ein Foto der Ansicht des Flows in der Konfigurationsansicht sehen. Wie Ihr seht konnte ich die meisten Werte bereits zuordnen/auslesen. Bei einigen (meiner Meinung nach weniger wichtigen) fehlt aber noch die korrekte Zuordnung. Wenn Ihr dies herausgefunden hab, lasst mir doch gerne ein Kommentar da.
Damit der Node Red Flow korrekt funktioniert müsst Ihr im Rot markierten Bereich die Zugangsdaten des Standardnutzers Eurer Wallbox einstellen.
Die abgerufenen Daten werden im Dashboard angezeigt. Ihr könnt den Code aber natürlich nach belieben anpassen und die erfassten Daten weiterverarbeiten.
Weitere Artikel zum Thema Node Red
In den folgenden Kategorien findet Ihr weitere Links zum Thema Node Red.
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Hallo,
wie kann ich den Code anpassen um die Daten aus dem Wechselrichter und dem Batteriewechselrichter auslesen zu können?
Freue mich über eine Antwort.
Hi Alex,
die Anleitung/Code für den Wechselrichter werde ich demnächst veröffentlichen. 🙂
Beste Grüße
Fabian
Hi Alex,
ich habe gerade die Infos veröffentlicht um den Sunny Home Manager auszulesen. 🙂
https://nerdiy.de/howto-node-red-sma-sunny-home-manager-daten-auslesen/
Beste Grüße
Fabian
Hallo,
ich bekomme immer bei distribute_wallbox_data die Meldung Verbindung wird hergestellt. Ich bekomme also keine verbindung obwohl die zugangsdaten zu 1000% korrekt sind.
Ich habe dann Mosquito MQTT installiert und erfolgreich getestet, hat aber nichts gebracht.
Hast du ein Tip was ich noch machen müsste außer dein Flow zu importieren und die Logindaten einzugeben?
Hey Tobi,
nur um das auszuschließen (sorry für die potentiell dumme Frage) du hast bei der “distribute_wallbox_data” Node die Zugangsdaten zu deinem MQTT Server eingegeben, richtig? Nicht die Logindaten für die Wallbox. 🙂
Beste Grüße
Fabian
Hi,
der Code funktioniert gut, aber jetzt habe ich bedenken ob das ständige Auslesen und Beschreiben schädlich für die Wallbox ist. Kannst du da näheres zu sagen.
Ich habe das so geregelt daß ich zuerst den Hausverbrauch abfrage und wenn der über 10kW ist wird erst die Box abgefragt.
Nur beim Überschussladen klappt das so nicht wegen der geringeren Ladeleistung.
Grüße,
Roman
Hi Roman,
auch wenn ich die Software von SMA im Detail (natürlich) nicht kenne, würde ich mir da keine Sorgen machen. Zum einen werden die Daten ja nur gelesen und nicht aktiv iwelche Parameter gesetzt. Da sollte schonmal kein Schreibprozess stattfinden.
Falls doch einer stattfinden sollte (was ich mir wie gesagt nur sehr schwer vorstellen kann, weil es technisch einfach nicht sinnvoll oder sogar unklug ist) gehört es eigentlich mittlerweile dazu, dass der Hersteller sich um das “Wear leveling” kümmert.
Entweder würden zu häufige Schreibvorgänge verhindert oder entsprechend gehandhabt um ein zu frühes verschleißen der Speicherzellen zu verhindern.
Ich habe den gezeigten Code so auch seit ca. einem Jahr in Betrieb und bisher funktioniert alles wie am ersten Tag. 🙂
Eine Garantie kann ich dir aber natürlich nicht geben. :/
Beste Grüße
Fabian
Hallo Fab,
danke für deine ausführliche Antwort. Wear leveling sagte mir überhaupt nichts. Wieder was gelernt.
Beste Grüße
Roman
Hi Florian, nein das sind schon die richtigen Logindaten zur Wallbox. 🙂
Mit dem Mqtt war ein Test von mir ob dieser evtl. installiert werden müsste. Denke aber da war ich auf dem Holzweg.
Ich habe dann weiter getestet und festgestellt, dass das manuelle Ausführen um das Token zu bekommen auf meinem PC in der DOS Box funktioniert, wird der Befehl aber über Node Red aus meine Home Assist installation ausgeführt kommt keine Rückantwort. Diese ist leer was dazu führt das ich logischerweise ein json parse Error bekomme. Denke das ist das Grundproblem bei mir aktuell.
Muss man irgend etwas noch installieren damit man diese Befehle absetzen kann?
Hi Tobi,
den mqtt teil brauchst du nur, wenn du die abgerufenen Daten an einen MQTT Server weiterleiten möchtest. Falls du das nicht brauchst kannst du die MQTT Node auch löschen. 🙂
Mir fällt gerade ein, dass es sein kann, dass das Paket “curl” nicht installiert ist. Das ist notwendig um die Daten abzurufen. Kannst du mal testen ob curl installiert ist indem du zum Beispiel “curl -I google.de” in den Terminal deines HomeAssitant eingibst? (Der Befehl ruft einfach nur den Header von google.de ab und gibt dir die Infos aus).
Beste Grüße
Fabian
Ich habe das Problem dank deines Hinweises Curl mal im Terminal auszuführen endlich bei mir gefunden:
Der Curl Befehl darf bei mir hinter dem -d nicht in Gänsefüßchen sondern muss in Hochkomma gesetzt werden. Und schon bekomme ich ein Ergebnis und alles läuft.
Jetzt werde ich die Tage mal genauer mir alles anschauen.
Hey Tobi,
schön zu hören, dass es jetzt funktioniert. Danke für die Rückmeldung und viel spaß damit. 🙂
Beste Grüße
Fabian
Hallo Fabian,
ich bekomme unter “distribute_wallbox_data” den Status “verbunden” aber das Dashboard gibt keine Werte aus. Woran könnte es liegen?
Grüße Mark
Hi Mark,
ohne Veränderungen gibt der angegeben Code auch keine Daten auf dem Dashboard aus. Die “distribute_wallbox_data” node wird genutzt um die Daten per MQTT an einen MQTT Server weiterzuleiten. 🙂
Du kannst dir den Code aber natürlich auch etwas erweitern, sodass die Daten auch auf dem Dashboard ausgegeben werden. Infos zu den Dashboard nodes findest du zum Beispiel hier: https://nerdiy.de/de_de/nodered-mit-dashboard-nodes-eine-benutzeroberflaeche-erstellen/
Beste Grüße
Fabian
Mhhh Ok, ich habe nun immer noch nicht verstanden, wie ich nun an die Daten komme….ich bin halt ein daU