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
    1.9k

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

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
574 Beiträge 110 Kommentatoren 223.4k 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.
  • 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 Online
      B Online
      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
        • 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
          Bolli
          schrieb am zuletzt editiert von
          #447

          @doom-86 ich versuche das “ac laden” aktivieren bzw deaktivieren
          Es ist ja das register : 47087: nur geht das so sporatisch und ich weiss nicht warum.
          Welchen wert hat das false oder true ? Ist das ein Zahlenwert oder kann man den Zustand ändern ?

          D 1 Antwort Letzte Antwort
          0
          • B Bolli

            @doom-86 ich versuche das “ac laden” aktivieren bzw deaktivieren
            Es ist ja das register : 47087: nur geht das so sporatisch und ich weiss nicht warum.
            Welchen wert hat das false oder true ? Ist das ein Zahlenwert oder kann man den Zustand ändern ?

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

            @bolli das ist nur dazu da. Um allgemein ac laden zu erlauben. 1=an und 0=aus. Ich hab es inzwischen durchgehend an, um die Batterie mit dem zweiten Wechselrichter zu beladen.

            Zu dem sporadischen, Abfrage Intervall erhöhen oder eine Pause einbauen. Pause, dass bei Wert Änderung die Abfrage pausiert wird. Wird sonst zu viel und manche Sachen gehen dann unter.

            B 1 Antwort 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.

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

              @doom-86
              Nach ein paar Node-Red Anfängerfehlern hab ich es dann letztlich hinbekommen :)

              Vielen Dank!

              1 Antwort Letzte Antwort
              0
              • D Doom.86

                @bolli das ist nur dazu da. Um allgemein ac laden zu erlauben. 1=an und 0=aus. Ich hab es inzwischen durchgehend an, um die Batterie mit dem zweiten Wechselrichter zu beladen.

                Zu dem sporadischen, Abfrage Intervall erhöhen oder eine Pause einbauen. Pause, dass bei Wert Änderung die Abfrage pausiert wird. Wird sonst zu viel und manche Sachen gehen dann unter.

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

                @doom-86 die funktion ist mir klar. Habe ja drei in kaskade. Nur der wo die batterie dran ist hat aktuelle vergütung . Darum möchte ich so viel wie nötig nur das ac laden aktiv haben. Ob du evtl mal die Abfrage einstellen könntest ?

                1 Antwort Letzte Antwort
                0
                • D Doom.86

                  @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 Online
                  B Online
                  badsnoopy667
                  schrieb am zuletzt editiert von badsnoopy667
                  #451

                  @doom-86
                  DAS war der entscheidende Hinweis: Die TOU Zeiten in der App einstellen! Vielen Dank!

                  Ich hab es jetzt hinbekommen, die Batterie zu beliebigen Zeiten automatisch zu laden!

                  • AC Laden muss auf 1 stehen (Register 47087). Kann auch mMn permanent auf 1 bleiben.
                  • Battery Working Mode (Register 47086) kann zwischen 2 (Maximaler Eigenverbrauch) und 5 (TOU, zeitgesteuert Laden) umgestellt werden.
                  • Man definiert dann in der Huawei FusionSolar App unter Geräte - Dongle - Parametereinstellungen (die 4 Punkte oben rechts) einfach eine Zeit von 0:00 bis 23:59 jeden Tag "laden" (also den ganzen Tag). Dafür muss die Batterie auf TOU (5) gestellt sein.
                  • Sobald man jetzt per Modbus das Register 47086 von 2 auf 5 umschaltet, fängt die Batterie aus dem Netz an zu laden.
                  • Maximaler Ladestrom kann über Register 47075 eingestellt werden.
                  • Stellt man den Working Mode wieder zurück auf 2, hört das Netzladen auf und die Batterie verhält sich wieder "normal".

                  Ich werde bei Gelegenheit im Anfangspost die Hinweise ergänzen und auch mein neues Skript hochladen. Da ist noch eine Lese-Pause beim Schreiben eingebaut, damit das Schreiben auch zuverlässig funktioniert.

                  D 1 Antwort Letzte Antwort
                  0
                  • B badsnoopy667

                    @doom-86
                    DAS war der entscheidende Hinweis: Die TOU Zeiten in der App einstellen! Vielen Dank!

                    Ich hab es jetzt hinbekommen, die Batterie zu beliebigen Zeiten automatisch zu laden!

                    • AC Laden muss auf 1 stehen (Register 47087). Kann auch mMn permanent auf 1 bleiben.
                    • Battery Working Mode (Register 47086) kann zwischen 2 (Maximaler Eigenverbrauch) und 5 (TOU, zeitgesteuert Laden) umgestellt werden.
                    • Man definiert dann in der Huawei FusionSolar App unter Geräte - Dongle - Parametereinstellungen (die 4 Punkte oben rechts) einfach eine Zeit von 0:00 bis 23:59 jeden Tag "laden" (also den ganzen Tag). Dafür muss die Batterie auf TOU (5) gestellt sein.
                    • Sobald man jetzt per Modbus das Register 47086 von 2 auf 5 umschaltet, fängt die Batterie aus dem Netz an zu laden.
                    • Maximaler Ladestrom kann über Register 47075 eingestellt werden.
                    • Stellt man den Working Mode wieder zurück auf 2, hört das Netzladen auf und die Batterie verhält sich wieder "normal".

                    Ich werde bei Gelegenheit im Anfangspost die Hinweise ergänzen und auch mein neues Skript hochladen. Da ist noch eine Lese-Pause beim Schreiben eingebaut, damit das Schreiben auch zuverlässig funktioniert.

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

                    @badsnoopy667 oh man. Ja manchmal sieht man den Wald vor lauter Bäume nicht mehr.
                    Ich habe viel zu kompliziert gedacht und wollte die Zeiten von tou schreiben.
                    Ist eine gute Idee von dir.

                    B 1 Antwort Letzte Antwort
                    0
                    • D Doom.86

                      @badsnoopy667 oh man. Ja manchmal sieht man den Wald vor lauter Bäume nicht mehr.
                      Ich habe viel zu kompliziert gedacht und wollte die Zeiten von tou schreiben.
                      Ist eine gute Idee von dir.

                      B Online
                      B Online
                      badsnoopy667
                      schrieb am zuletzt editiert von
                      #453

                      Ich habe jetzt den 1. Post angepasst und die Anleitung nochmal etwas strukturierter aufgeschrieben. Ich hoffe das ist jetzt noch einfacher verständlich! Außerdem habe ich meinen aktuellsten Flow hochgeladen.

                      D 1 Antwort Letzte Antwort
                      0
                      • B badsnoopy667

                        Ich habe jetzt den 1. Post angepasst und die Anleitung nochmal etwas strukturierter aufgeschrieben. Ich hoffe das ist jetzt noch einfacher verständlich! Außerdem habe ich meinen aktuellsten Flow hochgeladen.

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

                        @badsnoopy667 ich habe mir deinen Flow mal angeschaut, wieso nutzt du die einzelnen Abfragen und nicht den flow: @spexx sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                        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

                        B 1 Antwort Letzte Antwort
                        0
                        • D Doom.86

                          @badsnoopy667 ich habe mir deinen Flow mal angeschaut, wieso nutzt du die einzelnen Abfragen und nicht den flow: @spexx sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                          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

                          B Online
                          B Online
                          badsnoopy667
                          schrieb am zuletzt editiert von
                          #455

                          @doom-86
                          Ja, das Abfragen von ganzen Adressbereichen ist sicherlich sinnvoll.
                          Ich hatte das Problem, dass der Flow von spexx nur 1x die Minute abfragt, auch die relevanten Werte. Das ist mir zu wenig. Dann hätte ich wieder alles umbauen müssen. Der Flow mit den Einzelabfragen funktioniert bei mir gut, daher habe ich mich dann nicht mehr damit beschäftigt.
                          Im Eingangspost habe ich "meinen" Flow verlinkt, weil ich weiß, das der geht. Der von spexx wird auch gehen, klar. Aber damit habe ich mich nicht beschäftigt. Ich kann ja nochmal auf den anderen Flow verweisen.

                          D 1 Antwort Letzte Antwort
                          0
                          • B badsnoopy667

                            @doom-86
                            Ja, das Abfragen von ganzen Adressbereichen ist sicherlich sinnvoll.
                            Ich hatte das Problem, dass der Flow von spexx nur 1x die Minute abfragt, auch die relevanten Werte. Das ist mir zu wenig. Dann hätte ich wieder alles umbauen müssen. Der Flow mit den Einzelabfragen funktioniert bei mir gut, daher habe ich mich dann nicht mehr damit beschäftigt.
                            Im Eingangspost habe ich "meinen" Flow verlinkt, weil ich weiß, das der geht. Der von spexx wird auch gehen, klar. Aber damit habe ich mich nicht beschäftigt. Ich kann ja nochmal auf den anderen Flow verweisen.

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

                            @badsnoopy667 ich habe bei dem Flow von spexx die Pausen raus genommen und alles im 11 sekunden Intervall abfragen lassen. Hat gut funktioniert, bis mein usb stick nicht mehr 100% mag. Jetzt bin ich bei 18 sekunden und es kommt immer wieder mal, das die erste node nicht bereit ist.
                            Ich habe mir das umziehen auf eine ssd mit klonen des usb stick leichter vorgestellt. Leider spiele ich daran noch Rum.

                            1 Antwort Letzte Antwort
                            0
                            • B badsnoopy667

                              @firebowl
                              Falls Du das tust, bitte gibt hier mal Rückmeldung! Dann muss ich das nicht auch noch tun. Habe nämlich kein HA und müsste zum testen erst alles neu aufsetzen und mich reinarbeiten.

                              F Offline
                              F Offline
                              firebowl
                              schrieb am zuletzt editiert von
                              #457

                              @badsnoopy667 Hab die HA Integration mal kurz getestet. Prinzipiell sollte damit genau das funktionieren was wir wollen. Allerdings habe ich das Problem, dass bei der Einrichtung nicht nach der Installer Kennung und dem PW gefragt wird und somit sind genau die gewünschten Einstellungen nicht änderbar. Das Problem gab es laut git schon mal und wurde irgendwie behoben. Denk ich mach mal ein neues Issue im git auf.

                              B 1 Antwort Letzte Antwort
                              0
                              • F firebowl

                                @badsnoopy667 Hab die HA Integration mal kurz getestet. Prinzipiell sollte damit genau das funktionieren was wir wollen. Allerdings habe ich das Problem, dass bei der Einrichtung nicht nach der Installer Kennung und dem PW gefragt wird und somit sind genau die gewünschten Einstellungen nicht änderbar. Das Problem gab es laut git schon mal und wurde irgendwie behoben. Denk ich mach mal ein neues Issue im git auf.

                                B Online
                                B Online
                                badsnoopy667
                                schrieb am zuletzt editiert von
                                #458

                                @firebowl
                                Danke für's ausprobieren!
                                Ich habe mittlerweile mit Hilfe von @Doom-86 rausbekommen wie man die Batterie per Modbus zum laden überreden kann. Das scheint erstmal ganz gut zu funktionieren! Von daher würde ich mir die HA Integration erstmal ersparen.
                                Habe die Anleitung wie man das mit iobroker (und der FusionSolar App) hinbekommt im 1. Post unter Kapitel 4.1 hinzugefügt.

                                F 1 Antwort Letzte Antwort
                                0
                                • B badsnoopy667

                                  @firebowl
                                  Danke für's ausprobieren!
                                  Ich habe mittlerweile mit Hilfe von @Doom-86 rausbekommen wie man die Batterie per Modbus zum laden überreden kann. Das scheint erstmal ganz gut zu funktionieren! Von daher würde ich mir die HA Integration erstmal ersparen.
                                  Habe die Anleitung wie man das mit iobroker (und der FusionSolar App) hinbekommt im 1. Post unter Kapitel 4.1 hinzugefügt.

                                  F Offline
                                  F Offline
                                  firebowl
                                  schrieb am zuletzt editiert von
                                  #459

                                  @badsnoopy667 Auch ne coole Option!
                                  Allerdings hab ich meinen Dongle durchs probieren vorhin glaub beleidigt. Aktuell bekomm ich per Node-RED keine Daten mehr.
                                  Die HA Integration ist deaktiviert aber beim starten der Flows im ioBroker kommt nur:

                                  
                                  node-red.0
                                  2023-11-06 14:41:04.264	warn	6 Nov 14:41:04 - [warn] [modbus-getter:37113] Getter -> Inject while node is not ready for input.
                                  
                                  node-red.0
                                  2023-11-06 14:41:04.260	warn	6 Nov 14:41:04 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
                                  
                                  node-red.0
                                  2023-11-06 14:41:04.061	warn	6 Nov 14:41:04 - [warn] Verschlüsselte Credentials nicht gefunden
                                  

                                  Damit werden einmalig Daten gelesen und dann macht er nix mehr.
                                  Mal schauen ob ziehen und stecken des Dongle was hilft.

                                  1 Antwort Letzte Antwort
                                  0
                                  • B badsnoopy667

                                    @madmat17
                                    Das klingt spannend. Kannst du deinen Flow Mal Posten? Danke Dir!

                                    M Offline
                                    M Offline
                                    madmat17
                                    schrieb am zuletzt editiert von
                                    #460

                                    @badsnoopy667
                                    Herrje - es tut mir unendlich leid. Ich war lange nicht im Forum aktiv (da ich selber IOBroker nicht eingesetzt hatte) und hatte nicht gesehen, dass Interesse am Flow besteht.
                                    Ich kann den Flow gerne teilen (ist allerdings eine reine Modbusabfrage aus node-red heraus gefolgt von einem eintrag in meiner InfluxDB).
                                    Da ich nun aber doch auf IOBroker umsteige (mit der Umstellung meines Servers von einem FreeBSD-Derivats auf Linux endlich vernünftig möglich!) würde ich den neuen Flow teilen sobald fertig. ;-)

                                    Lg,
                                    Mat

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • M madmat17

                                      @badsnoopy667
                                      Herrje - es tut mir unendlich leid. Ich war lange nicht im Forum aktiv (da ich selber IOBroker nicht eingesetzt hatte) und hatte nicht gesehen, dass Interesse am Flow besteht.
                                      Ich kann den Flow gerne teilen (ist allerdings eine reine Modbusabfrage aus node-red heraus gefolgt von einem eintrag in meiner InfluxDB).
                                      Da ich nun aber doch auf IOBroker umsteige (mit der Umstellung meines Servers von einem FreeBSD-Derivats auf Linux endlich vernünftig möglich!) würde ich den neuen Flow teilen sobald fertig. ;-)

                                      Lg,
                                      Mat

                                      M Offline
                                      M Offline
                                      madmat17
                                      schrieb am zuletzt editiert von madmat17
                                      #461

                                      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

                                      D M 2 Antworten Letzte Antwort
                                      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

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

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

                                        node-red-contrib-sun-position.

                                        Hallo Madmat. Erstmal vielen Dank für deinen Flow. Wie muss der Flow denn aussehen, wenn ich zwei Wechselrichter abfragen möchte?

                                        Mir ist noch aufgefallen, unter den Registern zum schreiben, das Register 47078 hast du mit Bat Max Discharge Power beschrieben. von meinem aktuellen flow sollte das Register aber nur sein, um AC Ladung mit 1 aktiviert und 0 deaktiviert sein.

                                        Lässt sich der Flow auch so schreiben, dass bei dem Long Intervall auch die schreibbaren Werte abgefragt werde? also Max Charge Power, Discharge Power, AC-Laden und Workingmode. So hat man eine Rückmeldung auf einem Datenpunkt, was aktuell eingestellt ist.

                                        Leider bekomme ich auch diese Meldungen. Einmal gleich einen Error

                                        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.
                                        
                                        M 1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          Franzosenfranz
                                          schrieb am zuletzt editiert von
                                          #463

                                          Hallo zusammen,

                                          ich habe den Flow bei mir nun auch am Laufen und kann alle für mich erforderlichen Werte Lesen und Schreiben.
                                          Danke an alle und vor allem an badsnoopy667 für die super Arbeit hier.

                                          Ich hätte jedoch noch eine lästige Sache. Im LOG laufen nachfolgende drei Meldungen laufend auf:

                                          2023-11-20 11:39:44.793 info State value to set for "0_userdata.0.Huawei.Battery.ChargeFromGridFunction" has to be one of type "string", "number", "boolean" but received type "object"
                                          2023-11-20 11:39:41.335 info State value to set for "0_userdata.0.Huawei.Battery.Battery_TOU_mode" has to be stringified but received type "object"
                                          2023-11-20 11:39:39.491 info State value to set for "0_userdata.0.Huawei.Battery.Battery_Max_Discharge_Power_TEST" has to be stringified but received type "object"

                                          Ich hatte diese Meldungen noch bei mehr Objekten und habe das dann per Einstellungen in den Objekten die meisten Meldungen wegbekommen. Nur bei diesen 3 schaffe ich es nicht, das es Ruhe im Log gibt. Merkwürdig ist aber auch, das die Werte dieser 3 Objekten in eckicken Klammern (z.B. [2]) dargestellt werden. Keine Ahnung wo die herkommen. Kann jemand helfen?

                                          Gruß
                                          Franz

                                          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

                                          481

                                          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