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.
    • JohGre
      JohGre @lub104 last edited by

      @lub104 du brauchst eigentlich nur in das Eingabefeld „Enter new id…“ den gesamten Pfad reinkopieren. Die Ordnerstruktur wird dann automatisch übernommen

      L 1 Reply Last reply Reply Quote 0
      • L
        lub104 last edited by

        @johgre ich glaube ich bin doch zu blöd !

        Eingabefeld Enter new Id ??.

        Bei mir ist nur ein Plus Zeichen und das nur unter 0_userdata

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

          @johgre Ich habe selbst heraus gefunden es war ein Pfad Problem in der Objektangabe. Jetzt bin ich wieder schlau!!!😆

          1 Reply Last reply Reply Quote 1
          • H
            Homer 0 last edited by

            Hat wirklich noch keiner die direkte Anbindung des Sun2000 über den Modbus-Adapter hinbekommen? Ich scheitere offensichtlich an der gleichen Stelle:

            
            2022-11-01 17:42:27.677 - info: host.raspberrypi4 instance system.adapter.modbus.1 started with pid 17214
            2022-11-01 17:42:28.908 - debug: modbus.1 (17214) Redis Objects: Use Redis connection: 127.0.0.1:9001
            2022-11-01 17:42:28.950 - debug: modbus.1 (17214) Objects client ready ... initialize now
            2022-11-01 17:42:28.953 - debug: modbus.1 (17214) Objects create System PubSub Client
            2022-11-01 17:42:28.954 - debug: modbus.1 (17214) Objects create User PubSub Client
            2022-11-01 17:42:28.987 - debug: modbus.1 (17214) Objects client initialize lua scripts
            2022-11-01 17:42:29.009 - debug: modbus.1 (17214) Objects connected to redis: 127.0.0.1:9001
            2022-11-01 17:42:29.036 - debug: modbus.1 (17214) Redis States: Use Redis connection: 127.0.0.1:9000
            2022-11-01 17:42:29.050 - debug: modbus.1 (17214) States create System PubSub Client
            2022-11-01 17:42:29.052 - debug: modbus.1 (17214) States create User PubSub Client
            2022-11-01 17:42:29.074 - debug: modbus.1 (17214) States connected to redis: 127.0.0.1:9000
            2022-11-01 17:42:29.161 - debug: modbus.1 (17214) Plugin sentry Initialize Plugin (enabled=true)
            2022-11-01 17:42:29.621 - info: modbus.1 (17214) starting. Version 5.0.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.17.0, js-controller: 4.0.23
            2022-11-01 17:42:29.800 - debug: modbus.1 (17214) Initialize Objects for disInputs: []
            2022-11-01 17:42:29.801 - debug: modbus.1 (17214) Initialize Objects for coils: []
            2022-11-01 17:42:29.802 - debug: modbus.1 (17214) Initialize Objects for inputRegs: []
            2022-11-01 17:42:29.803 - debug: modbus.1 (17214) Initialize Objects for holdingRegs: [{"_address":37101,"name":"","description":"","unit":"","type":"uint32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37101,"id":"holdingRegisters.37101"},{"_address":37107,"name":"","description":"","unit":"","type":"int32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37107,"id":"holdingRegisters.37107"},{"_address":37113,"name":"","description":"","unit":"","type":"uint32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37113,"id":"holdingRegisters.37113"},{"_address":40572,"name":"","description":"","unit":"","type":"int16le","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40572,"deviceId":1,"id":"holdingRegisters.40572"},{"_address":40573,"name":"","description":"","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40573,"deviceId":1,"id":"holdingRegisters.40573"},{"_address":40574,"name":"","description":"","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40574,"deviceId":1,"id":"holdingRegisters.40574"}]
            2022-11-01 17:42:29.804 - debug: modbus.1 (17214) Add holdingRegisters.37101: {"_id":"holdingRegisters.37101","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37101,"deviceId":1,"type":"uint32le","len":2,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:29.805 - debug: modbus.1 (17214) Add holdingRegisters.37107: {"_id":"holdingRegisters.37107","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37107,"deviceId":1,"type":"int32le","len":2,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:29.805 - debug: modbus.1 (17214) Add holdingRegisters.37113: {"_id":"holdingRegisters.37113","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37113,"deviceId":1,"type":"uint32le","len":2,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:29.806 - debug: modbus.1 (17214) Add holdingRegisters.40572: {"_id":"holdingRegisters.40572","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40572,"deviceId":1,"type":"int16le","len":1,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:29.807 - debug: modbus.1 (17214) Add holdingRegisters.40573: {"_id":"holdingRegisters.40573","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40573,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:29.808 - debug: modbus.1 (17214) Add holdingRegisters.40574: {"_id":"holdingRegisters.40574","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40574,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}}
            2022-11-01 17:42:30.140 - info: modbus.1 (17214) Connected to slave 192.168.2.184
            2022-11-01 17:42:30.141 - debug: modbus.1 (17214) [DevID_1] Poll start ---------------------
            2022-11-01 17:42:30.143 - debug: modbus.1 (17214) Initialization of scale factors done!
            2022-11-01 17:42:30.144 - debug: modbus.1 (17214) [DevID_1/holdingRegs] Poll address 37101 - 14 registers
            2022-11-01 17:42:30.650 - warn: modbus.1 (17214) Error: undefined
            2022-11-01 17:42:30.651 - error: modbus.1 (17214) Request timed out.
            2022-11-01 17:42:30.652 - error: modbus.1 (17214) Client in error state.
            2022-11-01 17:42:30.653 - warn: modbus.1 (17214) Poll error count: 1 code: {"err":"timeout","timeout":500}
            2022-11-01 17:42:30.655 - debug: modbus.1 (17214) Socket closed with error
            2022-11-01 17:42:30.656 - debug: modbus.1 (17214) Clearing timeout of the current request.
            2022-11-01 17:42:30.657 - debug: modbus.1 (17214) Cleaning up request fifo.
            2022-11-01 17:42:31.653 - debug: modbus.1 (17214) Closing client on purpose.
            2022-11-01 17:42:31.654 - info: modbus.1 (17214) Disconnected from slave 192.168.2.184
            
            

            Das muss ja am Modbus-Adapter liegen, da die Abfrage mit anderen Modbus-Tools funktioniert.
            Jemand ne Idee?

            B H 2 Replies Last reply Reply Quote 0
            • B
              badsnoopy667 @Homer 0 last edited by

              @homer-0
              Möchtest Du dafür vielleicht einen eigenen Thread aufmachen? Sonst wird das hier noch unübersichtlicher. Mit node-red geht es ja.

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

                Ja sorry.
                Habs hierhin gepackt:
                https://forum.iobroker.net/topic/48138/iobroker-huawei-sun2000-modus-adapter-keine-daten/38?_=1667374096982

                1 Reply Last reply Reply Quote 1
                • L
                  lub104 last edited by

                  Hallo Leute, ich habe das System am laufen inklusive Grafana, ich habe aber noch ein Verständnis Problem zum Tagesgesamtertrag.
                  Der Wert Daily Energy Yield zeigt mir nicht den Gesamten Ertrag, ist es richtig das was in den Akku gespeist wird, wird nicht mit gerechnet?
                  Wenn meine Vermutung richtig ist kann man die zwei Werte im Flow zusammen rechnen.
                  Gruß Andy

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Heinzileilei @lub104 last edited by

                    @lub104 Hi Wie bekommst du die Daten in den Iobroker ? Hab alles nach Anleitung gemacht aber bekomme keine Verbindung ? Mit ModPV auf windows bekomme ich aber Daten. Danke Lg ( Vielleicht könntest du deinen Flow teilen )

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

                      @heinzileilei Wenn Du die Daten in Deinem Flow hast, dann schreibst Du halt die Daten über die iobroker-out NOde in den iobroker.

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        Heinzileilei @mickym last edited by

                        @mickym debugneu.png flow.png Dongle.png

                        Danke für deine Unterstüzung leider bekomme ich keine Daten herrein.

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

                          @heinzileilei Ok - dann kann ich leider auch nicht helfen, da ich die HW nicht habe. Dachte Du bekommst die Daten in NodeRed und hast nur Probleme, die in den iobroker zu schreiben, aber Du bekommst ja die Daten nicht in NodeRed.

                          Also tut mir leid, dass ich nicht helfen kann.

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Heinzileilei @mickym last edited by

                            @mickym flow.txt So aber Jetzt Danke für deine Hilfe. Hab den Originalen Flow in Visual Studio bearbeitet und Überall wo "unit_id": "2", gestanden ist auf "unit_id": "1", umgeschrieben da bei meiner Anlage "unit_id": "1", stimmt. Und jetzt bekomme ich die Daten in Node red und auch in den IoBroker. Wär fast verzweifelt 😉 Anbei hab ich für alle die nur eine Anlage besitzen und sie laut Fusion Solar as Unit Id 1 gestellt ist den Flow angehängt der bei allen klappen sollte ( Bitte Ipadresse ändern bei mir ist 192.168.1.61 ) Lg

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

                              @heinzileilei
                              Ja, daran liegts. Mein WR war direkt am Anfang mal defekt und wurde getauscht. Deshalb hat er die ID: 2 bekommen. Aber normalerweise sollte da überall die ID 1 eingetragen sein. Ich habe den Hinweis, dass das zu ändern ist oben in der Anleitung ergänzt!

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

                                @badsnoopy667 Ja das habe ich leider nur beim Stick geändert 😉 Hast du ne info ob du in deinem Flow die Möglichkeit hast beide Stings eparat auszuwerten ( Ost/West) . Danke Dir Lg

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

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

                                  Klick mich

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

                                    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 Reply Quote 0
                                    • Chris M
                                      Chris M @ASMM last edited by

                                      @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 Reply Quote 0
                                      • B
                                        badsnoopy667 @Chris M last edited by

                                        @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 Reply Quote 1
                                        • H
                                          Holgus last edited by

                                          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 Reply Quote 0
                                          • B
                                            badsnoopy667 @Holgus last edited by

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            988
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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