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.
    • M
      madmat17 @Doom.86 last edited by madmat17

      @doom-86

      Wenn du von Solcast nur die "Estimated Actuals" retour bekommst und davon nur 4, dann vermute ich, dass mit dem Probieren des Flows über die Zeit die Anzahl der kostenlosen API-Calls/Tag (müssten 20 sein, wenn ich nicht irre) aufgebraucht sein.
      So fern du deine Daten in den beiden hervorgehobenen Query-Nodes korrekt eingetragen hast und auch sonst alles passt, kann ich mir nur das als Ursache vorstellen.

      Screenshot 2023-11-25 090501.png

      Bzw. checke noch einmal, ob du in dem HTTP-Call ("Solcast API - get LIve+Forecast JSON") die URL zu deiner PV-Anlage und auch den API-Key unter Token korrekt eingetragen hast:
      Screenshot 2023-11-25 090623.png

      LG,
      Mat

      D 1 Reply Last reply Reply Quote 0
      • D
        Doom.86 @madmat17 last edited by Doom.86

        @madmat17 Hallo Mat,

        Ich habe meine Verwirrung gefunden.
        Ich habe erwartet, dass in der Influxdb Punkte mit forecast auftauchen. Dies ist nicht geschehen.

        Ich habe mir inzwischen die change node nach bewege msg.payload.forecast angeschaut: 01c8fbfb-b3bb-46cc-b662-b4e3fe605925-image.png

        In dieser steht

        [[	{"value": $.payload.pv_estimate * 1000,	"time": $toMillis($.payload.period_end)},	{"topic": "pv_initial_estimate"}	],	[	{"value": $.payload.pv_estimate * 1000,	"time": $toMillis($.payload.period_end)},	{"topic": "pv_estimate"}	],	[	{"value": $.payload.pv_estimate10 * 1000,	"time": $toMillis($.payload.period_end)},	{"topic": "pv_estimate10"}	],	[	{"value": $.payload.pv_estimate90 * 1000,	"time": $toMillis($.payload.period_end)},	{"topic": "pv_estimate90"}	]	]
        

        Somit funktioniert das auch, nur ich hatte einen andere Beschreibung erwartet.

        Wie heißt es so schön: Meistens sitzt das Problem zwischen Bildschirm und Stuhl. 😁

        M 1 Reply Last reply Reply Quote 0
        • M
          madmat17 @Doom.86 last edited by

          @doom-86
          Hauptsache ist, dass alles passt.
          Freut mich, wenn es funktioniert!

          1 Reply Last reply Reply Quote 0
          • geo-ioan
            geo-ioan @madmat17 last edited by

            Hallo Leute,
            ich habe versucht alles zu lesen und zu verstehen aber bei mir funktioniert nicht (ich kriege keine Werte gezeigt und im Debug kommt immer weider Getter -> Inject while node is not ready for input.)
            Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.
            Die Datenpunkten musste ich händisch anlegen - ging nicht auch wenn das Häckchen in der Node-RED Instanz gesetzt war.
            Könnt ihr mir weiter helfen ?
            DAnke.

            1.jpg

            geo-ioan B 2 Replies Last reply Reply Quote 0
            • geo-ioan
              geo-ioan @geo-ioan last edited by

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

              Hallo Leute,
              ich habe versucht alles zu lesen und zu verstehen aber bei mir funktioniert nicht (ich kriege keine Werte gezeigt und im Debug kommt immer weider Getter -> Inject while node is not ready for input.)
              Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.
              Die Datenpunkten musste ich händisch anlegen - ging nicht auch wenn das Häckchen in der Node-RED Instanz gesetzt war.
              Könnt ihr mir weiter helfen ?
              DAnke.

              1.jpg

              2023-11-28 02:44:56.400 - warn: node-red.0 (1008) 28 Nov 02:44:56 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
              
              1 Reply Last reply Reply Quote 0
              • B
                badsnoopy667 @geo-ioan last edited by badsnoopy667

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

                Ich habe den Flow aus dem ersten Beitrag mit meinem WR-IP geändert und Unit-ID 1 Port 502 (Verbindstyp: DEFAULT) genommen.

                Hast Du die ID auch in allen Modbus Nodes geändert? Das sind die ganzen orangen Nodes vorne mit den Registernummern drin.

                geo-ioan 1 Reply Last reply Reply Quote 0
                • geo-ioan
                  geo-ioan @badsnoopy667 last edited by

                  @badsnoopy667

                  Ja. sowohl in den Nodes als auch IP Adresse und ID in den ModbusServer Einstellungen

                  2.jpg 1.jpg

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    badsnoopy667 @geo-ioan last edited by

                    @geo-ioan
                    Hast Du mal versucht den Großteil des Flows zu deaktivieren und nur ganz wenige Register abzufragen? Oder das Abfrageintervall deutlich zu erhöhen? Geht es dann? Die Fehlermeldung klingt mir ein bisschen nach zu vielen Anfragen.

                    geo-ioan 1 Reply Last reply Reply Quote 0
                    • geo-ioan
                      geo-ioan @badsnoopy667 last edited by

                      @badsnoopy667
                      Ich habe gerade das auch versucht. Ich kriege aber gar keine Info in den Objekten (hat noch keine Werte ausgelesen).
                      Die Objekte sind richtig angelegt und Verlinkt in den Flows.
                      Zeigt er auch den gleichen Fehler wenn keine Daten von WR kommen ?
                      Habe ich vielleicht eine andere UnitID oder Port ?

                      Danke dir.

                      geo-ioan 1 Reply Last reply Reply Quote 0
                      • geo-ioan
                        geo-ioan @geo-ioan last edited by

                        @geo-ioan
                        Hmmm. Jetzt kommt der Fehler nicht mehr jede Minute (Abfrage Intervall) sondern nur am Anfang.
                        Ich kriege trotzdem keine Daten.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          badsnoopy667 @geo-ioan last edited by

                          @geo-ioan
                          Läuft bei dir noch irgendwas anderes, was per Modbus auf den WR zugreift? Das kann immer nur eine Verbindung gleichzeitig.

                          geo-ioan 1 Reply Last reply Reply Quote 0
                          • geo-ioan
                            geo-ioan @badsnoopy667 last edited by

                            @badsnoopy667
                            Da ist nichts anderes verbunden ...

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              badsnoopy667 @geo-ioan last edited by badsnoopy667

                              @geo-ioan Hast Du mal die ID 0 versucht? Oder 2 oder 16?
                              Ich würde wieder nur einen Teil des Flows testen, dann musst du weniger Nodes ändern.
                              Bzw. mal im WR nachsehen, welche ID eingetragen ist?
                              Modbus TCP ist aktiviert im WR?

                              geo-ioan 1 Reply Last reply Reply Quote 0
                              • geo-ioan
                                geo-ioan @badsnoopy667 last edited by

                                @badsnoopy667
                                Bleibt Port 502 ?

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  badsnoopy667 @geo-ioan last edited by

                                  @geo-ioan Ja, der sollte passen

                                  geo-ioan 1 Reply Last reply Reply Quote 0
                                  • geo-ioan
                                    geo-ioan @badsnoopy667 last edited by

                                    @badsnoopy667 - leidet auch nichts gebracht ... ich muss mich nochmal absichern dass im WR das Protokoll aktiviert wurde

                                    geo-ioan 1 Reply Last reply Reply Quote 0
                                    • geo-ioan
                                      geo-ioan @geo-ioan last edited by

                                      Es lag am Solateur !!! Seit 1 Woche hatte er es nicht geschafft den ModbusTCP einzuschalten ... jetzt geht das !
                                      Danke für eure Arbeit !!!

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        booleeny last edited by booleeny

                                        Hallo,
                                        ich habe die Vorschläge hier benutzt aber wollte bei den Abfageintervallen etwas flexibler sein da ich zunächst gar nich wusste was ich alles abfragen möchte.
                                        Mir hat die NodeRed Info gesagt ich solle bei mehrern Abfragen den flex getter nutzen. Das habe ich gemacht und das läuft seit ein paar Wochen problemlos. Ist jetzt nichts neues nur ein paar Ideen aus diversen Beiträgen hier vermischt damit es für mich passt.

                                        flex_getter.png
                                        flex_getter2.png

                                        Hier der Flow zum importieren:
                                        flow_FlexGetter_Olli_v1.json

                                        Anbei auch nochmal die Modbus Register Definitions
                                        Solar Inverter Modbus Interface Definitions.pdf

                                        Mosel 1992 1 Reply Last reply Reply Quote 1
                                        • Mosel 1992
                                          Mosel 1992 @booleeny last edited by

                                          Hallo, ich versuche gerade meinem Akku beizubringen, dass er Laden soll. Das klappt auch soweit, jedoch habe ich noch nicht herausgefunden, wie ich es schaffe, dass ich ihm die maximale Ladeleistung sagen kann.
                                          [Energ y storag e]Max imum chargi ng power
                                          RW
                                          UIN T32
                                          W
                                          1
                                          47075
                                          2
                                          [0, Upper thres hold]
                                          Defau lt value: 3500;
                                          √

                                          Kann mit jemand erklären, wie ich das Register 47075 mit der Zahl 3000 schreiben kann im Format UINT32?

                                          ich habe ein inject als string mit dem Wert 3000. Wie bekomme ich nun am ende das richtige ins register?

                                          Das wird mir angezeigt, wenn ich das register auslese.

                                          08d78b3f162110b7 : msg.payload : Object
                                          object
                                          data: array[2]
                                          0: 0
                                          1: 5000
                                          buffer: buffer[4]
                                          0: 0x0
                                          1: 0x0
                                          2: 0x13
                                          3: 0x88
                                          

                                          Vielen Dank schon mal

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            cksoft last edited by

                                            Hi,
                                            ich nutze auch den Flow für die Auswertung meines Huawei. Danke dafür, klappt soweit erst mal einwandfrei.

                                            Leider ist immer mal wieder so, dass der Flow seine Arbeit einstellt. D.h. die Werte werden dauerhaft nicht mehr aktualisiert. "Flow neu starten" löst das Problem sofort, allerdings ist dies ja keine produktive Lösung. Fehlermeldungen sehe ich keine.

                                            Gibt es einen Tipp, was dies verursachen könnte oder noch besser Lösungen?

                                            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
                                            176280
                                            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