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.
    • T
      ts_482 @joschipp last edited by

      @joschipp said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

      Ich hab für meine Anwendung eine schnelle Abfrage einiger Register benötigt, und die restlichen werden seltener benötigt. Das hab ich jetzt folgendermaßen realisiert (basierend auf Vorschlägen weiter oben - vielen Dank dafür):
      01.PNG

      Count 3 ist ein Zähler, der 3 Ausgänge durchtaktet, der 1. Ausgang triggert die Abfrage vom Meter.Active_Power, den Wert will ich häufig aktualisiert haben. Sobald die Daten empfangen wurden, geht die Meldung über den Link zurück an die Trigger - Funktion. Die triggert den Count 3, und der zählt weiter auf den 2. Ausgang und triggert die Abfrage vom Inverter.Active_Power (brauch ich auch häufig).
      Der 3. Ausgang triggert dann einen Zähler mit 25 Ausgängen:
      02.PNG
      Hier wird die Abfrage der restlichen 25 Register, die ich nicht häufig brauche, getriggert.
      Die Trigger Funktion hat auch noch eine Timeout - Überprüfung, wenn mal keine Antwort kommen sollte, dann wird nach 5 Sekunden getriggert.
      Damit werden jetzt die beiden wichtigen Register alle 1-2 Sekunden aktualisiert und der Rest langsamer.
      Mit dieser Lösung hab ich sicher gestellt, das eine Abfrage erst bzw. sofort nach dem Empfang der vorigen Abfrage erfolgt, somit hat man die max. Geschwindigkeit und keinen Datenverlust.

      flows.json

      PS: das Problem mit den fehlenden Datenpunkten und das manuelle Anlegen (siehe weiter oben) kann man sich sparen, wenn man in der Node-Red Instanz "Erstellung von Fremd-Objekten" zulässt
      03.PNG

      mfg

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

        @abrodeck
        Ich speichere die Werte für Erzeugung, Verbrauch etc. mit dem History Adapter und nutze dann ebenfalls FLOT zur Darstellung. Den SQL-Adapter kenne ich nicht.
        Die ganzen Werte wie Monatsertrag, Jahresertrag usw. habe ich nicht in iobroker umgesetzt, da gucke ich einfach in die FusionSolar App wenn ich das wissen will.
        Das sollte sich aber auch irgendwie mit dem Sourcenanalytix Adapter umsetzen lassen. Aber mit dem stehe ich auf Kriegsfuß. Ich verstehe das Teil einfach nicht. 😉

        1 Reply Last reply Reply Quote 0
        • J
          Joogibaer @warp-it last edited by

          @warp-it

          hast du hier den Grund gefunden? ich habe gerade das selbe "PRoblem" und noch keine Werte

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

            @ts_482
            Hallo,
            kannst du mal schauen, ob du auch die Register 32091 und 32093 lesen kannst?

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

              @badsnoopy667

              was meinst du in jedem Notes? Man gibt die Id doch nur im Modbus Client an, oder?

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

                @joogibaer
                Nein, in jedem einzelnen modbus-node steht nochmal die ID drin. die muss überall passen, sonst läuft's nicht. Vielleicht erstmal einen Test-Flow machen der nur ein Register abfragt. Wenn der läuft, dann den ganzen Flow probieren.

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

                  @badsnoopy667

                  Guten Morgen, danke jetzt ist alles Grün 🙂

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Hinkebein @Joogibaer last edited by Hinkebein

                    Moin,
                    Auf meiner Fuison Solar App habe ich heute ca. 4,9KW erzeugt.
                    Im Modbusregister (32114) steht aber 3.9KW..
                    Da ich aber heute meinen Akku (10KW) von ca. 30% auf 80% Prozent geladen habe, klingen für mich die 5 KW realistischer.
                    Habe ich das falsche Modbusregister erwischt oder hat der 8KT andere Register?

                    update: Lösung gefunden -- Der Wechselrichter hat wirklich nur 3,9 KW produziert .. jetzt frage ich woher die restlichen KWs hergekommen sind um auf 4,9 KW Tagesproduktion zu kommen -- Ich da die Batterie heute 5.5 KW geladen hat und bisher 4.5 KW enthält macht das eine Differenz von 1 KW - dann passt das.. heisst das wohl, das die Ladeleistung der Batterie nicht in der Tagesproduktion eingerechnet wird? -- verwirrendes Tool

                    1 Reply Last reply Reply Quote 0
                    • W
                      warp-it @madmat17 last edited by

                      @madmat17

                      Hi Mat,

                      das möchte ich auch versuchen, da auch bei mir mit dem ursprünglichen Flow reichlich Logeinträge entstehen:

                      2023-03-16 16_32_14-logs - IoBroker.jpg

                      Allerdings komme ich mit dem Parsing nicht klar, vielleicht kannst Du da noch mal ein Beispiel oder Screencopy beisteuern. Du schreibst 'edit puffer-parser'. Ist das etwas anderes als der normale 'buffer-parser' den ich in der linken Spalte finde?

                      Viele Grüße
                      Heinrich

                      J 1 Reply Last reply Reply Quote 0
                      • G
                        gerd_r @badsnoopy667 last edited by

                        @badsnoopy667

                        Hallo,

                        vielen vielen Dank für diesen sehr umfangreichen und praktikablen Beitrag!

                        Eine Frage jedoch:
                        Du verlinkst in deinem Eröffnungsbeitrag auf einen anderen Forenbeitrag in dem man an die PDF für die "Modbus Interface Definitions" kommt.

                        Das verlinkte PDF scheint jedoch veraltet zu sein.

                        Jedenfalls nutzt du Register-Addressen, die dort nicht drin vorkommen (bsp. 37066, 37068, usw).

                        Hast du zufällig eine aktuelle Dokumentation zur Hand und könntest die hier einstellen?

                        Bei den anderen (älteren) Register klappt es dank deiner Anleitung super!!

                        Viele Grüße

                        Gerd

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

                          @gerd_r

                          Modbus interface definitions V4.0
                          Danke für den Hinweis, habe oben auch die neue Version 4 verlinkt jetzt.

                          Z 1 Reply Last reply Reply Quote 0
                          • Z
                            zizu29 last edited by

                            @badsnoopy667 Hallo,
                            ich bekomme beim Importieren immer einen Fehler : SyntaxError: Unexpected token 'c', ..."ert": falsch, "... is not valid JSON

                            an was kann das liegen, steh total auf dem Schlauch

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

                              @zizu29 Du meinst beim Importieren des Flows in node-red?
                              Kann mir nur vorstellen, dass Du nicht den ganzen Flow markiert hast ausversehen und da jetzt z.B. das Ende fehlt. Guck dir das mal an, eine andere Idee habe ich gerade nicht.

                              Was mir gerade noch auffällt: Deine Error-Message enthält das Wort "falsch". Das taucht aber im gesamten Flow nicht auf. Nur das englische Wort "false". Kann es sein, dass dein Browser Englisch automatisch übersetzt? Dann wäre der Flow nämlich nicht zu gebrauchen. Lade den Flow mal runter und öffne ihn in einem Textdokument, nicht im Browser.

                              Z 2 Replies Last reply Reply Quote 0
                              • J
                                joschipp @warp-it last edited by

                                @warp-it
                                Die Warnings bekommst du weg, indem du node-red-contrib-modbus updatest.

                                Ich hab das auf der Kommandozeile gemacht:
                                mit npm outdated werden veraltete Packages anzeigezeigt,
                                outdated.PNG

                                mit npm update node-red-contrib-modbus erfolgt das Update.
                                Danach hatte ich keine Einträge mehr.
                                VG

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

                                  @joschipp So macht ihr euch eure installation mit Sicherheit kaputt. Entweder aktualisiert ihr über den Palettenmanager oder wenn schon via npm dann im Node-Red Datenverzeichnis. So jedenfalls wird Eure komplette iobroker installation schief.

                                  W J 2 Replies Last reply Reply Quote 0
                                  • W
                                    warp-it @mickym last edited by

                                    @mickym said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                                    @joschipp So macht ihr euch eure installation mit Sicherheit kaputt. Entweder aktualisiert ihr über den Palettenmanager oder wenn schon via npm dann im Node-Red Datenverzeichnis. So jedenfalls wird Eure komplette iobroker installation schief.

                                    @joschipp
                                    Vielen Dank Euch beiden für die beiden Hinweise. Hab das Update über die Palettenverwaltung gemacht.

                                    Viele Grüße
                                    Heinrich

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      joschipp @mickym last edited by

                                      @mickym
                                      Ich kenn mich rund um npm nicht sonderlich gut aus, aber ich musste die 3 Packages (vor einem ioBroker Update) zu Fuß installieren, weil der Palettenmanager das nicht schaffte.

                                      Machte ich mit npm install node-red-contrib-modbus
                                      Und das Update - wie oben gepostet.

                                      Wüsste nicht, was da jetzt schief ist - bzw. wie man das erkennt:
                                      node-red.PNG

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

                                        @joschipp Wie gesagt, wenn Du es im Node-Red Datenverzeichnis gemacht hast, dann ist alles gut. Dann gibt ja auch npm list einen sauberen Baum aus. Wenn Du es im iobroker Verzeichnis gemacht hast, dann hast diesen Baum auch nicht.

                                        weil der Palettenmanager das nicht schaffte.

                                        das sind erste Anzeichen, dass in der Installation was schief ist.

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          joschipp @mickym last edited by

                                          @mickym
                                          Danke für den Hinweis bzw. Warnung, aber npm checkt offensichtlich, wo die Packages sind. Outdated zeigt auch aus dem c:\iobroker Verzeichnis heraus, welche node_modules veraltet sind - siehe Bild oben. Und das Update hab ich von dort aus gemacht.
                                          Der Baum ist lt. list ok - soweit ich das erkennen kann:
                                          node-red2.PNG
                                          VG

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

                                            @joschipp Ok - ich will dich nicht zu irgendwas überreden. Aber im iobroker root - Verzeichnis sollten eigentlich sowieso nur iobroker module zu sehen sein. Wahrscheinlich hast du dann unter dem Baum ein Haufen extraneous Einträge.

                                            Ich hab zwar mein iobroker auf dem Raspberry und nicht auf einem Windowssystem laufen - aber npm bzw. nodejs bleibt ja in der Regel nodejs. Wenn ich meinen Baum anschauen, dann schaut der halt relativ clean aus.

                                            pi@mwhome:/opt/iobroker $ npm list
                                            iobroker.inst@3.0.0 /opt/iobroker
                                            ├── iobroker.admin@6.3.5
                                            ├── iobroker.backitup@2.5.12
                                            ├── iobroker.dwd@2.8.3
                                            ├── iobroker.flot@1.11.0
                                            ├── iobroker.info@1.9.19
                                            ├── iobroker.javascript@7.0.3 (git+ssh://git@github.com/ioBroker/ioBroker.javascript.git#e142e623597a2f593faf9fe328797b453eb82ce2)
                                            ├── iobroker.js-controller@4.0.24
                                            ├── iobroker.linux-control@1.1.3
                                            ├── iobroker.mercedesme@0.1.1 (git+ssh://git@github.com/TA2k/ioBroker.mercedesme.git#982f60a77258877119465ee09fbd881677b93375)
                                            ├── iobroker.mqtt@4.0.7
                                            ├── iobroker.node-red@4.0.0 (git+ssh://git@github.com/ioBroker/ioBroker.node-red.git#049d7bdddc747071fc7379551d4bd7a66d690c57)
                                            ├── iobroker.pi-hole@1.3.4
                                            ├── iobroker.ping@1.5.3
                                            ├── iobroker.simple-api@2.7.2
                                            ├── iobroker.socketio@4.2.0
                                            ├── iobroker.sourceanalytix@0.4.14
                                            ├── iobroker.sql@2.2.0
                                            ├── iobroker.tr-064@4.2.18
                                            ├── iobroker.tuya@3.13.1
                                            ├── iobroker.vis-hqwidgets@1.3.0
                                            ├── iobroker.vis@1.4.15
                                            ├── iobroker.web@4.3.0
                                            └── iobroker.yahka@0.17.0
                                            
                                            pi@mwhome:/opt/iobroker $
                                            

                                            Ich denke aber, dass diese Diskussion hier in dem Thread wahrscheinlich nichts zu suchen hat. Musst ggf. einen eigenen Thread aufmachen und halt ein Komplettbackup oder Image machen - bevor Du da was machst.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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