NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
@doom-86
Hauptsache ist, dass alles passt.
Freut mich, wenn es funktioniert! -
Hallo Leute,
ich habe versucht alles zu lesen und zu verstehen aber bei mir funktioniert nicht (ich kriege keine Werte gezeigt und im Debug kommt immer weider Getter -> Inject while node is not ready for input.)
Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.
Die Datenpunkten musste ich händisch anlegen - ging nicht auch wenn das Häckchen in der Node-RED Instanz gesetzt war.
Könnt ihr mir weiter helfen ?
DAnke. -
@geo-ioan said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Hallo Leute,
ich habe versucht alles zu lesen und zu verstehen aber bei mir funktioniert nicht (ich kriege keine Werte gezeigt und im Debug kommt immer weider Getter -> Inject while node is not ready for input.)
Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.
Die Datenpunkten musste ich händisch anlegen - ging nicht auch wenn das Häckchen in der Node-RED Instanz gesetzt war.
Könnt ihr mir weiter helfen ?
DAnke.2023-11-28 02:44:56.400 - warn: node-red.0 (1008) 28 Nov 02:44:56 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
-
@geo-ioan said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.
Hast Du die ID auch in allen Modbus Nodes geändert? Das sind die ganzen orangen Nodes vorne mit den Registernummern drin.
-
-
@geo-ioan
Hast Du mal versucht den Großteil des Flows zu deaktivieren und nur ganz wenige Register abzufragen? Oder das Abfrageintervall deutlich zu erhöhen? Geht es dann? Die Fehlermeldung klingt mir ein bisschen nach zu vielen Anfragen. -
@badsnoopy667
Ich habe gerade das auch versucht. Ich kriege aber gar keine Info in den Objekten (hat noch keine Werte ausgelesen).
Die Objekte sind richtig angelegt und Verlinkt in den Flows.
Zeigt er auch den gleichen Fehler wenn keine Daten von WR kommen ?
Habe ich vielleicht eine andere UnitID oder Port ?Danke dir.
-
@geo-ioan
Hmmm. Jetzt kommt der Fehler nicht mehr jede Minute (Abfrage Intervall) sondern nur am Anfang.
Ich kriege trotzdem keine Daten. -
@geo-ioan
Läuft bei dir noch irgendwas anderes, was per Modbus auf den WR zugreift? Das kann immer nur eine Verbindung gleichzeitig. -
@badsnoopy667
Da ist nichts anderes verbunden ... -
@geo-ioan Hast Du mal die ID 0 versucht? Oder 2 oder 16?
Ich würde wieder nur einen Teil des Flows testen, dann musst du weniger Nodes ändern.
Bzw. mal im WR nachsehen, welche ID eingetragen ist?
Modbus TCP ist aktiviert im WR? -
@badsnoopy667
Bleibt Port 502 ? -
@geo-ioan Ja, der sollte passen
-
@badsnoopy667 - leidet auch nichts gebracht ... ich muss mich nochmal absichern dass im WR das Protokoll aktiviert wurde
-
Es lag am Solateur !!! Seit 1 Woche hatte er es nicht geschafft den ModbusTCP einzuschalten ... jetzt geht das !
Danke für eure Arbeit !!! -
Hallo,
ich habe die Vorschläge hier benutzt aber wollte bei den Abfageintervallen etwas flexibler sein da ich zunächst gar nich wusste was ich alles abfragen möchte.
Mir hat die NodeRed Info gesagt ich solle bei mehrern Abfragen den flex getter nutzen. Das habe ich gemacht und das läuft seit ein paar Wochen problemlos. Ist jetzt nichts neues nur ein paar Ideen aus diversen Beiträgen hier vermischt damit es für mich passt.
Hier der Flow zum importieren:
flow_FlexGetter_Olli_v1.jsonAnbei auch nochmal die Modbus Register Definitions
Solar Inverter Modbus Interface Definitions.pdf -
Hallo, ich versuche gerade meinem Akku beizubringen, dass er Laden soll. Das klappt auch soweit, jedoch habe ich noch nicht herausgefunden, wie ich es schaffe, dass ich ihm die maximale Ladeleistung sagen kann.
[Energ y storag e]Max imum chargi ng power
RW
UIN T32
W
1
47075
2
[0, Upper thres hold]
Defau lt value: 3500;
√Kann mit jemand erklären, wie ich das Register 47075 mit der Zahl 3000 schreiben kann im Format UINT32?
ich habe ein inject als string mit dem Wert 3000. Wie bekomme ich nun am ende das richtige ins register?
Das wird mir angezeigt, wenn ich das register auslese.
08d78b3f162110b7 : msg.payload : Object object data: array[2] 0: 0 1: 5000 buffer: buffer[4] 0: 0x0 1: 0x0 2: 0x13 3: 0x88
Vielen Dank schon mal
-
Hi,
ich nutze auch den Flow für die Auswertung meines Huawei. Danke dafür, klappt soweit erst mal einwandfrei.Leider ist immer mal wieder so, dass der Flow seine Arbeit einstellt. D.h. die Werte werden dauerhaft nicht mehr aktualisiert. "Flow neu starten" löst das Problem sofort, allerdings ist dies ja keine produktive Lösung. Fehlermeldungen sehe ich keine.
Gibt es einen Tipp, was dies verursachen könnte oder noch besser Lösungen?
-
Hallo zusammen
ich habe es tatsächlich geschafft, mich mit mit der Huawei PV zu verbinden. Das Modell vom Inverter wird schon einmal ausgegeben. Insofern müssen ja IP und ID ( in meinem Fall 1) stimmen. Ich habe 2 WR.
Die DTU liefert mir allerdings bei dem Register 37113 nur eine 0
auch die anderen Werte wie Frequenz oder Grid Voltage der Phasen liefert eine 0
Jemand ne Idee, woran es liegen könnte?
Oder Stimmen die Register nicht mehr.....oder liegt es evtl daran, dass ich 2 WR habe?
P.s. wenn ich in dem flow oben beim Node Model eine 2 als ID eintrage, spuckt er mir das selbe WR Modell aus....obwohl ich einen 8ktl und einen 6 ktl habe -
@cksoft
Hast du einen Intervall laufen?
Am Anfang ein Input Node das alle x Sekunden sendet.