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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    917

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Scheduled Pinned Locked Moved Node-Red
574 Posts 110 Posters 234.5k 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.
  • kmxakK kmxak

    @badsnoopy667 hier die logs:

    node-red.0
    2023-11-22 18:40:01.019	info	State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"
    
    node-red.0
    2023-11-22 18:40:00.550	info	State value to set for "0_userdata.0.Huawei.Inverter.Peak_Active_Power_of_current_Day" has to be stringified but received type "number"
    
    node-red.0
    2023-11-22 18:39:56.640	info	State value to set for "0_userdata.0.Huawei.Inverter.Input_Power" has to be stringified but received type "number"
    

    An sich sind es ja auch nur Zahlen die kommen

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

    @kmxak

    active_power.png

    Sind Deine Objekte korrekt konfiguriert?

    kmxakK M 2 Replies Last reply
    0
    • B badsnoopy667

      @kmxak

      active_power.png

      Sind Deine Objekte korrekt konfiguriert?

      kmxakK Offline
      kmxakK Offline
      kmxak
      Most Active
      wrote on last edited by
      #477

      @badsnoopy667
      das ist so wie es der flow erzeugt hat. Manuell kann ich es natürlich ändern.

      Gruß Alex

      1 Reply Last reply
      0
      • B badsnoopy667

        @kmxak

        active_power.png

        Sind Deine Objekte korrekt konfiguriert?

        M Offline
        M Offline
        madmat17
        wrote on last edited by
        #478

        @badsnoopy667 was hat's mit deinem Inverter, dass der eine so niedrige Efficiency ausspuckt?
        Oder muss ich mir sorgen über falsche Werte machen, weil bei mir immer 100% angezeigt werden (was ja eigentlich auch Quatsch ist - 100% Effizenz gibt es bei so einem Teil nicht). :thinking_face:

        B 1 Reply Last reply
        0
        • M madmat17

          @badsnoopy667 was hat's mit deinem Inverter, dass der eine so niedrige Efficiency ausspuckt?
          Oder muss ich mir sorgen über falsche Werte machen, weil bei mir immer 100% angezeigt werden (was ja eigentlich auch Quatsch ist - 100% Effizenz gibt es bei so einem Teil nicht). :thinking_face:

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

          @madmat17
          Ach, Efficiency kommt bei mir irgendwie kein brauchbarer Wert mehr. Habe das deaktiviert und den Datenpunkt aber nicht gelöscht. ;)

          1 Reply Last reply
          0
          • M madmat17

            Nun habe ich meinen Flow fertig, den ich hier gerne teile.

            Abfrage der Werte des Huawei Sun2000 Wechselrichters
            Folgendes stand hier im Vordergrund:

            • Aufgrund der Trägheit des Huawei-Dongles die Anzahl der Abfragen so weit es geht reduzieren und damit die Geschwindigkeit erhöhen - daher werden die Register gesammelt abgefragt (aufgrund der Adressabstände mit insgesamt nur 3 Aufrufen je Abfrage)
            • Da die Werte auch in eine Datenbank (InfluxDB) geschrieben werden, sollten ebenfalls so viele Register wie möglich gleichzeitig abgefragt werden (um so weit wie möglich die Datenkonsistenz zu wahren)
            • Von einem 5-Sekunden-Heartbeat ausgehend werden im IOBroker alle 5 Sekunden die relevantesten Werte aktualisiert und in die IOBroker-Objekte geschrieben (so weit nicht neu) - die Objekte werden übrigens ordentlich von node-red angelegt. Nach jedem 12. Beat (also alle 60 Sekunden) werden statt nur(!) der relevantesten Werte alle benötigten Werte (inklusive der relevantesten) vom Modbus gelesen, in die IOBroker-Objekte geschrieben und in eine InfluxDB geschrieben.

            Mein Basis-Flow kommt mit denselben node-red Modulen (node-red-contrib-calc, node-red-contrib-buffer-parser, node-red-contrib-buffer-parser) wie von @badsnoopy667 im allerersten Post angeführt aus.
            Für das Schreiben in die InfluxDB (falls erwünscht) wird noch das Modul node-red-contrib-influxdb benötigt und für den PV-Forecast (siehe weiter unten) noch das Modul node-red-contrib-sun-position.

            Der Basis-Flow mit InfluxDB-Integration und den Elementen zum Schreiben der Register (aus dem ersten Post).
            Screenshot 2023-11-17 132947.png

            PV-Forecast
            Des weiteren werden auch Forecast-Daten von Solcast abgerufen und in die InfluxDB geschrieben, sowie die tatsächlichen Werte an Solcast zurückgeschrieben (Solcast lernt aus den zurückgelieferten Werten und die Freunde können so ihren Dienst verbessern.
            Leider kann ich mich beim besten Willen nicht mehr erinnern, wo ich den Flow her habe (er stammt NICHT aus meiner Feder). ABER ihr braucht dafür einen Solcast-Account, eine in eurem Account angelegte PV-Anlage und einen API-Key zum Abfragen der Werte.

            • Account und Anlage der PV-Anlage: https://toolkit.solcast.com.au/
            • API-Key kann dann hier erstellt werden: https://toolkit.solcast.com.au/account/api-key

            Nach dem Anlegen der PV-Anlage (Position, Dimensionierung, Ausrichtung, ...) bekommt die Anlage eine ID, über welche die auf die Anlage bezogenen Forecast-Werte abgerufen werden können. Diese URL ist im Flow in den nodes "Solcast API - get Live+Forecast JSON", "Solcast API - get Past + Estimated Actuals" und "Solcast API - post measurements" abzulegen. Ebenfalls in diesen Nodes ist unter "Token" euer API-Key (nicht zu verwechseln mit der Anlagen-ID!) zu hinterlegen.

            Änderung der Namen der Datenpunkte:
            Wird in diesem Post erläutert: https://forum.iobroker.net/post/1084664

            Viel Spaß damit. ;-)
            Huawei_Sun2000_InfluxDB_Solcast.txt

            LG,
            Mat

            EDIT:
            Es gibt noch ein Problem mit dem Timing. Die Abfragen über meine alte node-red Instanz (lief auf einem x86 FreeBSD-Derivat) war in dieser Konfiguration problemlos; im aktuellen Setup (node-red im ioBroker auf einem RasPi) wirft extrem viele Time-Outs und Warning (Inject Node not ready). Wenn ich auf die Lösung gekommen bin, gibt es ein Update zu meinem Flow...
            Das Problem mit den Timeouts hat sich in Wohlgefallen aufgelöst. Mehr dazu hier: https://forum.iobroker.net/topic/51639/howto-huawei-sun2000-wr-modbus-mit-node-red-read-write/485

            M Offline
            M Offline
            madmat17
            wrote on last edited by madmat17
            #480

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

            Ach, Efficiency kommt bei mir irgendwie kein brauchbarer Wert mehr. Habe das deaktiviert und den Datenpunkt aber nicht gelöscht.

            Ich habe das bei mir bislang auch geflissentlich ignoriert. Vielleicht ist es an der Zeit, den Datenpunkt komplett rauszuschmeißen...
            .
            .

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

            Es gibt noch ein Problem mit dem Timing. Die Abfragen über meine alte node-red Instanz (lief auf einem x86 FreeBSD-Derivat) war in dieser Konfiguration problemlos; im aktuellen Setup (node-red im ioBroker auf einem RasPi) wirft extrem viele Time-Outs und Warning (Inject Node not ready). Wenn ich auf die Lösung gekommen bin, gibt es ein Update zu meinem Flow...

            Aktuell habe ich noch kein Muster in den Timeouts erkannt, wenn sie auftreten.
            ABER manchmal bekomme ich innerhalb von 1 Minute duzende und manchmal ganz sporadisch. Was aber besonders interessant ist: Wenn weniger Netzwerk-Clients aktiv sind (zwischen 23 Uhr und 5 Uhr morgens) gibt es keine Timeouts.
            Zudem haben die Timeouts abgenommen, seitdem der RasPi (auf dem ioBroker / node-red läuft) aus dem WLAN ins Ethernet gewander ist.

            FRAGE:
            Hat jemand ein ähnliches Setup (ioBroker auf einem RasPi) und nutzt meinen Flow und sieht Timeout-Meldungen vom Modbus?
            Eventuell liegt es gar nicht am Flow, sondern an meiner Netzwerkkonfiguration. Sollte der Flow bei anderen dieses Verhalten nicht zeigen, wäre das zumindest schon ein Indikator.

            LG,
            Mat

            F D 2 Replies Last reply
            0
            • M madmat17

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

              Ach, Efficiency kommt bei mir irgendwie kein brauchbarer Wert mehr. Habe das deaktiviert und den Datenpunkt aber nicht gelöscht.

              Ich habe das bei mir bislang auch geflissentlich ignoriert. Vielleicht ist es an der Zeit, den Datenpunkt komplett rauszuschmeißen...
              .
              .

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

              Es gibt noch ein Problem mit dem Timing. Die Abfragen über meine alte node-red Instanz (lief auf einem x86 FreeBSD-Derivat) war in dieser Konfiguration problemlos; im aktuellen Setup (node-red im ioBroker auf einem RasPi) wirft extrem viele Time-Outs und Warning (Inject Node not ready). Wenn ich auf die Lösung gekommen bin, gibt es ein Update zu meinem Flow...

              Aktuell habe ich noch kein Muster in den Timeouts erkannt, wenn sie auftreten.
              ABER manchmal bekomme ich innerhalb von 1 Minute duzende und manchmal ganz sporadisch. Was aber besonders interessant ist: Wenn weniger Netzwerk-Clients aktiv sind (zwischen 23 Uhr und 5 Uhr morgens) gibt es keine Timeouts.
              Zudem haben die Timeouts abgenommen, seitdem der RasPi (auf dem ioBroker / node-red läuft) aus dem WLAN ins Ethernet gewander ist.

              FRAGE:
              Hat jemand ein ähnliches Setup (ioBroker auf einem RasPi) und nutzt meinen Flow und sieht Timeout-Meldungen vom Modbus?
              Eventuell liegt es gar nicht am Flow, sondern an meiner Netzwerkkonfiguration. Sollte der Flow bei anderen dieses Verhalten nicht zeigen, wäre das zumindest schon ein Indikator.

              LG,
              Mat

              F Offline
              F Offline
              Franzosenfranz
              wrote on last edited by
              #481

              @madmat17

              Ich habe das selbe Setup (RasPi 4 Modell B, 8GB), habe aber keine Meldungen bezüglich Timeouts.
              Gefühlt habe ich jedoch auch recht viele Clients im Netzwerk. :blush:

              M 1 Reply Last reply
              0
              • F Franzosenfranz

                @madmat17

                Ich habe das selbe Setup (RasPi 4 Modell B, 8GB), habe aber keine Meldungen bezüglich Timeouts.
                Gefühlt habe ich jedoch auch recht viele Clients im Netzwerk. :blush:

                M Offline
                M Offline
                madmat17
                wrote on last edited by
                #482

                @franzosenfranz
                Danke dir! Und nutzt den Flow, den ich gepostet habe?

                F 1 Reply Last reply
                0
                • M madmat17

                  @franzosenfranz
                  Danke dir! Und nutzt den Flow, den ich gepostet habe?

                  F Offline
                  F Offline
                  Franzosenfranz
                  wrote on last edited by
                  #483

                  @madmat17

                  Entschuldige, nein den von badsnoopy667 hier aus dem Forum.

                  1 Reply Last reply
                  0
                  • M madmat17

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

                    Ach, Efficiency kommt bei mir irgendwie kein brauchbarer Wert mehr. Habe das deaktiviert und den Datenpunkt aber nicht gelöscht.

                    Ich habe das bei mir bislang auch geflissentlich ignoriert. Vielleicht ist es an der Zeit, den Datenpunkt komplett rauszuschmeißen...
                    .
                    .

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

                    Es gibt noch ein Problem mit dem Timing. Die Abfragen über meine alte node-red Instanz (lief auf einem x86 FreeBSD-Derivat) war in dieser Konfiguration problemlos; im aktuellen Setup (node-red im ioBroker auf einem RasPi) wirft extrem viele Time-Outs und Warning (Inject Node not ready). Wenn ich auf die Lösung gekommen bin, gibt es ein Update zu meinem Flow...

                    Aktuell habe ich noch kein Muster in den Timeouts erkannt, wenn sie auftreten.
                    ABER manchmal bekomme ich innerhalb von 1 Minute duzende und manchmal ganz sporadisch. Was aber besonders interessant ist: Wenn weniger Netzwerk-Clients aktiv sind (zwischen 23 Uhr und 5 Uhr morgens) gibt es keine Timeouts.
                    Zudem haben die Timeouts abgenommen, seitdem der RasPi (auf dem ioBroker / node-red läuft) aus dem WLAN ins Ethernet gewander ist.

                    FRAGE:
                    Hat jemand ein ähnliches Setup (ioBroker auf einem RasPi) und nutzt meinen Flow und sieht Timeout-Meldungen vom Modbus?
                    Eventuell liegt es gar nicht am Flow, sondern an meiner Netzwerkkonfiguration. Sollte der Flow bei anderen dieses Verhalten nicht zeigen, wäre das zumindest schon ein Indikator.

                    LG,
                    Mat

                    D Offline
                    D Offline
                    Doom.86
                    wrote on last edited by
                    #484

                    @madmat17 Hallo Madmat. Erstmal vielen dank für deine erklärung. So langsam steige ich bei deinem Flow etwas dahinter.

                    Ich hatte tatsächlich das Problem mit dem Error, als ich deinen Flow genutzt habe.

                    node-red.0
                    2023-11-18 11:01:18.833	error	18 Nov 11:01:18 - [error] [modbus-getter:Inverter Data 32000-32116 Inverter 1] Error: Timed out at /opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-modbus/modbus/maps/core/core/modbus-client-core.js:79:156
                     
                    node-red.0
                    2023-11-18 11:01:18.832	warn	18 Nov 11:01:18 - [warn] [modbus-getter:Battery Charging Power 37001] Modbus Failure On State sending Get More About It By Logging
                     
                    node-red.0
                    2023-11-18 11:01:18.831	warn	18 Nov 11:01:18 - [warn] [modbus-getter:Input Power & Inverter Active Power Inverter 1] Modbus Failure On State sending Get More About It By Logging
                     
                    node-red.0
                    2023-11-18 11:00:07.336	warn	18 Nov 11:00:07 - [warn] [modbus-getter:Input Power & Inverter Active Power Inverter 1] Getter -> Inject while node is not ready for input.
                    
                    

                    Ich nutze aktuell wieder den Flow, wo mehrere Register gleichzeitig abgerufen werden.
                    Seit ich mal mit dem Register für Force Charge gespielt habe, ist mein Dongel eine richtige Diva geworden. Ich konnte davor alle Register in einem 8 Sekunden Intervall abrufen.
                    Seit dem Rumspielen bin ich jetzt bei alle 20 Sekunden und zwischen den Registern noch 5 Sekunden Pause. Trotzdem bekomme ich ab und an die Meldung, Node is not ready. Das selbe Problem habe ich auch, mit dem Flow im Eingangspost.

                    Bei deinem Flow kommt leider noch der error mit timeout und diw Warnung mit Sending more about logging.

                    Wie ich dieses Diva verhalten des Dongels wieder löse, weiß ich leider nicht. Ich bin schon mit meinem Raspberry Pi 4 4gb von einem USB stick auf eine SSD umgezogen. Hat aber leider keinen unterschied gemacht.

                    Gibt es vielleicht in Nodered eine Möglichkeit, wenn er mit der ersten Node die abfrage macht, erst zur zweiten node geht, wenn er bei der ersten die Daten erhalten hat?

                    M 1 Reply Last reply
                    0
                    • D Doom.86

                      @madmat17 Hallo Madmat. Erstmal vielen dank für deine erklärung. So langsam steige ich bei deinem Flow etwas dahinter.

                      Ich hatte tatsächlich das Problem mit dem Error, als ich deinen Flow genutzt habe.

                      node-red.0
                      2023-11-18 11:01:18.833	error	18 Nov 11:01:18 - [error] [modbus-getter:Inverter Data 32000-32116 Inverter 1] Error: Timed out at /opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-modbus/modbus/maps/core/core/modbus-client-core.js:79:156
                       
                      node-red.0
                      2023-11-18 11:01:18.832	warn	18 Nov 11:01:18 - [warn] [modbus-getter:Battery Charging Power 37001] Modbus Failure On State sending Get More About It By Logging
                       
                      node-red.0
                      2023-11-18 11:01:18.831	warn	18 Nov 11:01:18 - [warn] [modbus-getter:Input Power & Inverter Active Power Inverter 1] Modbus Failure On State sending Get More About It By Logging
                       
                      node-red.0
                      2023-11-18 11:00:07.336	warn	18 Nov 11:00:07 - [warn] [modbus-getter:Input Power & Inverter Active Power Inverter 1] Getter -> Inject while node is not ready for input.
                      
                      

                      Ich nutze aktuell wieder den Flow, wo mehrere Register gleichzeitig abgerufen werden.
                      Seit ich mal mit dem Register für Force Charge gespielt habe, ist mein Dongel eine richtige Diva geworden. Ich konnte davor alle Register in einem 8 Sekunden Intervall abrufen.
                      Seit dem Rumspielen bin ich jetzt bei alle 20 Sekunden und zwischen den Registern noch 5 Sekunden Pause. Trotzdem bekomme ich ab und an die Meldung, Node is not ready. Das selbe Problem habe ich auch, mit dem Flow im Eingangspost.

                      Bei deinem Flow kommt leider noch der error mit timeout und diw Warnung mit Sending more about logging.

                      Wie ich dieses Diva verhalten des Dongels wieder löse, weiß ich leider nicht. Ich bin schon mit meinem Raspberry Pi 4 4gb von einem USB stick auf eine SSD umgezogen. Hat aber leider keinen unterschied gemacht.

                      Gibt es vielleicht in Nodered eine Möglichkeit, wenn er mit der ersten Node die abfrage macht, erst zur zweiten node geht, wenn er bei der ersten die Daten erhalten hat?

                      M Offline
                      M Offline
                      madmat17
                      wrote on last edited by madmat17
                      #485

                      @doom-86
                      Die Firmware auf dem Dongle ist einfach der letzte Mist.
                      Bei mir hat sich das Teil komplett weggehängt, als ich das Netzwerk manuell umkonfiguriert habe (und ich weiß, was ich da tue).

                      Ich habe mittlerweile hab eich die node-Warnungen (Inject before ready) nicht mehr und auch nur noch ganz sporadische Timeout-Error. Sporadisch heißt in dem Fall rund alle 30 Minuten einmal einen Error (= 0,06% aller Abfragen bei einem 5-Sekunden-Intervall). Das ist meiner Meinung nach noch vertretbar.

                      Was ich gemacht habe:

                      • Meinen Dongle wieder auf die eingeschränkte Modbus TCP Kommunikation umgestellt, sodass nur noch Pakete von einer Client-IP (= ioBroker) akzeptiert werden.
                        Ich weiß nicht warum, aber scheinbar war der Dongle mit den UDP- und IxMP-Paketen überfordert. Warum das so ist, geht mir nicht ganz ein, aber sei es drum...
                      • Den Dongle vom WR komplett abgesteckt, das gesamte Netzwerk neu durchgestartet, ioBroker neu gestartet, Dongle wieder angeschlossen

                      Die Firmware dürfte auf bestimmte Dinge ganz allergisch reagieren und braucht dann einen Reset.
                      Aber wie das zu deinem Problem mit dem Force Charge passt, kann ich nicht sagen. Das kann mit dem Dongle (meiner bescheidenen Meinung nach) nichts zu tun haben, weil der Dongle ja nur die Pakete zum Wechselrichter durchreicht.

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

                      Gibt es vielleicht in Nodered eine Möglichkeit, wenn er mit der ersten Node die abfrage macht, erst zur zweiten node geht, wenn er bei der ersten die Daten erhalten hat?

                      Den Effekt sollte man in node-red immer dann erreichen, wenn ein nodem dem anderen nachgereiht ist.
                      Der Output des ersten Nodes liefert erst eine Message, wenn er seine Aufgabe abgeschlossen hat. Diese Message nutzt man bei Bedarf, um den nachgelagerten Node über den Input zu triggern.

                      LG,
                      Mat

                      D geo-ioanG 2 Replies Last reply
                      0
                      • M madmat17

                        @doom-86
                        Die Firmware auf dem Dongle ist einfach der letzte Mist.
                        Bei mir hat sich das Teil komplett weggehängt, als ich das Netzwerk manuell umkonfiguriert habe (und ich weiß, was ich da tue).

                        Ich habe mittlerweile hab eich die node-Warnungen (Inject before ready) nicht mehr und auch nur noch ganz sporadische Timeout-Error. Sporadisch heißt in dem Fall rund alle 30 Minuten einmal einen Error (= 0,06% aller Abfragen bei einem 5-Sekunden-Intervall). Das ist meiner Meinung nach noch vertretbar.

                        Was ich gemacht habe:

                        • Meinen Dongle wieder auf die eingeschränkte Modbus TCP Kommunikation umgestellt, sodass nur noch Pakete von einer Client-IP (= ioBroker) akzeptiert werden.
                          Ich weiß nicht warum, aber scheinbar war der Dongle mit den UDP- und IxMP-Paketen überfordert. Warum das so ist, geht mir nicht ganz ein, aber sei es drum...
                        • Den Dongle vom WR komplett abgesteckt, das gesamte Netzwerk neu durchgestartet, ioBroker neu gestartet, Dongle wieder angeschlossen

                        Die Firmware dürfte auf bestimmte Dinge ganz allergisch reagieren und braucht dann einen Reset.
                        Aber wie das zu deinem Problem mit dem Force Charge passt, kann ich nicht sagen. Das kann mit dem Dongle (meiner bescheidenen Meinung nach) nichts zu tun haben, weil der Dongle ja nur die Pakete zum Wechselrichter durchreicht.

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

                        Gibt es vielleicht in Nodered eine Möglichkeit, wenn er mit der ersten Node die abfrage macht, erst zur zweiten node geht, wenn er bei der ersten die Daten erhalten hat?

                        Den Effekt sollte man in node-red immer dann erreichen, wenn ein nodem dem anderen nachgereiht ist.
                        Der Output des ersten Nodes liefert erst eine Message, wenn er seine Aufgabe abgeschlossen hat. Diese Message nutzt man bei Bedarf, um den nachgelagerten Node über den Input zu triggern.

                        LG,
                        Mat

                        D Offline
                        D Offline
                        Doom.86
                        wrote on last edited by Doom.86
                        #486

                        @madmat17
                        Ich habe keine Ahnung, was ich gemacht habe, ich habe jetzt an meinem Flow so lange rumgespielt, bis mir auch meine Influxdb beschrieben wird. Siehe da, inzwischen bin ich wieder auf meinem 10 Sekunden Intervall.

                        Gestern hatte ich noch mein Netzwerk neu gestartet (so wie du es beschrieben hattest), den Raspberry direkt an die Fritzbox gehängt, weil dort schon der Dongel angeschlossen war (Wollte ausschließen, dass durch den switch irgendetwas untergeht oder verzögert wird). Die beiden Wechselrichter und die Luna hatte ich für ca. 15 - 20 Minuten komplett ausgeschaltet.
                        Das ganze hat Gestern Abend nur leider nichts gebracht.

                        Für Interessenten hier der Flow: Huawei NodeRed.txt
                        Es ist eine Mischung aus dem Flow von Mat und dem Flow, wo mehrere Register gleichzeitig abgefragt werde.
                        Die Mischung deswegen, weil ich wie von Mat die Daten in einer Influxdb haben wollte, aber zum anderen nicht auf meine aktuellen Datenpunkte verzichten. Ansonsten hätte ich einiges im Iobroker noch ändern müssen.

                        Aktuell versuche ich den Teil mit Solecast in einem Seperaten Flow zum kaufen zu bringen. Erstmal nur das Abfragen und schrieben in die Influxdb. Senden an Solecast soll kommen, wenn der erste Teil funktioniert.

                        Genau da habe ich auch mein Problem. ich habe keinerlei Meldungen, aber Es wurden nur mal 4 Datenpunkte mit Estimate in die Influxdb geschrieben. Auch nur einmal. Von Forecast absolut gar nichts.

                        Vielleicht kannst du mir dort noch weiterhelfen?

                        LG,
                        Flo

                        M 1 Reply Last reply
                        0
                        • D Doom.86

                          @madmat17
                          Ich habe keine Ahnung, was ich gemacht habe, ich habe jetzt an meinem Flow so lange rumgespielt, bis mir auch meine Influxdb beschrieben wird. Siehe da, inzwischen bin ich wieder auf meinem 10 Sekunden Intervall.

                          Gestern hatte ich noch mein Netzwerk neu gestartet (so wie du es beschrieben hattest), den Raspberry direkt an die Fritzbox gehängt, weil dort schon der Dongel angeschlossen war (Wollte ausschließen, dass durch den switch irgendetwas untergeht oder verzögert wird). Die beiden Wechselrichter und die Luna hatte ich für ca. 15 - 20 Minuten komplett ausgeschaltet.
                          Das ganze hat Gestern Abend nur leider nichts gebracht.

                          Für Interessenten hier der Flow: Huawei NodeRed.txt
                          Es ist eine Mischung aus dem Flow von Mat und dem Flow, wo mehrere Register gleichzeitig abgefragt werde.
                          Die Mischung deswegen, weil ich wie von Mat die Daten in einer Influxdb haben wollte, aber zum anderen nicht auf meine aktuellen Datenpunkte verzichten. Ansonsten hätte ich einiges im Iobroker noch ändern müssen.

                          Aktuell versuche ich den Teil mit Solecast in einem Seperaten Flow zum kaufen zu bringen. Erstmal nur das Abfragen und schrieben in die Influxdb. Senden an Solecast soll kommen, wenn der erste Teil funktioniert.

                          Genau da habe ich auch mein Problem. ich habe keinerlei Meldungen, aber Es wurden nur mal 4 Datenpunkte mit Estimate in die Influxdb geschrieben. Auch nur einmal. Von Forecast absolut gar nichts.

                          Vielleicht kannst du mir dort noch weiterhelfen?

                          LG,
                          Flo

                          M Offline
                          M Offline
                          madmat17
                          wrote on last edited by madmat17
                          #487

                          @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
                          0
                          • M 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 Offline
                            D Offline
                            Doom.86
                            wrote on last edited by Doom.86
                            #488

                            @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. :grin:

                            M 1 Reply Last reply
                            0
                            • D 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. :grin:

                              M Offline
                              M Offline
                              madmat17
                              wrote on last edited by
                              #489

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

                              1 Reply Last reply
                              0
                              • M madmat17

                                @doom-86
                                Die Firmware auf dem Dongle ist einfach der letzte Mist.
                                Bei mir hat sich das Teil komplett weggehängt, als ich das Netzwerk manuell umkonfiguriert habe (und ich weiß, was ich da tue).

                                Ich habe mittlerweile hab eich die node-Warnungen (Inject before ready) nicht mehr und auch nur noch ganz sporadische Timeout-Error. Sporadisch heißt in dem Fall rund alle 30 Minuten einmal einen Error (= 0,06% aller Abfragen bei einem 5-Sekunden-Intervall). Das ist meiner Meinung nach noch vertretbar.

                                Was ich gemacht habe:

                                • Meinen Dongle wieder auf die eingeschränkte Modbus TCP Kommunikation umgestellt, sodass nur noch Pakete von einer Client-IP (= ioBroker) akzeptiert werden.
                                  Ich weiß nicht warum, aber scheinbar war der Dongle mit den UDP- und IxMP-Paketen überfordert. Warum das so ist, geht mir nicht ganz ein, aber sei es drum...
                                • Den Dongle vom WR komplett abgesteckt, das gesamte Netzwerk neu durchgestartet, ioBroker neu gestartet, Dongle wieder angeschlossen

                                Die Firmware dürfte auf bestimmte Dinge ganz allergisch reagieren und braucht dann einen Reset.
                                Aber wie das zu deinem Problem mit dem Force Charge passt, kann ich nicht sagen. Das kann mit dem Dongle (meiner bescheidenen Meinung nach) nichts zu tun haben, weil der Dongle ja nur die Pakete zum Wechselrichter durchreicht.

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

                                Gibt es vielleicht in Nodered eine Möglichkeit, wenn er mit der ersten Node die abfrage macht, erst zur zweiten node geht, wenn er bei der ersten die Daten erhalten hat?

                                Den Effekt sollte man in node-red immer dann erreichen, wenn ein nodem dem anderen nachgereiht ist.
                                Der Output des ersten Nodes liefert erst eine Message, wenn er seine Aufgabe abgeschlossen hat. Diese Message nutzt man bei Bedarf, um den nachgelagerten Node über den Input zu triggern.

                                LG,
                                Mat

                                geo-ioanG Offline
                                geo-ioanG Offline
                                geo-ioan
                                wrote on last edited by
                                #490

                                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-ioanG B 2 Replies Last reply
                                0
                                • geo-ioanG geo-ioan

                                  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-ioanG Offline
                                  geo-ioanG Offline
                                  geo-ioan
                                  wrote on last edited by
                                  #491

                                  @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
                                  0
                                  • geo-ioanG geo-ioan

                                    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

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

                                    @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-ioanG 1 Reply Last reply
                                    0
                                    • B 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-ioanG Offline
                                      geo-ioanG Offline
                                      geo-ioan
                                      wrote on last edited by
                                      #493

                                      @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
                                      0
                                      • geo-ioanG geo-ioan

                                        @badsnoopy667

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

                                        2.jpg 1.jpg

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

                                        @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-ioanG 1 Reply Last reply
                                        0
                                        • B badsnoopy667

                                          @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-ioanG Offline
                                          geo-ioanG Offline
                                          geo-ioan
                                          wrote on last edited by
                                          #495

                                          @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-ioanG 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

                                          535

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          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