Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    6
    1
    62

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

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

Scheduled Pinned Locked Moved Node-Red
574 Posts 110 Posters 230.3k Views 108 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B badsnoopy667

    @heinzileilei
    Importier mal den Flow von @ple, der hat mehrere Strings separat ausgewertet:

    Klick mich

    A Offline
    A Offline
    ahessling
    wrote on last edited by
    #137

    Hallo zusammen,

    mal eine vielleicht blöde Frage, aber ist es tatsächlich so gewollt, dass der SDongle sich inkl. Modbus TCP Interface tatsächlich bei Dunkelheit verabschiedet und erst am nächsten Tag bei Lichteinfall wieder zurückmeldet? Ich habe einen Huawei sun2000-8ktl-m1 ohne Speicher, dann scheint der Wechselrichter in den Standby zu gehen bei Dunkelheit. Da ich gerne Daten aufzeichne und visualisiere, fände ich es eigentlich schade, wenn dies nur tagsüber ginge. Auch so Daten wie Netzspannung, Frequenz sind ja u.U. nicht uninteressant. Oder wenn ich halt mit dem Modbus TCP Interface spielen will und es schon dunkel ist, habe ich auch schlechte Karten. ;-)

    Kann man da evtl. irgendwo eine Einstellung tätigen, um den Dongle ständig online zu halten?

    Danke und Grüße
    André

    1 Reply Last reply
    0
    • A ASMM

      @ple
      Erstmal vielen Dank an ALLE, die sich die Mühe gemacht haben alles zu dokumentieren. Davon haben unzählige Leute profitiert :+1:

      Bei den Adressen:

      • 37498
      • 37500
      • 37502
      • 37504
        kommt die Aktualisierung alle 3-7 Minuten, unabhängig davon, was ich einstelle.
        Arbeite ich mit anderen Adressen wie z.B.:
      • 37001
      • 37004
      • 32080
        dann aktualisiert Node Red tatsächlich auch so oft, wie in "inject" eingestellt.
        Wie bringe ich die ersten 4 Adressen dazu öfter die Werte zu liefern ???
      Chris MC Offline
      Chris MC Offline
      Chris M
      wrote on last edited by
      #138

      @asmm hast du hier mittlerweile eine Antwort?

      ich möchte einfach nur den Wert, wieviel W mein Haus gerade verbraucht.
      Das Register 37500 mit unit-id 100 vom Dongle scheint dieser Wert zu sein, is aber absolut nicht in Echtzeit.

      @all gibt es irgend ein Register was mir diesen Wert zurück liefert?

      B A 2 Replies Last reply
      0
      • Chris MC Chris M

        @asmm hast du hier mittlerweile eine Antwort?

        ich möchte einfach nur den Wert, wieviel W mein Haus gerade verbraucht.
        Das Register 37500 mit unit-id 100 vom Dongle scheint dieser Wert zu sein, is aber absolut nicht in Echtzeit.

        @all gibt es irgend ein Register was mir diesen Wert zurück liefert?

        B Offline
        B Offline
        badsnoopy667
        wrote on last edited by
        #139

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

        @all gibt es irgend ein Register was mir diesen Wert zurück liefert?

        Nein, das Register gibt es nicht. Aber Du kannst den Eigenverbrauch einfach berechnen indem Du "Active Power Inverter" Minus "Active Power Meter" rechnest. Also Eigenverbrauch = Erzeugung - Einspeisung. Bei Netzbezug ist die Einspeisung negativ, daher gilt dieselbe Formel auch für Netzbezug.

        gesamtverbrauch_1.png

        Das geht aber nicht so ohne weiteres, da die beiden Werte vom Wechselrichter/Dongle nicht genau gleichzeitig gesendet werden. Daher gibt es zwischen den Werten einen Zeitverzug von 1-2 Sekunden. Das macht dummerweise einen riesen Unterschied für den Fall, das sich die Sonneneinstrahlung stark ändert.
        Lösung: Man summiert die Erzeugung und die Einspeisung ein paar Sekunden lang auf (z.B. 20 Sekunden lang) und bildet dann den Mittelwert. Das geht mit Listen. Die beiden Mittelwerte kann man dann voneinander abziehen.
        Ich hänge mal meinen Blockly-Export dafür hier rein, aber Achtung, das ist ziemlich unübersichtlich weil es "gewachsen" ist. Heute würde ich das bestimmt sauberer aufschreiben.

        Blockly_Huawei_Eigenverbrauch_etc.txt

        O Z 2 Replies Last reply
        1
        • H Offline
          H Offline
          Holgus
          wrote on last edited by
          #140

          Danke für die Anleitung! Habe auf Anhieb die Kommunikation aufbauen können.
          Trotz plausibler Daten erhalte ich folgenden Fehler:
          "[warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
          Da ich minütlich abfrage, sehe ich diesen auch entsprechend oft. Wie kann ich das beheben?

          Dann würde ich gerne die "realtime" Lade und entladewerte der Batterie haben wollen. In dem www.fusionsolar web interface kann man diese sehen. Wenn ich das richtig sehe, stehen die in dem Beispiel nicht zur Verfügung, nur die Battery_Total_Charge/Discharge. Kann man die zusätzlich noch abfragen und wenn ja wo oder wie muss ich die einrichten?
          DANKE!

          B 1 Reply Last reply
          0
          • H Holgus

            Danke für die Anleitung! Habe auf Anhieb die Kommunikation aufbauen können.
            Trotz plausibler Daten erhalte ich folgenden Fehler:
            "[warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
            Da ich minütlich abfrage, sehe ich diesen auch entsprechend oft. Wie kann ich das beheben?

            Dann würde ich gerne die "realtime" Lade und entladewerte der Batterie haben wollen. In dem www.fusionsolar web interface kann man diese sehen. Wenn ich das richtig sehe, stehen die in dem Beispiel nicht zur Verfügung, nur die Battery_Total_Charge/Discharge. Kann man die zusätzlich noch abfragen und wenn ja wo oder wie muss ich die einrichten?
            DANKE!

            B Offline
            B Offline
            badsnoopy667
            wrote on last edited by
            #141

            @holgus
            Meinst Du diese beiden Werte "Ladeenergie heute" und "Entladeenergie heute" aus der App? Dafür gibt es mMn keinen Datenpunkt. Ich hab auch bisher nicht wirklich verstanden, was die überhaupt bedeuten sollen.
            Aber man kann ja den Ladezustand in % auslesen. Damit kann man sich die beiden Werte ja halbwegs selber zusammenbasteln. Und die aktuelle Lade- und Entladeleistung in W wird ja auch ausgegeben.

            H 1 Reply Last reply
            0
            • B badsnoopy667

              @holgus
              Meinst Du diese beiden Werte "Ladeenergie heute" und "Entladeenergie heute" aus der App? Dafür gibt es mMn keinen Datenpunkt. Ich hab auch bisher nicht wirklich verstanden, was die überhaupt bedeuten sollen.
              Aber man kann ja den Ladezustand in % auslesen. Damit kann man sich die beiden Werte ja halbwegs selber zusammenbasteln. Und die aktuelle Lade- und Entladeleistung in W wird ja auch ausgegeben.

              H Offline
              H Offline
              Holgus
              wrote on last edited by
              #142

              @badsnoopy667
              Sorry, ich glaube ich habe gefunden was ich suchte: 0_userdata.0.Huawei.Battery.Battery_Power
              Ich gehe davon aus , dass das dieser Wert ist:
              Screenshot 2022-12-01 100304.png

              Dann bleibt jetzt nur noch die Frage nach diesem Fehler:
              fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
              Was läuft da schief?

              B 1 Reply Last reply
              0
              • H Holgus

                @badsnoopy667
                Sorry, ich glaube ich habe gefunden was ich suchte: 0_userdata.0.Huawei.Battery.Battery_Power
                Ich gehe davon aus , dass das dieser Wert ist:
                Screenshot 2022-12-01 100304.png

                Dann bleibt jetzt nur noch die Frage nach diesem Fehler:
                fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
                Was läuft da schief?

                B Offline
                B Offline
                badsnoopy667
                wrote on last edited by badsnoopy667
                #143

                @holgus
                Ach der Fehler... Der kommt bei mir auch ab und zu mal. Ist ja nur eine Warnung. Einfach ignorieren, klappt trotzdem. 😁
                Ja, das ist dein gesuchter Wert.

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  joschipp
                  wrote on last edited by
                  #144

                  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

                  M T J 3 Replies Last reply
                  1
                  • J joschipp

                    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

                    M Offline
                    M Offline
                    Matthias 5
                    wrote on last edited by
                    #145

                    @joschipp
                    Hallo, eine Frage wie kann ich deine Datei "flows.json herunterladen bzw inportieren?
                    Wenn ich den Flow importieren möchte bekomme ich diese Meldung

                    7203d57a-b5e2-4e59-ad87-494b9b39a377-image.png

                    M 1 Reply Last reply
                    0
                    • M Matthias 5

                      @joschipp
                      Hallo, eine Frage wie kann ich deine Datei "flows.json herunterladen bzw inportieren?
                      Wenn ich den Flow importieren möchte bekomme ich diese Meldung

                      7203d57a-b5e2-4e59-ad87-494b9b39a377-image.png

                      M Offline
                      M Offline
                      Matthias 5
                      wrote on last edited by
                      #146

                      @matthias-5
                      Es lag am Google Chrome Browser!

                      1 Reply Last reply
                      0
                      • S Serial13579

                        Moin,

                        leider habe ich immernoch 2 Probleme, das erste wäre das ich vom Meter den Datenpunkt: 0_userdata.0.Huawei.Meter.Active_Power nicht geschrieben bekomme, die anderen 4 wie Freqeuenz und Spannung sind da. Jemand eine Idee ?
                        Und es steht noch folgendes im Log für viele Datenpunkte: State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"

                        Muss ich den Typ für jeden Datenpunkt ändern ?

                        Gruß

                        ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by
                        #147

                        @serial13579

                        Hi,
                        hast du diese Meldungen jemals aus dem Log weg bekommen ?
                        Ich habe genau das gleiche "Problem".

                        LG.
                        Thomas

                        1 Reply Last reply
                        0
                        • Chris MC Chris M

                          @asmm hast du hier mittlerweile eine Antwort?

                          ich möchte einfach nur den Wert, wieviel W mein Haus gerade verbraucht.
                          Das Register 37500 mit unit-id 100 vom Dongle scheint dieser Wert zu sein, is aber absolut nicht in Echtzeit.

                          @all gibt es irgend ein Register was mir diesen Wert zurück liefert?

                          A Offline
                          A Offline
                          ASMM
                          wrote on last edited by
                          #148

                          @chris-m

                          Ich habe leider nix Neues zu vermelden.
                          Das ganze geht mir auf den Keks und ist eine ziemlich große Baustelle :angry:
                          Auch in FusionSolar gibt es unplausible Werte.
                          Beim Ertrag jetzt in den schattigen Tagen steht am Ende des Tages 0, aber im Grafen sind eindeutig Ertragswerte zu sehen.
                          Sehr frustrierend das ganze

                          be5829f6-3680-4d69-8253-6b7fb9e9d0ee-grafik.png

                          A 1 Reply Last reply
                          0
                          • A ASMM

                            @chris-m

                            Ich habe leider nix Neues zu vermelden.
                            Das ganze geht mir auf den Keks und ist eine ziemlich große Baustelle :angry:
                            Auch in FusionSolar gibt es unplausible Werte.
                            Beim Ertrag jetzt in den schattigen Tagen steht am Ende des Tages 0, aber im Grafen sind eindeutig Ertragswerte zu sehen.
                            Sehr frustrierend das ganze

                            be5829f6-3680-4d69-8253-6b7fb9e9d0ee-grafik.png

                            A Offline
                            A Offline
                            ASMM
                            wrote on last edited by
                            #149

                            Hat Jemand von euch eine Idee, wie ich die beiden PV Strings des zweiten Inverters auslesen kann?
                            In der Beschreibung von Huawei steht, dass ab Register 32016 max 24 Strings unterstützt werden.
                            Ich kann aber nur den ersten String des ersten Inverters auslesen.

                            cacfbeb6-5e84-4a8d-8154-783b5cd65407-grafik.png

                            1 Reply Last reply
                            0
                            • Thomas LippertT Offline
                              Thomas LippertT Offline
                              Thomas Lippert
                              wrote on last edited by
                              #150

                              Vielen Dank für die viele Vorarbeit. Ich habe nun ziemlich schnell Werte von meinem Wechselrichter im iobroker. Freue mich darauf damit zu arbeiten.
                              Das Thema node-red und auch ModBus ist neu für mich, daher eine Frage dazu:
                              Wie auf vielen anderen Screenshots in diesem Thread auch zu sehen sind bei mir einige Werte connected und liefern Daten, es gibt aber auch ein paar andere, die heller und mit gestrichelter Linie ohne connected dargestellt werden. Für diese bekomme ich keine Werte. Wie kann ich das ändern?
                              Screenshot_20230111_212647.png
                              In meinem Bild betrifft das z.B. die Werte der PV Voltage und Current, an denen ich grundsätzlich schon auch interessiert wäre...
                              Hat jemand eine Idee?

                              B 1 Reply Last reply
                              0
                              • Thomas LippertT Thomas Lippert

                                Vielen Dank für die viele Vorarbeit. Ich habe nun ziemlich schnell Werte von meinem Wechselrichter im iobroker. Freue mich darauf damit zu arbeiten.
                                Das Thema node-red und auch ModBus ist neu für mich, daher eine Frage dazu:
                                Wie auf vielen anderen Screenshots in diesem Thread auch zu sehen sind bei mir einige Werte connected und liefern Daten, es gibt aber auch ein paar andere, die heller und mit gestrichelter Linie ohne connected dargestellt werden. Für diese bekomme ich keine Werte. Wie kann ich das ändern?
                                Screenshot_20230111_212647.png
                                In meinem Bild betrifft das z.B. die Werte der PV Voltage und Current, an denen ich grundsätzlich schon auch interessiert wäre...
                                Hat jemand eine Idee?

                                B Offline
                                B Offline
                                badsnoopy667
                                wrote on last edited by
                                #151

                                @thomas-lippert
                                Die Nodes sind Deaktiviert. Mach mal einen Doppelklick dadrauf und dann unten auf "Deaktiviert" klicken, dann werden sie wieder aktiv.

                                aktiveiren.png

                                Thomas LippertT 1 Reply Last reply
                                0
                                • B badsnoopy667

                                  @thomas-lippert
                                  Die Nodes sind Deaktiviert. Mach mal einen Doppelklick dadrauf und dann unten auf "Deaktiviert" klicken, dann werden sie wieder aktiv.

                                  aktiveiren.png

                                  Thomas LippertT Offline
                                  Thomas LippertT Offline
                                  Thomas Lippert
                                  wrote on last edited by
                                  #152

                                  @badsnoopy667 Danke.

                                  1 Reply Last reply
                                  0
                                  • H Offline
                                    H Offline
                                    Heinzileilei
                                    wrote on last edited by
                                    #153

                                    Kurze Frage in die Expertenrunde. Bei funkt der Flow und ich bekomme auch die Daten. Danke für die Vorarbeit ! Habe aber leider das Problem das sich der Flow nach einen Tag oder 2 wieder aufhängt, obwohl es Tage lang funktioniert hat und ich das System nicht verändert hatte. Könnt Ihr mir vielleicht weiterhelfen oder erklären woran es liegen könnte ? Danke Lg

                                    1 Reply Last reply
                                    0
                                    • L Offline
                                      L Offline
                                      Landci
                                      wrote on last edited by
                                      #154

                                      Hallo,

                                      hat hier jemand das ganze in Verbindung mit evcc laufen?
                                      Mir scheint es als ob es dann zu Datenverlust kommt, jedenfalls in den Daten von grafana.
                                      Komischerweise nur bei denen die jede minute eingelesen wird.

                                      Hat da jemand Erfahrung wie man das stabil hinbekommt?
                                      Modbus liest doch nur Daten aus?Somit sollte es doch möglich sein dass das mehrere machen. Oder hab ich da einen Denkfehler?

                                      1 Reply Last reply
                                      0
                                      • ? Offline
                                        ? Offline
                                        A Former User
                                        wrote on last edited by
                                        #155

                                        Hallo,

                                        leider habe ich immer noch ein Problem mit dem ganzen.

                                        Im Log steht für viele Datenpunkte: State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"

                                        Wie kann ich das beheben ?

                                        Vielen Dank für die Antworten :-)

                                        DJMarc75D 1 Reply Last reply
                                        0
                                        • ? A Former User

                                          Hallo,

                                          leider habe ich immer noch ein Problem mit dem ganzen.

                                          Im Log steht für viele Datenpunkte: State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"

                                          Wie kann ich das beheben ?

                                          Vielen Dank für die Antworten :-)

                                          DJMarc75D Offline
                                          DJMarc75D Offline
                                          DJMarc75
                                          wrote on last edited by
                                          #156

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

                                          has to be stringified but received type "number"

                                          Da solltest Du den Datenpunkttyp von String auf Number umstellen.

                                          Lehrling seit 1975 !!!
                                          Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                          https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                          ? 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          439

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe