Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hilfsbedürftiger last edited by Hilfsbedürftiger

      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

      Bild 2.png Bild 1.jpgBild 3.png

      Samson71 B 2 Replies Last reply Reply Quote 0
      • Samson71
        Samson71 Global Moderator @Hilfsbedürftiger last edited by

        @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.

        1 Reply Last reply Reply Quote 0
        • H
          Hilfsbedürftiger last edited by Hilfsbedürftiger

          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
          
          1 Reply Last reply Reply Quote 0
          • B
            badsnoopy667 @Hilfsbedürftiger last edited by badsnoopy667

            @hilfsbedürftiger

            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?

            H 1 Reply Last reply Reply Quote 0
            • H
              Hilfsbedürftiger @badsnoopy667 last edited by

              @badsnoopy667

              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.

              1 Reply Last reply Reply Quote 0
              • JohGre
                JohGre last edited by

                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.
                ff7d8539-e6a3-4693-b12b-55af763cf02e-image.png

                Würde das gerne aus einem Script triggern da ich aWattar-Kunde bin und zum günstigsten Zeitpunkt die Batterlie laden möchten.

                B 1 Reply Last reply Reply Quote 0
                • B
                  badsnoopy667 @JohGre last edited by badsnoopy667

                  @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?

                  JohGre 1 Reply Last reply Reply Quote 0
                  • JohGre
                    JohGre @badsnoopy667 last edited by

                    @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?

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      badsnoopy667 @JohGre last edited by

                      @johgre
                      Ich würde erwarten: Ja

                      JohGre 1 Reply Last reply Reply Quote 0
                      • JohGre
                        JohGre @badsnoopy667 last edited by

                        @badsnoopy667 Das wars, danke

                        1 Reply Last reply Reply Quote 0
                        • Chris M
                          Chris M last edited by Chris M

                          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,

                          1 Reply Last reply Reply Quote 0
                          • M
                            marcelinho last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • geo-ioan
                              geo-ioan @badsnoopy667 last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • B
                                badsnoopy667 last edited by

                                @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?

                                geo-ioan 1 Reply Last reply Reply Quote 0
                                • geo-ioan
                                  geo-ioan @badsnoopy667 last edited by

                                  @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) 
                                  
                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MaGe @geo-ioan last edited by

                                    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.
                                    78731b54-8d16-4e07-a778-57b33e7e27d0-grafik.png
                                    Filter node
                                    99fb44f9-097e-466d-9a6e-86766fe0800e-grafik.png
                                    ioBroker node
                                    6c44dfde-c7cc-4cbb-b61d-0b58717b9576-grafik.png

                                    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.
                                    f53dc1d7-8d19-433c-93a8-725ae24549e4-grafik.png
                                    An der Übergabe scheiter ich gerade.

                                    Habt ihr einen Tipp für mich?

                                    Gruß
                                    Markus

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @MaGe last edited by mickym

                                      @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.

                                      907e1060-2714-4311-90ae-5aa00bbb45a3-image.png

                                      Also:

                                      1. Measurement - topic in msg.measurement
                                      2. payload als Objekt mit {topic:payload}

                                      Also die Hilfe anschauen, hilft meist.

                                      c89d4222-06f3-42de-88ed-6320b2d622b8-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        MaGe last edited by MaGe

                                        @mickym Du hast natürlich recht. Da war ja was....
                                        Doku lesen, dann fällt der Groschen. 🙂
                                        c1c574d2-8edd-4937-a2b0-a9d49bca5d04-grafik.png

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MaGe last edited by MaGe

                                          gelöscht

                                          geo-ioan 1 Reply Last reply Reply Quote 0
                                          • geo-ioan
                                            geo-ioan @MaGe last edited by

                                            Hallo Leute,
                                            Nach Paar Jahre stabiler Funktion, habe ich zuletzt Probleme mit vielen Timeouts und Fehler. Aus den o.g. Gründen nach Alternative gesucht und tatsächlich seit Oktober einen neuen Adapter gefunden was unsere Bemühung mit dem Node-Red und schreiben/lesen der Register überflüssig macht.

                                            https://forum.iobroker.net/topic/71768/test-adapter-sun2000-v0-1-x-huawei-wechselrichter

                                            Ich habe es ausprobiert und funktioniert gut.
                                            Mit dem Steuern der Wallbox gibt es vielleicht auch Lösungen seit der EMMA ... aber noch nicht fertig ...
                                            Gruß.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            935
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            110
                                            573
                                            164652
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo