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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 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.
    • S
      Spexx last edited by

      Also ich hatte Problem, dass bei mir die Datenpunkte nicht unter 0_userdata.0 durch NodeRed angelegt worden sind. Hierfür ist es wohl erforderlich, dass in den NR Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird. Ich weiss nicht ob das irgendwo im Thread bereits mal erwähnt wurde, aber vielleicht kann man das noch im Eingangspost ergänzen...?

      Ich habe aber noch zwei andere Fragen:

      1. Bei mir wird seid dem ich NR am Laufen habe, in Fusion Solar eine Batterie angezeigt (obwohl ich keine installiert habe). Ich kann sie zwar manuell wieder rauslöschen, kürze Zeit später taucht sie aber wieder auf.

      Kennt jemand dieses Verhalten? Ich habe alle Register deaktiviert, über welche Batteriedaten abgefragt werden...

      1. Im NR Flow werden Register ausgelesen wie z.B. die Grid Voltage über 37101. Ich konnte in der Modbus pdf-Beschreibung dieses Register aber nicht finden, gibt es noch eine andere Beschreibung oder woher kommen diese Informationen?
      1 Reply Last reply Reply Quote 0
      • F
        firebowl last edited by

        Bei mir werden viele Datenpunkte als Objekt angelegt anstatt als Zahl und das wird bei jeder Änderung als Meldung im ioBroker log ausgegeben:

        node-red.0
        2023-02-11 17:31:57.504 info State value to set for "0_userdata.0.Huawei.Inverter.Efficiency" has to be type "number" but received type "object"

        Ich hab jetzt schon bei den Objekten bei denen es mir aufgefallen ist im Flow den "Payload Type" geändert und auch im ioBroker den Typ des Datenpunkts. Klappt aber scheinbar nicht bei allen Werten.

        Bin aber absoluter Node-RED noob, hab den Adapter gerade und nur für meinen Wechselrichter installiert weil die Solaranzeige auf meinem Raspi seit Tagen herumzickt.

        Außerdem hab ich einen kleinen Schönheitsfehler im Flow gefunden. 😉
        Bei Battery_SOC ist als Unit W angegeben, müsste aber ein % sein weil man ja den Prozentwert der Batterie haben möchte.

        Und jetzt das wichtigste: vielen Dank für die Anleitung und den Flow!

        1 Reply Last reply Reply Quote 0
        • F
          firebowl last edited by

          Blöde Frage aber ich Blick bei den erzeugten Datenpunkten nicht so 100%ig durch.
          Sehe ich das richtig, dass es keinen gibt für den Strom den das Haus gerade verbraucht?
          Über Solaranzeige gab es Grafana Dashboards die das angezeigt haben.

          1 Reply Last reply Reply Quote 0
          • S
            Spexx last edited by

            Wie habt ihr das denn gemacht, um die Leistung des WR anzuzeigen wenn auch noch eine Batterie angeschlossen ist?

            Der Wert "Active_Power" gibt ja die Ausgangsleistung des WR an. Der Wert bleibt aber auf 0W, sofern die gesamte Leistung in die Batterie fließt. Andererseits wird aber auch eine Leistung nachts angezeigt, wenn Strom aus der Batterie entnommen wird...

            Um herauszufinden was der WR aktuell an Sonnenenergie produziert, berechne ich einfach Active_Power + Battery_Power, richtig? Oder gibt es hierfür einen separaten Datenpunkt?

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

              @spexx @firebowl

              Ich hatte weiter oben mein Blockly Script gepostet wo ich mir die ganzen fehlenden Werte selber errechne:

              https://forum.iobroker.net/topic/51639/howto-huawei-sun2000-wr-modbus-mit-node-red-read-write/139

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

                @badsnoopy667 Cool, vielen Dank! Hat mich gerade zwar etwas Arbeit gekostet weil deine Datenpunkte nicht automatisch angelegt werden, aber jetzt sieht es gut aus. 🙂

                J 1 Reply Last reply Reply Quote 0
                • J
                  joeysch @firebowl last edited by

                  Hat schon mal jemand versucht, die Leistung des Wechselrichters über "write" zu drosseln oder den Wechselrichter abzuschalten? (Hab eine KTL30-M3)
                  Hintergrund ist, das ich DIY Akkus mit Victron am laufen hab, ich würde das Ganze aber gern Notstrom fähig machen. Dazu muß ich aber zwingend den Wechselrichter runterfahren können bzw. ganz abschalten. Faktor 1 Regel.

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

                    @badsnoopy667

                    Ich habe schon seit langem das Problem, dass mir regelmäßig folgende Meldungen angezeigt werden. Dann wird der Abruf der Register abgebrochen. Ich bekomme manchmal mehr und manchmal weniger Daten bis zu der Meldung.

                    node-red.0
                    2023-02-24 20:55:11.124	warn	24 Feb 19:55:11 - [warn] [modbus-client:ModBus-TCP] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
                    node-red.0
                    2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init in 2000 ms TCP@192.168.1.119:502 default Unit-Id: 1
                    node-red.0
                    2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init state after reconnecting TCP@192.168.1.119:502 default Unit-Id: 1
                    node-red.0
                    2023-02-24 20:55:07.117	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1 24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm reconnect state after broken Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
                    node-red.0
                    2023-02-24 20:55:07.116	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
                    

                    Mein Dongle ist auf Version 133
                    Meine WR (8KTL und 10KTL) auf Version 151
                    Die Batterie auf Version 118

                    Hat jemand eine Idee woran es liegen kann?

                    Ich habe hier noch mal meine Version des Note-Red Skriptes angehängt. Dazu ist allerdings zusagen, dass ich auch mit dem Original diese Probleme habe.
                    Note-Red Modbus Huawei.txt

                    Danke euch für die Hilfe.

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

                      @a1uca2d
                      Hat der Dongle eine stabile WLAN Verbindung? Was anderes fällt mir dazu leider nicht ein.

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

                        @badsnoopy667
                        Der dongle ist per LAN angeschlossen.
                        Daher sind WLAN kein Thema sein

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Fridolin01 @A1uca2d last edited by

                          Leider schmeisst meine Node Red Instanz auch dann und wann komische Warnmeldungen die ich als Node Red Noob nicht verstehe.

                          Kann mir jemand erklären was dieser broken state ist?
                          Und wie ich das behebe?

                          node-red.0
                          	2023-02-27 19:45:41.128	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
                          node-red.0
                          	2023-02-27 19:45:41.127	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
                          node-red.0
                          	2023-02-27 19:45:18.552	warn	27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 
                          
                          A 1 Reply Last reply Reply Quote 0
                          • A
                            A1uca2d @Fridolin01 last edited by

                            @fridolin01 @badsnoopy667
                            Ich glaube mittlerweile, dass es an der Anzahl der Abfragen lag.

                            Habe bei meinen ModBus Getter mal in den Optionen "Show Errors" angeschaltet.
                            dba00d7a-078c-49f6-aa8e-7c6091d528a2-image.png

                            Da habe ich die Meldung erhalten, dass der Controller zu viele anfragen bearbeiten musste.
                            Ich habe das Abfrageintervall nun auf 18Sek gesetzt.
                            a3f62468-597b-422e-91a5-5ae44d484d83-image.png

                            Und hier mein überarbeiteter kompletter Flow:


                            flows.json

                            Hat vielleicht jemand eine Idee, warum mein Dongle mit der "hohen" Abfragerate ein Problem hat und die anderen Teilnehmer im Forum wohl eher nicht?

                            S M 2 Replies Last reply Reply Quote 0
                            • S
                              stoffel67 @A1uca2d last edited by

                              Hallo,
                              ich versuche aktuell meinen SUN2000 WR mit node-red auszulesen.
                              beim Start von node-red bekommen ich folgende "warnings" im log:

                              node-red.0
                              2023-03-03 11:11:31.544	warn	3 Mar 11:11:31 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
                              
                              node-red.0
                              2023-03-03 11:11:31.050	warn	3 Mar 11:11:31 - [warn] Verwende unverschlüsselte Credentials
                              
                              node-red.0
                              2023-03-03 11:11:04.662	info	Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
                              
                              node-red.0
                              2023-03-03 11:11:00.476	info	Requested NPM packages: ["node-red-contrib-calc","node-red-contrib-buffer-parser","node-red-contrib-modbus"]
                              
                              node-red.0
                              2023-03-03 11:11:00.382	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                              
                              node-red.0
                              2023-03-03 11:10:50.753	info	Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                              
                              node-red.0
                              2023-03-03 11:10:50.365	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                              

                              was ist hier falsch? bin absoluter Neuling in "node-red"...

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

                                @stoffel67
                                Ich glaube du musst die drei NPM Packages noch in der Instanz hinzufügen. Habe ich im ersten Post beschrieben.

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

                                  @badsnoopy667
                                  Die müßte ich doch drin haben
                                  C152AF6C-D772-48F3-A94C-0B1496141E61.jpeg

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    stoffel67 @stoffel67 last edited by

                                    Ohh, im Dongle war ModBus-TCP nicht aktiviert…
                                    Und schon gehts…allerdings sehr wenig Werte, oder ist das OK?

                                    370EBD88-30EF-42B2-BFF1-7EA8DA1159CA.jpeg

                                    Kann man die Daten der zwei MPP getrennt ausgeben?

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      stoffel67 @stoffel67 last edited by

                                      Warum werden einige der Werte nicht angelegt/ausgegeben?
                                      5CB5D16E-5871-4048-A28E-64DEEDA089FF.jpeg

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        madmat17 @stoffel67 last edited by madmat17

                                        @stoffel67
                                        Es sieht so aus, als wären die Nodes bei dir inaktiv. Doppklick darauf -> Register "Setup" -> ganz links unten von Disabled auf Enabled umstellen und neu deployen.

                                        Frage in die Runde:
                                        Seit wenigen Tagen bekomme ich keinen Wert mehr aus den Registern 37015 (Battery - current day charge capacity) und 37017 (Battery - current day discharge capacity). Hat jeman ähnliches beobachtet? Früher bekam ich dort immer sauber die Werte...
                                        Alle anderen Register geben die Werte wie gewohnt aus.
                                        Dongle läuft auf FW Version V100R001C00SPC130
                                        Inverter (SUN2000-6KTL-M1) läuft auf FW Version V100R001C00SPC150

                                        Lösung gefunden: Die Register 37015 & 37017 sind jene, mit denen die Werte der einzelnen Akku-Module ("Engery Storage Unit") ausgelesen werden. Scheinbar sind diese plötzlich maskiert (wenngleich ich kürzlich kein FW-Update vorgenommen hatte - aber evtl. war das auch ein forced update) und werden über den TCP-MODBUS nicht mehr ausgegeben.
                                        In den JSONs weiter oben werden ebenfalls diese Register abgefragt (war dann OK, solange man nur einen Akku hatte - inzwischen wie gesagt nicht mehr zu gebrauchen).
                                        Lösung: Auf jene Register ausweichen, welche die Werte aller Akkumodule zusammenfassen. Auf der HUAWEI-Seite habe ich gerade die vollständige MODBUS Interface Definition nicht gefunden, kann man aber hier nachschlagen (Version 04 vom 29.03.2022 - direkter Link). Die Abfrage über die dort angegebenen Register 37784 und 37786 funktioniert klaglos.

                                        LG,
                                        Mat

                                        S 1 Reply Last reply Reply Quote 1
                                        • M
                                          madmat17 @A1uca2d last edited by

                                          @a1uca2d

                                          Das Thema mit den Abfragen kannst du auch anders umschiffen.
                                          Du kannst mehrere Register auf einmal abfragen (ich habe zB in 2 Abfragen alles drinnen - da ein recht großer Adressbereich für mich nicht so interessant ist):

                                          • Register 32000-32116:
                                            cf21b6ea-6e0d-422f-a361-79df4952364e-image.png
                                            Die Abfrage triggert dann die zweite Abfrage
                                            edd8206a-900b-4843-b7c4-87fec141bf81-image.png

                                          • Register 37000-37125:
                                            6fda4d92-475f-4c9c-b144-a09d33432e6c-image.png

                                          Die Daten laufen dann durch einen edit puffer-parser node, werden in einem join-node zusammengefügt und (in meinem Fall) auf einmal in eine InfluxDB geschrieben:
                                          2f3e0ad6-6c9f-458e-bc19-7af60b771b51-image.png

                                          Nur als Anregung bzw. Idee, wenn man den Overhead der Register-Anfragen reduzieren möchte. 😉

                                          Gruß,
                                          Mat

                                          B W Christof Lewandowski 3 Replies Last reply Reply Quote 0
                                          • B
                                            badsnoopy667 @madmat17 last edited by

                                            @madmat17
                                            Das klingt spannend. Kannst du deinen Flow Mal Posten? Danke Dir!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            551
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            110
                                            573
                                            176459
                                            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