NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
Hallo Zusammen,
hat jemand schon geschafft die Wallbox zu steuern ?
Danke. -
Hallo, nachdem ich geschätzt 2000 Kommentare gelesen habe, konnte ich keine Lösung für mein Problem finden. Ich habe mir einen zweiten Wechselrichter zugelegt und kaskadiert. Als Master dient ein 4 KTL und als Slave ein 5 KTL. In den Einstellung hat der 4 KTL als Master bei bei RS485 die Komm-Adresse 1 und der 5 KTL hat die 2. In der FusionSolar App wird dies auch alles richtig angezeigt und zusammengerechnet. Im Node Red konnte ich vorher die Daten aus dem 4 KTL auch entsprechend auslesen. Jetzt habe ich natürlich den 5 KTL in Node Red hinzugfügt und die Units sind auch entsprechend mit 1 und 2 gesetzt. Server ist der 4 KTL mit der Unit 1. Wenn ich alles richtig verstanden habe, sollten jetzt alle Werte, auch die vom zweiten WR über den Master abgefragt werden. Jedoch wurden mir bei beiden Units unter beiden 32080 immer nur die Werte vom Master angezeigt. Ich habe auch mit den Abfrageintervallen sehr großzügig ausprobiert, jedoch ohne erfolg. Wenn ich jedoch bei dem 5 KTL einen zweiten Server mit der Unit 2 hinzufüge, und dann dort die Unit 2 vom WR auslese dann klappt es. Ist das so richtig oder sollte das nur mit einem Server klappen? Jetzt bekomme ich nämlich jede Minute ca. 10 Warnmeldungen, wo ich leider völlig überfordert bin.
Falls mir jemand helfen kann, würde ich mich sehr freuen. Danke
-
@hilfsbedürftiger
Logs bitte als Text in Code-Tags </> einbetten und nicht als Screenshot. Diese Mäusekino Screenshots kann man auch nicht vernünftig lesen, wenn man nicht gerade vor einem fetten 4K Monitor sitzt, sondern nur mobil unterwegs ist. -
node-red.0 2024-08-28 23:46:45.275 warn Node-RED: 28 Aug 23:46:45 - [warn] [modbus-client:2er WR] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:43.271 warn Node-RED: 28 Aug 23:46:43 - [warn] [modbus-client:2er WR] Client -> fsm init in 2000 ms TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:43.269 warn Node-RED: 28 Aug 23:46:43 - [warn] [modbus-client:2er WR] Client -> fsm init state after reconnecting TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:41.266 warn Node-RED: 28 Aug 23:46:41 - [warn] [modbus-client:2er WR] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 228 Aug 23:46:41 - [warn] [modbus-client:2er WR] Client -> fsm reconnect state after broken Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:41.265 warn Node-RED: 28 Aug 23:46:41 - [warn] [modbus-client:2er WR] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:15.678 warn Node-RED: 28 Aug 23:46:15 - [warn] [modbus-client:2er WR] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:13.668 warn Node-RED: 28 Aug 23:46:13 - [warn] [modbus-client:2er WR] Client -> fsm init state after reconnecting TCP@192.168.178.80:502 default Unit-Id: 228 Aug 23:46:13 - [warn] [modbus-client:2er WR] Client -> fsm init in 2000 ms TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:11.667 warn Node-RED: 28 Aug 23:46:11 - [warn] [modbus-client:2er WR] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 228 Aug 23:46:11 - [warn] [modbus-client:2er WR] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 228 Aug 23:46:11 - [warn] [modbus-client:2er WR] Client -> fsm reconnect state after broken Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2 node-red.0 2024-08-28 23:46:00.729 warn Node-RED: 28 Aug 23:46:00 - [warn] [modbus-client:2er WR] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.178.80:502 default Unit-Id: 2
-
Hast Du mal den "Flow mit Multi-Abfrage" aus meinem 1. Post probiert? Das mit dem 2. WR kann ich leider immer nicht selber testen, habe nur einen. Aber da müsste ein Beispiel drin sein.
Und wenn ich mich richtig erinnere, bedeutet die Warnmeldung erstmal nur, dass zu viele Daten abgefragt wurden und das System am Limit ist. Die Daten kommen aber alle, oder?
-
Hallo, den Multiflow habe ich probiert, da habe ich das gleiche Problem, das beim zweiten WR die gleichen Werte wie beim ersten WR angezeigt werden. Die Warnmeldung von zu vielen Abfragen kann doch nicht sein, ich frage ja nur drei Werte ab pro WR ab. Diese werden auch richtig angezeigt.
-
Hallo @badsnoopy667,
bin gerade dabei den Punkt 4.1 Zeitgesteuertes Laden .. zu implementieren, alle Punkte nach Anleitung durchgeführt, btw. Danke dafür den Flow der läuft nun seit 2 Jahren problemlos bei mir.
Das aktivieren von TOU in der APP funktioniert und die LUNA beginnt das Laden aus dem Netz.
Das schreiben auf das Register 47086 funktioniert bei mir leider nicht nicht. Wert wird nicht auf 5 geändert.
Würde das gerne aus einem Script triggern da ich aWattar-Kunde bin und zum günstigsten Zeitpunkt die Batterlie laden möchten.
-
@johgre said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
steuertes Laden .. zu implementieren, alle Punkte nach Anleitung durchgeführt, btw. Danke dafür den Flow der läuft nun seit 2 Jahren problemlos bei mir.
Was steht denn in Deiner function-Node? Bei mir steht da:
var sa = 50; // Startadresse des Registers var address = 1; // Adressen des Registers var value = msg.payload; // Wert, den du schreiben möchtest (16-Bit) var buf = Buffer.alloc(2); buf.writeUInt16BE(value); // Schreibe den 16-Bit Wert in den Buffer msg.payload = { 'fc': 6, // Funktion 6 für das Schreiben eines einzelnen Registers 'unitid': 2, // Modbus-Geräte-ID 'value': buf.readUInt16BE(0) // Lese den Wert aus dem Buffer }; return msg;
Die Orange-Node ist vom Typ "FC6: Preset Single Register"
Was mir sonst noch einfällt wenn alles korrekt ist: Das Schreiben funktioniert bei mir nur, wenn ich während des Schreibens für ein paar Sekunden das Lesen beende. Anscheinend reicht die Bandbreite für beides nicht aus. Weiß gerade nicht, ob diese "setze flow.pause" funktion schon implementiert ist bei dir.
PS: Korrekte Unit-ID eingetragen?
-
@badsnoopy667
Hi, danke für die schnelle Antwort.
function-Node Code sieht exact gleich aus, wobei mir jetzt einfällt ich habe ja Unit-ID 1. dh. ich muss die da jetzt im function-Node auch ändern? -
@johgre
Ich würde erwarten: Ja -
@badsnoopy667 Das wars, danke
-
Ich hätte auch nochmal eine Frage zum Schreiben..
Ich hab ebenfalls einen Node-Red Flow bei dem ich alle Sachen meiner Kaskade auslese. Ich nutze dazu aber als Verbindung die Wechselrichter direkt und nicht den SDongle auf Grund der Geschwindigkeit.
Nun wollte ich AC-Laden (Register 47087) bei der Batterie bei Bedarf schreiben. Mit dem Beispiel aus dem Initial Post funktioniert das nur wenn ich als "Server" den SDongle auswähle nicht aber wenn ich auch hier den Wechselrichter als Modbus Server angebe. Muss in der Node "function" irgendwas am Code geändert werden? Unterschied beim Lesen ist ja nur, dass ich da z.b. keine Unit-ID brauche, -
Hallo zusammen, habe im Fusion Portal folgende Meldung bekommen...
Ist das evtl. ausschlaggebend zu den Nodered Flows ?Wichtiges Update zur IP-Verbindung von FusionSolar
Sehr geehrter Benutzer/Sehr geehrte Benutzerin, bitte beachten Sie, dass die von Ihrem Unternehmen verwalteten Geräte über einen bestimmten Domainnamen mit FusionSolar verbunden sind. Der Zugriff auf das System über den Domainnamen bleibt unverändert, wodurch sichergestellt wird, dass Ihre Geräte eine kontinuierliche Verbindung zu FusionSolar aufrechterhalten. Es ist jedoch möglich, dass einige Geräte über eine IP-Adresse mit FusionSolar verbunden sind. Aufgrund von Systemaktualisierungen wird die IP-Adresse von FusionSolar bis Ende 2024 geändert. Wenn Ihre Geräte derzeit über eine IP-Adresse verbunden sind, werden sie offline geschaltet, sobald die IP-Adresse geändert wird. Daher empfehlen wir Ihnen zu überprüfen, ob Ihre Geräte über eine IP-Adresse mit FusionSolar verbunden sind. Wenn sie über eine IP-Adresse verbunden sind, aktualisieren Sie bitte die Konfiguration, um den folgenden Domainnamen zu verwenden: region04eu5.fusionsolar.huawei.com Weitere Informationen zu dieser Änderung finden Sie unter: https://support.huawei.com/enterprise/en/doc/EDOC1100414730 Bei Fragen wenden Sie sich bitte an: eu_inverter_support@huawei.com. Vielen Dank für Ihre Unterstützung und Ihr Verständnis. -
Bin ich der einzige der Fehler hat ?
Seit mehrere Wochen habe ich Probleme mit haufenweise Fehler in den Logs:Copy to Clipboard
node-red.0 2024-11-17 21:13:59.751 warn Node-RED: 17 Nov 21:13:59 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
node-red.0 2024-11-17 21:13:59.750 warn Node-RED: 17 Nov 21:13:59 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
node-red.0 2024-11-17 21:13:28.040 warn Node-RED: 17 Nov 21:13:28 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
node-red.0 2024-11-17 21:13:28.039 warn Node-RED: 17 Nov 21:13:28 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
node-red.0 2024-11-17 21:13:11.526 warn Node-RED: 17 Nov 21:13:11 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
node-red.0 2024-11-17 21:13:11.525 warn Node-RED: 17 Nov 21:13:11 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.0.73:502 default Unit-Id: 1
ich kriege zwar die Daten gelesen aber kann nichts senden ... oder sehr selten.
Auch in einer Linux Umgebung das gleiche Problem ...PlatformBetriebssystem:win32
Architektur:x64
CPUs:4
Geschwindigkeit:1498 MHz
Modell:Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
RAM:7.4 GB
System-Betriebszeit:02:50:09
Node.js:v20.18.0
time:1731875819824
timeOffset:-60
NPM:10.8.2
Adapter-Anzahl:546
Datenträgergröße:445.8 GB
Freier Festplattenspeicher:276.9 GB
Aktive Instanzen:19
Pfad:C:\iobroker\SmartHome\ioBroker
Betriebszeit:02:49:42
aktiv:true
_nodeCurrent:20.18.0
_nodeNewest:20.18.0
_nodeNewestNext:20.18.0
_npmCurrent:10.8.2
_npmNewest:10.8.2
_npmNewestNext:10.8.2 -
@geo-ioan said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
ich kriege zwar die Daten gelesen aber kann nichts senden ... oder sehr selten.
Auch in einer Linux Umgebung das gleiche Problem ...Du musst vor dem Senden das Lesen pausieren, gleichzeitig mag er nicht. Ich habe bei mir eine Abfrage eingebaut beim lesen, die prüft, ob die Variable "Pause" auf false steht. Beim Schreiben wird die Variable Pause für 20 Sekunden auf true gesetzt, dann wird 5 Sekunden gewartet und dann geschrieben.
MMn bedeuten die Warnungen nur, dass zu viel Traffic ist. Ist die Verbindung zum WLan Stick schlecht?
-
@badsnoopy667
Hallo Badsnoopy,
Danke für deine Antwort.
Ich benutze seit einem Jahr fehlerfrei das Nodebeispiel hier am Anfang. Erst seit einige Wochen das Problem aufgetreten. (vielleicht nach Node Update ?). Es ist alles verkabelt.[Nodes.json](/assets/uploads/files/1732139496386-nodes.json)