Seit einiger Zeit befindet sich in meinem Netzwerk (neben einer SMA EV Charger 22 Wallbox) auch ein SMA Wechselrichter für eine Photovoltaikanlage und ein dazugehöriger SMA Sunny Home Manager. Letzterer ist so verbaut, dass er nicht nur die ins Netz eingespeiste Energie messen kann. Zusätzlich misst er auch die Verbräuche. Damit kann man sich also jederzeit den aktuellen Bezug elektrischer Energie angucken. Dies ermöglicht es jederzeit einen guten Überblick darüber zu haben wieviel Energie erzeugt bzw. verbraucht wird.
So kann man durch einen hohen Eigenverbrauch der erzeugten Energie möglichst viel Energie selbst nutzen (anstatt sie ins Netz einzuspeisen).
Dies ist bei SMA bereits über eine spezielle App möglich. Allerdings lassen sich damit nur bedingt Vorgänge automatisieren. Letztendlich möchte ich diese Daten auch für mein eigenes SmartHome System auslesen und nutzen können.
Der im folgenden vorgestellte Node Red Code ist ein erster Anfang. Damit lassen sich bereits die gängigsten Verbrauchs- bzw. auch Erzeugerdaten auslesen. Ich muss auch dazu sagen, dass der Code nicht alleine von mir erstellt wurde. Ich habe mich an verschiedenen (leider nicht mehr bekannten) Quellen inspirieren lassen. (Wer seinen Code hier wiederfindet soll mir bitte bescheid geben. Dann füge ich die Info hier hinzu. :))
Aber nun erstmal zu meinem aktuellen Node Red code um die Daten eines SMA Sunny Home Manager auslesen zu können.
Inhalte
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 NodeRed nutzen könnt sollte NodeRed natürlich schon auf Eurem Raspberry Pi installiert sein.
Wie ihr einen Raspberry Pi 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 Sunny Home Manager 2.0 |
SMA Sunny Home Manager Voraussetzungen
Damit die Daten Eures SMA Sunny Home Manager ausgelesen werden können sollte dieser bereits in Betrieb und mit Eurem Netzwerk verbunden sein. Wenn Ihr die Daten Eures Wechselrichters bereits mit der App von SMA auslesen könnt sollte alles korrekt eingerichtet sein.
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 nutzen zu können, müsst ihr keine Änderungen vornehmen. Die Daten werden aus den Multicast Nachrichten des Home Managers ausgelesen und sollten demzufolge direkt verfügbar sein.
Den Node Red code findet Ihr im Nerdiy-Git-Repository unter folgendem Link:
Die ausgelesenen Daten werden gruppiert ausgegeben. Aktuell werden sie “nur” auf dem Dashboard angezeigt. Ihr könnt Sie aber natürlich auch anderweitig weiterverarbeiten und so zum Beispiel den passenden Zeitpunkt herausfinden um Eure Waschmaschine einzuschalten. 🙂
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. 🙂
Vielen Dank für die großartige Arbeit. ich habe den Code in meine Node-Red meines Home Assistant Systems importiert. Leider bekomme ich ein Fehler beim buffer-parser. Dieser wäre unbekannt.
Ich bin leider an blutiger Anfänger in Node-Red.
Haben Sie irgend ein Tipp was ich prüfen könnte?
Ach sorry, habe es herausgefunden. Buffer parser musste ich nur nachinstalieren 🙂
Hey Tobi,
genau einfach die entsprechende Node über die Palette installieren. 🙂
Viel Erfolg damit und beste Grüße
Fabian
Hallo Fabian,
ich mal wieder. Mir ist aufgefallen das die Firmwareversion leider nicht exakt passt. Bei mir ist diese 2.12.3.R (ist eine neue Beta Version). Angezeigt wird leider 2.0c.3.R.
0C sollte ja eigentlich eine 12 sein.
Wenn ich den Type im buffer-parser Measurements von hex auf byte umstelle wird es bei mir richtig angezeigt.
Kannst es bei dir ja mal prüfen und ggf. das Template aktualisieren.
Hey Tobi,
danke für den Hinweis. Habe das Template korrigiert. 🙂
Beste Grüße
Fabian
Hallo,
Zuerst einmal super Arbeit, genau das was ich gesucht habe.
Ich habe jedoch eine Frage zu dem Flow.
Vorweg: Ich bin absoluter Neuling was Home Assistant und Node-Red angeht.
Wie bekomme ich denn einen Teil der Messwerte wieder in Home Assistent zurück, um diese dort zu visualisieren bzw. weiter zu verarbeiten.
Ich schaffe es nicht eine Node zu erstellen, welche nur einen Wert (Z.B. Grid-feed total) beinhaltet.
Gruß
Rico
Hi Rico,
du kannst mit den homeassitant websocket nodes Daten von NodeRed zu HomeAssitant übertragen. (https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket)
Ich habe dazu leider (noch) kein Beispiel. Welche der Messdaten willst du denn im HomeAssistant haben? 🙂
Beste Grüße
Fabian
Hallo Fabian,
Als Messwerte wollte ich erstmal nur den aktuellen Bezug und Einspeisung
Wie gesagt, ich scheitere aber schon daran, nur einen einzelnen Wert aus der Funktions-Node einzeln abzugreifen und als debug-msg auszugeben.
Gruß Rico.
Hi Rico,
welchen einzelnen Wert würdest du denn gerne aus einer Funktions-Node rausbekommen? Dann kann ich dir konkret helfen. 🙂
Du weißt, dass du die SMA Geräte auch direkt über die Integration in HomeAssistant einbinden kannst? Dann brauchst du nicht den Umweg über NodeRed gehen. 🙂
Beste Grüße
Fabian
Hi Nerdy ,
retrieving the data from the HomeManager works fine , but I notice , as soon as I enable the UDP node on port 9522 in Nodered , the SMA chain doesn’t like it , and for example the SunnyBoyStorage is not longer able to connect to the HomeManager , and I get serious connection issues , as I read the log files.
My config is Sunny Home Manager 2.0, Sunny Boy Storage 3.7, Sunny Tripower 6.0
Do you have any suggestions regarding this ?
Kind Regards , Peter
Hi Peter,
hm that sounds strange. I couldnt observe something like this. Might be that this is due to the different setup since I do not have the battery storage in my setup. :/ Do you mind sharing some of the (anonymized) log entries?
Best regards
Fabian
Hallo,
das sieht ja klasse aus und scheint genau die Basis zu sein um mit meiner “Homematic IP CCU3” den PV-Überschuss zu messen und dann wiederum Verbraucher über Homematic IP zu steuern.
Allerdings wird bei mir ständig “Verbindung wird hergestellt” angezeigt.
Woran könnte das liegen?
Vieln Dank, funktioniert auf Anhieb und genau das was ich gesucht habe um nun meine weiteren Stuerungen aufzubauen – Top !
Gerne! Viel Erfolg damit. 🙂
Hallo,
Ich hoffe du kannst mir auch als HA neuling helfen.
Ich habe alles integriet nach deiner Anleitung, leider steht bei mir im Flow nicht wie bei dir verbunden.
sondern verbindung wird hergestellt.
Muss man eine IP Adresse eintragen oder was mache ich Flasch.
Der SMA Home Manager ist im Sunny Portal und schreibt dort schon lange daten
Ich habe ein SMA Home Manager 2.0 kann das daran liegen?
Gruß Mathias
Hallo,
ein super Script! Wie kommuniziert denn der SunnyBoy mit dem Home Manager? Gibt es eine Möglichkeit das Ladelevel und die Laderate auszulesen?
Grüße
Hi,
ich habe den Home Manager 2.0 und SUNNY TRIPOWER 8.0 SE verbaut. Die Payload Length ist hier 58. Hast du vielleicht eine Idee wie man an die entsprechende Spezifikation kommt?
Vielen Dank und Grüße
Hi Andi,
die genaue Spezifikation habe ich leider nicht.
Hattest du schon versucht die Werte anhand von Trial&Error zuzuordnen? 🙂
Beste Grüße
Fabian
I am also trying to understand the message that comes in. Did you already had any luck? My setup looks similar to yours and I’m also receiving 58 payload length.
Hi Fabian,
thanks for the great flow. I’m a beginner, but I really managed to display the data I wanted in HA. However, sending the data every 1s is too often for me. How can I change the flow so that the data is only sent every 2 or 3s
Greetings
Ren
Hi Ren,
actually there is no way to limit the reception interval of the data by manipulating the source itself since this is based on the received broadcasts. But you can use a limit node to limit the data. You have to put it between the “SMA EM” and the function node. In this you can then define the rate that fits best for you. 🙂
Best regards
Fabian
Hi Fabian,
danke für die tolle Arbeit! Läuft sehr fein! Eine Frage habe ich noch. Wenn ich das richtig verstehe, wird der Solarertrag nicht erfasst, richtig? Ich habe erst Einspeisung als solchen interpretiert, da erhalte ich aktuell aber mangels fertiger Anlage und Testaufbau mit nur 2,7kwp aktuell immer nur 0, weil ich nichts in das öffentliche Netz einspeise. Ist meine Annahme richtig? Den Solarertrag würde ich dann direkt vom Inverter erhalten und nicht über den Homemanager?
Danke und viele Grüße
Thomas
Hi Thomas,
danke. 🙂 Ja genau so wie du das beschrieben hast verstehe ich es auch. Ich denke diesen Wert muss du direkt vom Wechselrichter beziehen. Vllt. helfen dir die Infos hier: https://nerdiy.de/de_de/howto-node-red-sma-sunny-solar-wechselrichter-daten-auslesen/
Beste Grüße
Fabian
Hi Fabian,
danke dir, hab die schon alle im Test. Beim Inverter schmiert allerdings meine Node Red Instanz laufend ab. Allerdings nur beim Tripower 10 SE. Bei meinem Sunny Boy 5.0 klappt es.
Mal gucken, ob ich den Fehler finde, aber erstmal spiele ich weiter. 😉
Viele Grüße
Thomas
Alles klar, wenn du mehr rausgefunden hast freue ich mich über Feedback. 🙂
Viel Erfolg!
Fabian