NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
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)
-
Hallo zusammen,
jetzt ist es schon eine Weile her, dass ich meinen node-red flow erstellt habe.
Nun wollte ich diesen anpassen und stehe gerade auf dem Schlauch.Aktuell übergebe ich meine Eigenschaften "msg.payload" mit dem "msg.topic" direkt an den iobroker.
Filter node
ioBroker node
Nun möchte ich den topic und den payload an die InfluxDB 2 direkt weitergeben.
D.h. in der InfluxDB 2 soll der topic das _measurement und der payload als _field value übergeben werden.
Die Verbindung zum bucket habe ich hergestellt.
An der Übergabe scheiter ich gerade.Habt ihr einen Tipp für mich?
Gruß
Markus -
@mage Man sollte halt mal die Hilfe zu der Node anschauen. Ausserdem musst Du ja einen Wert übergeben und deshalb kannst Du doch nicht die payload mal schnell als field verwenden.
Also:
- Measurement - topic in msg.measurement
- payload als Objekt mit {topic:payload}
Also die Hilfe anschauen, hilft meist.
-
@mickym Du hast natürlich recht. Da war ja was....
Doku lesen, dann fällt der Groschen.