Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
574 Beiträge 110 Kommentatoren 223.6k Aufrufe 108 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Bolli

    @christiansr ich habe auch drei Wechselrichter in Kaskade. Muss ich bei Unit-ID bei allen drei die 16 eintragen ? image.jpg

    D Offline
    D Offline
    Doom.86
    schrieb am zuletzt editiert von
    #427

    @bolli ich nutze diesesn Flow: @spexx said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

    @Christof-Lewandowski
    Ich frage drei größere Adressbereiche ab, das wird dann über einen Buffer-Parser ausgewertet und alle Werte in einzelne Datenpunkte geschrieben. Ich denke im Prinzip das was du suchst, anbei der Flow.
    Zwischen den Abfragen habe ich aktuell eine Minute Verzögerung, das Abfrageintervall kann man sicher auch noch runtersetzen, läuft so aber bereits seit Wochen problemlos.

    2023-06-23_20h10_28.png
    2023-06-23_20h20_26.png
    flows.json

    Vorteil, dort werden alle Register auf einmal abgefragt und nicht jedes Nacheinander.

    Zu deiner Frage, bei mir ist bei dem 1. Wechselrichter die Unit-ID: 1 und bei dem 2. Wechselrichter die Unit-ID: 2 bei Batterie und Powersensor auch die Unit-ID: 1, da diese über den 1. Wechselrichter verwaltet werden und mein Speicher an dem 1. Wechselrichter angeschlossen ist.

    262d9f09-2621-4f0c-b7a6-0d58c5ffa0ee-image.png

    B 1 Antwort Letzte Antwort
    0
    • D Doom.86

      @bolli ich nutze diesesn Flow: @spexx said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

      @Christof-Lewandowski
      Ich frage drei größere Adressbereiche ab, das wird dann über einen Buffer-Parser ausgewertet und alle Werte in einzelne Datenpunkte geschrieben. Ich denke im Prinzip das was du suchst, anbei der Flow.
      Zwischen den Abfragen habe ich aktuell eine Minute Verzögerung, das Abfrageintervall kann man sicher auch noch runtersetzen, läuft so aber bereits seit Wochen problemlos.

      2023-06-23_20h10_28.png
      2023-06-23_20h20_26.png
      flows.json

      Vorteil, dort werden alle Register auf einmal abgefragt und nicht jedes Nacheinander.

      Zu deiner Frage, bei mir ist bei dem 1. Wechselrichter die Unit-ID: 1 und bei dem 2. Wechselrichter die Unit-ID: 2 bei Batterie und Powersensor auch die Unit-ID: 1, da diese über den 1. Wechselrichter verwaltet werden und mein Speicher an dem 1. Wechselrichter angeschlossen ist.

      262d9f09-2621-4f0c-b7a6-0d58c5ffa0ee-image.png

      B Offline
      B Offline
      Bolli
      schrieb am zuletzt editiert von Bolli
      #428

      @doom-86
      ich komm irgendwie nicht weiter:
      WR1 - hat Batterie - ID2
      WR2 - hat Smarmeter und Dongle - ID1
      WR3 - nur in Kaskade - ID3

      wenn ich den WR1 abfragen will muss überall die iD2 stehen? richtig ? Port 502. Da kommen aber leider bei allen drei ID die selben Werte. Ich versuche mal meine Daten anzuhängen, vielleicht sieht jemand einen Fehler ?
      flows.json

      B 1 Antwort Letzte Antwort
      0
      • B Bolli

        @doom-86
        ich komm irgendwie nicht weiter:
        WR1 - hat Batterie - ID2
        WR2 - hat Smarmeter und Dongle - ID1
        WR3 - nur in Kaskade - ID3

        wenn ich den WR1 abfragen will muss überall die iD2 stehen? richtig ? Port 502. Da kommen aber leider bei allen drei ID die selben Werte. Ich versuche mal meine Daten anzuhängen, vielleicht sieht jemand einen Fehler ?
        flows.json

        B Offline
        B Offline
        Bolli
        schrieb am zuletzt editiert von
        #429

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

        @doom-86
        ich komm irgendwie nicht weiter:
        WR1 - hat Batterie - ID2
        WR2 - hat Smarmeter und Dongle - ID1
        WR3 - nur in Kaskade - ID3

        wenn ich den WR1 abfragen will muss überall die iD2 stehen? richtig ? Port 502. Da kommen aber leider bei allen drei ID die selben Werte. Ich versuche mal meine Daten anzuhängen, vielleicht sieht jemand einen Fehler ?
        flows.json

        Mir ist folgendes Aufgefallen: die ID´s kann ich einzeln abrufen das klappt, wenn ich aber alle drei nach einander abrufen möchte , ändert sich der "modbus Client" selbstständig und alle 3 WR abfragen sind wieder gleich. Kann man das irgendwie unterbinden oder verhindern ?

        1 Antwort Letzte Antwort
        0
        • D Doom.86

          @badsnoopy667 an forced Charge bin ich gerade dran. Ich hab es über das Tour Register geschafft, die Werte alle einzeln für die Perioden auszulesen, aber leider nicht geschafft zu schreiben. Seit heute habe ich ein Skript im Versuch laufen, ob das laden theoretisch funktionieren würde. Gibt es hier im forum: https://forum.iobroker.net/topic/69604/hausspeicher-laden-dynamisch-tibberlink-scripte

          Wenn das funktioniert, mache ich mich weiter an das laden. Somit habe ich dann schon mal einen datenpunkt.

          Mit dem force charging muss man so wie ich es gesehen habe, mindestens 3 Register schreiben. Das erste zum laden, das zweite der gewünschte SoC und als dritter, die ladeleistung.

          Christof LewandowskiC Offline
          Christof LewandowskiC Offline
          Christof Lewandowski
          schrieb am zuletzt editiert von
          #430

          @doom-86 ich scheiterte schon daran überhaupt was zu schreiben :)
          Selbst das kleine Script um die Entladeleistung zu setzen funktioniert nicht, es wird einfach kein Wert gesetzt, obwohl ich es mehrfach versucht habe.
          Ich hoffe trotzdem, dass wir hier Fortschritte machen können, wäre irgendwie schon spannend.

          D 2 Antworten Letzte Antwort
          0
          • E Offline
            E Offline
            elsmarto
            schrieb am zuletzt editiert von
            #431

            Hi zusammen,

            ich nutze den Flow von @Spexx und es funktioniert einwandfrei - vielen Dank dafür.

            Gerne würde ich jedoch auch noch die Wirkleistung der einzelnen Phasen auslesen bzw. berechnen. Kann mir jemand kurz sagen, wie ich es berechnen muss? Normal ist ja die Formel: P = U * I * cos(phi). Phi ist nicht vorhanden, jedoch die Blind- und Wirkleistung. cos(phi) = Wirkleistung / Blindleistung. Muss ich über diesen Umweg gehen oder gibt es einen einfacheren Weg zum Ziel zu kommen?

            Danke euch

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              andreas.lattmann
              schrieb am zuletzt editiert von andreas.lattmann
              #432

              Hallo zusammen
              Ich habe die Integration wie hier beschrieben geschafft und es läuft. Was mich irritiert. Der Master WR liefert seine Daten alle ca. 15Sekunden. Der Slave WR 2 (ID 2) aber nur ca. alle 25 Minuten. Kennt jemand dieses Problem und hat eine Lösung? Ich spreche von der Adresse 32080.
              Vielen Dank für Eure Rückmeldung

              B 1 Antwort Letzte Antwort
              0
              • A andreas.lattmann

                Hallo zusammen
                Ich habe die Integration wie hier beschrieben geschafft und es läuft. Was mich irritiert. Der Master WR liefert seine Daten alle ca. 15Sekunden. Der Slave WR 2 (ID 2) aber nur ca. alle 25 Minuten. Kennt jemand dieses Problem und hat eine Lösung? Ich spreche von der Adresse 32080.
                Vielen Dank für Eure Rückmeldung

                B Offline
                B Offline
                badsnoopy667
                schrieb am zuletzt editiert von
                #433

                @andreas-lattmann
                Hast Du mal versucht das Abfrageintervall auf >20 Sekunden zu stellen? Hatte gerade in einem anderen Forum gelesen, dass der Dongle bei mehreren WR sonst nicht hinterher kommt.

                A 1 Antwort Letzte Antwort
                0
                • B badsnoopy667

                  @andreas-lattmann
                  Hast Du mal versucht das Abfrageintervall auf >20 Sekunden zu stellen? Hatte gerade in einem anderen Forum gelesen, dass der Dongle bei mehreren WR sonst nicht hinterher kommt.

                  A Offline
                  A Offline
                  andreas.lattmann
                  schrieb am zuletzt editiert von
                  #434

                  @badsnoopy667 Danke, hilft leider nicht. Auch bei Intervall 1' kommen die Daten vom 2. WR sehr selten undd ie vom WR 1 häufig

                  B 1 Antwort Letzte Antwort
                  0
                  • A andreas.lattmann

                    @badsnoopy667 Danke, hilft leider nicht. Auch bei Intervall 1' kommen die Daten vom 2. WR sehr selten undd ie vom WR 1 häufig

                    B Offline
                    B Offline
                    badsnoopy667
                    schrieb am zuletzt editiert von
                    #435

                    @andreas-lattmann
                    Interessant. Andere Idee: Frag mal nur 1-2 Register pro WR ab und nicht Alles. Also z.B. nur "Input Power" und den Rest gar nicht. Kommen die Werte dann vielleicht schneller?

                    A 1 Antwort Letzte Antwort
                    0
                    • B badsnoopy667

                      @andreas-lattmann
                      Interessant. Andere Idee: Frag mal nur 1-2 Register pro WR ab und nicht Alles. Also z.B. nur "Input Power" und den Rest gar nicht. Kommen die Werte dann vielleicht schneller?

                      A Offline
                      A Offline
                      andreas.lattmann
                      schrieb am zuletzt editiert von
                      #436

                      @badsnoopy667 Super Tipp, dann kommen die Werte häufiger. Muss mich da wohl sehr beschränken bei den Abfragen

                      B 2 Antworten Letzte Antwort
                      0
                      • A andreas.lattmann

                        @badsnoopy667 Super Tipp, dann kommen die Werte häufiger. Muss mich da wohl sehr beschränken bei den Abfragen

                        B Offline
                        B Offline
                        badsnoopy667
                        schrieb am zuletzt editiert von
                        #437

                        @andreas-lattmann
                        Naja, ich glaube 90% der Werte sind doch eigentlich nur Datenmüll. Was interessiert mich das WR Model z.b. Das weiß ich auch ohne es abzufragen. Und irgendwelche PV String Spannungen sind zwar nett für Spielereien, aber auch nicht wirklich nötig.
                        Ich frage bei mir die wichtigsten Werte, also Input Power, Battery Power, Meter Power etc. alle 5 Sekunden ab und den ganzen andern "Quatsch" nur 1x pro Minute.

                        1 Antwort Letzte Antwort
                        0
                        • A andreas.lattmann

                          @badsnoopy667 Super Tipp, dann kommen die Werte häufiger. Muss mich da wohl sehr beschränken bei den Abfragen

                          B Offline
                          B Offline
                          badsnoopy667
                          schrieb am zuletzt editiert von
                          #438

                          @andreas-lattmann
                          Aber mal was ganz anderes, da der Kollege @Bolli hier das Problem hat:
                          Wie fragt man denn überhaupt mehr als einen WR korrekt ab?
                          Was hast Du an ID eingestellt und welche IP Adresse hast du genommen? Gibts sonst noch was zu beachten?

                          A 1 Antwort Letzte Antwort
                          0
                          • B badsnoopy667

                            @andreas-lattmann
                            Aber mal was ganz anderes, da der Kollege @Bolli hier das Problem hat:
                            Wie fragt man denn überhaupt mehr als einen WR korrekt ab?
                            Was hast Du an ID eingestellt und welche IP Adresse hast du genommen? Gibts sonst noch was zu beachten?

                            A Offline
                            A Offline
                            andreas.lattmann
                            schrieb am zuletzt editiert von
                            #439

                            @badsnoopy667 Ich habe die IP Adresse des Dongles genommen und dann nist bei mir ID 1 der erste Wechselrichter und ID 2 der Slave

                            B B 2 Antworten Letzte Antwort
                            0
                            • A andreas.lattmann

                              @badsnoopy667 Ich habe die IP Adresse des Dongles genommen und dann nist bei mir ID 1 der erste Wechselrichter und ID 2 der Slave

                              B Offline
                              B Offline
                              badsnoopy667
                              schrieb am zuletzt editiert von
                              #440

                              @andreas-lattmann
                              Das heißt, man muss im Flow alle Register 2x abfragen? Einmal mit ID1 und einmal mit ID2? Oder muss man zwei separate Flows machen?

                              1 Antwort Letzte Antwort
                              0
                              • A andreas.lattmann

                                @badsnoopy667 Ich habe die IP Adresse des Dongles genommen und dann nist bei mir ID 1 der erste Wechselrichter und ID 2 der Slave

                                B Offline
                                B Offline
                                Bolli
                                schrieb am zuletzt editiert von Bolli
                                #441

                                @andreas-lattmann
                                Das heisst man müsste für ID1 ; ID2 und ID3 einen eigenen Modbus Getter anlegen ?

                                Soweit so gut, nur wie komme ich zusätzlich noch an Akkuwerte ?IMG_1484.jpeg IMG_1482.jpeg

                                D 1 Antwort Letzte Antwort
                                0
                                • Christof LewandowskiC Christof Lewandowski

                                  @doom-86 ich scheiterte schon daran überhaupt was zu schreiben :)
                                  Selbst das kleine Script um die Entladeleistung zu setzen funktioniert nicht, es wird einfach kein Wert gesetzt, obwohl ich es mehrfach versucht habe.
                                  Ich hoffe trotzdem, dass wir hier Fortschritte machen können, wäre irgendwie schon spannend.

                                  D Offline
                                  D Offline
                                  Doom.86
                                  schrieb am zuletzt editiert von
                                  #442

                                  @christof-lewandowski schreib mich bitte mal per pn an.

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Bolli

                                    @andreas-lattmann
                                    Das heisst man müsste für ID1 ; ID2 und ID3 einen eigenen Modbus Getter anlegen ?

                                    Soweit so gut, nur wie komme ich zusätzlich noch an Akkuwerte ?IMG_1484.jpeg IMG_1482.jpeg

                                    D Offline
                                    D Offline
                                    Doom.86
                                    schrieb am zuletzt editiert von
                                    #443

                                    @bolli genau. Für jeden ein eigenes.

                                    Für die Batterie, die id von dem Wechselrichter, wo sie angeschlossen ist. Zum Beispiel id 2 wenn sie am 2. Wechselrichter angeschlossen ist

                                    1 Antwort Letzte Antwort
                                    0
                                    • Christof LewandowskiC Christof Lewandowski

                                      @doom-86 ich scheiterte schon daran überhaupt was zu schreiben :)
                                      Selbst das kleine Script um die Entladeleistung zu setzen funktioniert nicht, es wird einfach kein Wert gesetzt, obwohl ich es mehrfach versucht habe.
                                      Ich hoffe trotzdem, dass wir hier Fortschritte machen können, wäre irgendwie schon spannend.

                                      D Offline
                                      D Offline
                                      Doom.86
                                      schrieb am zuletzt editiert von
                                      #444

                                      @christof-lewandowski Zu deiner Frage, schreiben geht relativ einfach bei einzelnen Registern. ich kopiere dir hier mal den flow rein. den Oberen teil musst du in deine Abfrage mit reinhängen. der untere teil ist dann der Teil des Schreibens. für diese hab ich nochmals Datenpunkte angelegt in Iobroker.
                                      Huawei schreiben.txt

                                      Sollte es Probleme geben, das er diese Werte nicht schreibt, ist der Abfrage Intervall zu hoch bzw man muss noch eine Pause mit einbauen.

                                      B B Christof LewandowskiC 3 Antworten Letzte Antwort
                                      0
                                      • D Doom.86

                                        @christof-lewandowski Zu deiner Frage, schreiben geht relativ einfach bei einzelnen Registern. ich kopiere dir hier mal den flow rein. den Oberen teil musst du in deine Abfrage mit reinhängen. der untere teil ist dann der Teil des Schreibens. für diese hab ich nochmals Datenpunkte angelegt in Iobroker.
                                        Huawei schreiben.txt

                                        Sollte es Probleme geben, das er diese Werte nicht schreibt, ist der Abfrage Intervall zu hoch bzw man muss noch eine Pause mit einbauen.

                                        B Offline
                                        B Offline
                                        badsnoopy667
                                        schrieb am zuletzt editiert von
                                        #445

                                        Hi @doom-86
                                        vielen Dank für Deinen Flow! Ich hab kann die Register jetzt schreiben! Sie ändern sich auch (z.B. 5-TOU etc.). Aber die Batterie fängt nicht an zu laden. Welche Register muss ich denn mit welchen Werten beschreiben, damit die Batterie vom Netz geladen wird? Danke!!

                                        D 1 Antwort Letzte Antwort
                                        0
                                        • B badsnoopy667

                                          Hi @doom-86
                                          vielen Dank für Deinen Flow! Ich hab kann die Register jetzt schreiben! Sie ändern sich auch (z.B. 5-TOU etc.). Aber die Batterie fängt nicht an zu laden. Welche Register muss ich denn mit welchen Werten beschreiben, damit die Batterie vom Netz geladen wird? Danke!!

                                          D Offline
                                          D Offline
                                          Doom.86
                                          schrieb am zuletzt editiert von Doom.86
                                          #446

                                          @badsnoopy667 da habe ich leider noch meine Probleme. Man kann den Modus ändern, aber die Uhrzeiten leider nicht. Zumindest habe ich es nicht geschafft das Register zu schreiben.
                                          Aktuell bleibt mir leider auch nur, die Uhrzeiten für Tou in der fusionsolar app manuell einzutragen.

                                          Evtl gibt es die Möglichkeit über die gezwungene Ladung. Allerdings kann ich das momentan nicht ausprobieren, weil mein stick Probleme macht. Hatte den abfrageintervall auf 11 sekunden ohne Probleme. Inzwischen bin ich bei 18 Sekunden und es kommt immer wieder mal, dass die node nicht bereit ist.

                                          B 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          226

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe