NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
Kann mir jemand erklären wie wo genau ich diese Daten eintragen muss?
Bin leider ganz neu bei Node Red und blicke gerade nicht durch.Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und die ClientID (typischerweise 1) eintragen. (Port ist 502)

So sieht das bei mir aus.
Verstehe aber nicht wo ich die IP usw. eintragen muss@fridolin01
Bei mir gibt es unter dem Menüpunkt "modbus-client" noch einen weiteren Punkt "WLAN-FE", siehe Screenshot. WEnn man da doppelklickt kann man die benötigten Daten eingeben.Hast Du die zusätzlichen node-red Pakete installiert?
EDIT: Bin mir sicher, Du hast die zusätzlichen Module nicht installiert. In deinem Screenshot sieht man links ja: "unknown: calculator". Also bitte die drei fehlenden Module installieren:Man muss bei node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
node-red-contrib-calc
node-red-contrib-buffer-parser
node-red-contrib-modbusSieht für mich ein bisschen so aus, als würde da was fehlen.
PS: Die Client-ID muss in allen Modbus Nodes korrekt eingetragen werden, das also dann auch nochmal prüfen.

-
Hallo zusammen,
Ich habe leider das selbe Problem.
Ich habe den flow Import und der Typ Modus-client ist unbekannt.
iobroker Version 5.3.8
Node-red Version 3.3.1


Könnt ihr mir weiterhelfen?
Viele Grüße
@mickym Das klingt doch nach einer Frage für Dich, oder?
-
Hallo zusammen,
Ich habe leider das selbe Problem.
Ich habe den flow Import und der Typ Modus-client ist unbekannt.
iobroker Version 5.3.8
Node-red Version 3.3.1


Könnt ihr mir weiterhelfen?
Viele Grüße
@martyl Hast Du die Node-Red Instanz neu gestartet?
Wieder ein Grund warum ich das Eintragen zusätzlicher Nodes in der Adapterkonfig nicht mag, sondern lieber den Paletten-Manager nutze. Was ich Dir empfehlen würde, wenn der Neustart der Node-Red Instanz nichts gebracht hat.
Am fehlenden Backup mit zusätzlichen Nodes hoffe ich stark, dass da bei den Entwicklern sich was tut und man auf die Konfiguration im Adapter verzichten kann. Wenn man derzeit die Projektfunktion in NodeRed nutzt, wird nämlich nichts gesichert: https://forum.iobroker.net/topic/57022/neuaufbau-kein-recovery-nodered-mit-backitup-möglich/3
-
@martyl Hast Du die Node-Red Instanz neu gestartet?
Wieder ein Grund warum ich das Eintragen zusätzlicher Nodes in der Adapterkonfig nicht mag, sondern lieber den Paletten-Manager nutze. Was ich Dir empfehlen würde, wenn der Neustart der Node-Red Instanz nichts gebracht hat.
Am fehlenden Backup mit zusätzlichen Nodes hoffe ich stark, dass da bei den Entwicklern sich was tut und man auf die Konfiguration im Adapter verzichten kann. Wenn man derzeit die Projektfunktion in NodeRed nutzt, wird nämlich nichts gesichert: https://forum.iobroker.net/topic/57022/neuaufbau-kein-recovery-nodered-mit-backitup-möglich/3
-
Hey, ja ich hatte es neugestartet.
Direkt in Node-red fehlt mir leider der Palettenmanager.
Habt ihr noch einen Tipp?
-
@mickym Das klingt doch nach einer Frage für Dich, oder?
Moin zusammen
So meine Werte bekomme ich nun in den IOBroker vom WR
probiere leider Erfolglos seit 2 Tagen und unzähligen Anläufen meine Autarkie zu berechnen und in Grafana anzuzeigen.
Eigentlich sollten hierzu alle Werte bereit stehen.
Kannst du mir erklären wie das Blockly dafür aussehen müsste?
Meine Rechnung sieht wie folgt aus
1-Eigenverbrauch(Täglich)/Gesamtverbrauch(Täglich)Daten sind vorhanden, da Hausverbauch per Shelly 3EM aufgezeichnet werden.
Rest sollte aus dem WR kommen oder nicht?
Dazu rechne ich aktuelle WR Leistung - aktueller Verbrauch = aktuelle Einspeisung
Oder gibt der WR die aktuelle Einspeiung direkt aus?
Habe noch kein Huawei Smart Meter verbaut, und deswegen keine Daten zum Vergleich -
Ich bin zwar mit Grafana noch nicht ganz fertig, aber das sollte dir bereits helfen.
Die Variablen Preise für Strom import/export müsstest noch anpassen. Ich bin mir nicht sicher ob die im Panel direkt hinterlegt sind.
Die erste Zeile im Grafana sind die aktuellen Werte. Wochen/Monats/Jahreauswertung bin ich noch dran, dauert aber noch.
Fehler könnten auch noch vorhanden sein, müssten mal validieren.Gruß

-
Ich bin zwar mit Grafana noch nicht ganz fertig, aber das sollte dir bereits helfen.
Die Variablen Preise für Strom import/export müsstest noch anpassen. Ich bin mir nicht sicher ob die im Panel direkt hinterlegt sind.
Die erste Zeile im Grafana sind die aktuellen Werte. Wochen/Monats/Jahreauswertung bin ich noch dran, dauert aber noch.
Fehler könnten auch noch vorhanden sein, müssten mal validieren.Gruß

@ple
Ohne die entsprechenden Blockly Berechnungen wirds schwierig oder nicht?
trotzdem Danke für den Export -
@ple
Ohne die entsprechenden Blockly Berechnungen wirds schwierig oder nicht?
trotzdem Danke für den Export@fridolin01
Das wird alles in Grafana gemacht, kein blockly, kein Java. Das ist schon echt cool was man mit Grafana so machen kann.
Also wenn du meine Flow nimmst+ mein Dashboard und die Variablen für Stromkosten angelegt sind, müsste das so klappen.
Einzig im Flow müsstest du die pv Stränge ändern, da bei mir pv1,2,4,6,7,8 belegt sind. -
Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.
Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:
1. Wechselrichter korrekt konfigurieren:
Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
Zum Login in die App als Installateur braucht man ein Passwort: 00000a
Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme2. Node-Red installieren und Flow importieren:
Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
• node-red-contrib-calc
• node-red-contrib-buffer-parser
• node-red-contrib-modbusHat man das erledigt, kann man diesen Flow importieren:
Huawei_SUN2000_node_red_flow_read_write_2023-11.txt
Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)3. Hinweise:
Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
Im Flow werden die wichtigsten Größen aber schon abgefragt.4. Modbus-Register schreiben:
Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
• AC-Laden muss auf 1 stehen (Register 47087). Kann auch mMn permanent auf 1 bleiben.
• Battery Working Mode (Register 47086) kann zwischen 2 (Maximaler Eigenverbrauch) und 5 (TOU, zeitgesteuert Laden) umgestellt werden.
• Man definiert dann in der Huawei FusionSolar App unter Geräte - Dongle - Parametereinstellungen (die 4 Punkte oben rechts) einfach eine Zeit von 0:00 bis 23:59 jeden Tag "laden" (also den ganzen Tag). Dafür muss die Batterie auf TOU (5) gestellt sein.
• Sobald man jetzt per Modbus das Register 47086 von 2 auf 5 umschaltet, fängt die Batterie aus dem Netz an zu laden.
• Maximaler Ladestrom kann über Register 47075 eingestellt werden.
• Stellt man den Working Mode wieder zurück auf 2, hört das Netzladen auf und die Batterie verhält sich wieder "normal".Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.
5. Weiteres
5.1 Mehrere Wechselrichter abfragen
Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.
5.2 Aktuelle Firmware / Modbus Interface Definitions
Hier noch ein Link zu den aktuellen Firmware Versionen:
SUN2000 FirmwareVielen Dank an alle, die den Input geliefert haben!
Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.vielen, vielen Dank für die tolle Anleitung. Hat damit alles perfekt geklappt. Jetzt benötige ich nur noch eine(n) Idee/Tipp von Dir.
Ich habe einen Huawei mit 10 Kw Speicher. Im Moment lese ich die Energie-Daten mit node-red aus einem anderem System aus und würde diese gerne verwenden um die Huawei Batterie zu laden und zu entladen. Finde aber nicht die richtige Adresse um dies anzusteuern. Könnte ich mit den Ladewerten arbeiten? Hast Du eine Idee ?
Wäre sehr nett von Dir wenn Du mir Feedback gibst, danke
Michael -
vielen, vielen Dank für die tolle Anleitung. Hat damit alles perfekt geklappt. Jetzt benötige ich nur noch eine(n) Idee/Tipp von Dir.
Ich habe einen Huawei mit 10 Kw Speicher. Im Moment lese ich die Energie-Daten mit node-red aus einem anderem System aus und würde diese gerne verwenden um die Huawei Batterie zu laden und zu entladen. Finde aber nicht die richtige Adresse um dies anzusteuern. Könnte ich mit den Ladewerten arbeiten? Hast Du eine Idee ?
Wäre sehr nett von Dir wenn Du mir Feedback gibst, danke
Michael@softfruits
Hi. Ich bin mir nicht sicher, was Du meinst? Willst Du der Batterie sagen, wann sie laden und wann sie entladen soll?
Das macht sie ja eigentlich selber. Sobald Überschuss da ist, geht der in den Akku. Wenn Strom gebraucht wird, entlädt der Akku. Man kann die maximale Lade- und Entladeleistung festlegen, damit z.B. der Akku nicht entlädt, wenn man ein eAuto anklemmt. Aber soweit ich weiß kann man dem Akku nicht sagen: Hey, jetzt bitte aufladen.
Kannst Du nochmal genauer sagen was du möchtest? -
Ich bin zwar mit Grafana noch nicht ganz fertig, aber das sollte dir bereits helfen.
Die Variablen Preise für Strom import/export müsstest noch anpassen. Ich bin mir nicht sicher ob die im Panel direkt hinterlegt sind.
Die erste Zeile im Grafana sind die aktuellen Werte. Wochen/Monats/Jahreauswertung bin ich noch dran, dauert aber noch.
Fehler könnten auch noch vorhanden sein, müssten mal validieren.Gruß

@ple
Habe mich mal mit deinem Grafana Export beschäftigt.
Das Problem ist das alle deine Datenpunkte bei mir garnicht existieren.
Lese ich nicht genug Daten aus dem WR per Node Red?
Verstehe nicht wie du an die Datenpunkte kommst.
Das sind meine und auch die einzigen.

-
@ple
Habe mich mal mit deinem Grafana Export beschäftigt.
Das Problem ist das alle deine Datenpunkte bei mir garnicht existieren.
Lese ich nicht genug Daten aus dem WR per Node Red?
Verstehe nicht wie du an die Datenpunkte kommst.
Das sind meine und auch die einzigen.

@fridolin01
Du müsstest meinen Flow dafür nehmen. Ich weiß jetzt nicht wie man hier im thread den ersten Beitrag editieren kann, dann könnte man alles zusammen sammeln. Gibt ja noch etliche huawei Besitzer und vielen strömen wohl hier rüber -
@fridolin01
Du müsstest meinen Flow dafür nehmen. Ich weiß jetzt nicht wie man hier im thread den ersten Beitrag editieren kann, dann könnte man alles zusammen sammeln. Gibt ja noch etliche huawei Besitzer und vielen strömen wohl hier rüber@ple
Wenn du mir deinen Flow teilen würdest dann geht das sicher
Du meinst den in Node Red oder?
Oder hattest du den hier schonmal hinterlassen ? -
@ple
Wenn du mir deinen Flow teilen würdest dann geht das sicher
Du meinst den in Node Red oder?
Oder hattest du den hier schonmal hinterlassen ?@fridolin01
Ja, das mach ich heute Abend eben. -
@fridolin01
Ja, das mach ich heute Abend eben.@ple Perfekt Danke
-
@ple Perfekt Danke
@fridolin01
So hier mal mein Export.
die Variablen, da musst mal gucken ob die mit exportiert wurden, ansonsten noch mal melden.
Wenn du Fehler findest, gib mal eben Bescheid.
