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
    17
    1
    2.0k

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

  • 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.6k 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.
  • B badsnoopy667

    Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.

    Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:

    1. Wechselrichter korrekt konfigurieren:
    Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
    Zum Login in die App als Installateur braucht man ein Passwort: 00000a
    Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme

    2. Node-Red installieren und Flow importieren:
    Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
    • node-red-contrib-calc
    • node-red-contrib-buffer-parser
    • node-red-contrib-modbus

    Hat man das erledigt, kann man diesen Flow importieren:

    Huawei_SUN2000_node_red_flow_read_write_2023-11.txt

    Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
    Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)

    3. Hinweise:
    Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
    Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
    Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.

    Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
    Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
    Im Flow werden die wichtigsten Größen aber schon abgefragt.

    4. Modbus-Register schreiben:
    Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
    Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.

    4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
    • 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".

    Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.

    5. Weiteres
    5.1 Mehrere Wechselrichter abfragen

    Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:

    Flow mit Multi-Abfrage

    Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.

    5.2 Aktuelle Firmware / Modbus Interface Definitions
    Hier noch ein Link zu den aktuellen Firmware Versionen:
    SUN2000 Firmware

    Vielen Dank an alle, die den Input geliefert haben!
    Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.

    L Offline
    L Offline
    leonundjulie
    wrote on last edited by
    #286

    @badsnoopy667 Hallo. Ich will mich heute an die Thematik herantrauen. Node-Red ist in meinem iOBroker schon installiert und läuft. Auch die drei zusätzlichen Dateien sind eingebunden:blush: .

    Ich habe aber noch eine Frage zum Flow, da ich eine ANlage ohne Batterien habe: muss ich den Flow deshalb noch anpassen?

    10x JA-Solar (380Wp) unter 15° gen Süden und 12x JA-Solar (385Wp) unter 10° gen Westen auf Carport, HUAWEI SUN2000 WR

    Daran HUAWEI LUNA2000, 10kWh

    Und via Kaskade 8x JA-Solar (385Wp) unter 45° gen Osten und 14x JA-Solar (385Wp) unter 23° gen Westen am 2. HUAWEI SUN2000 WR.

    SMARTFOX PRO als EMS, KEBA P30-X Wallbox

    1 Reply Last reply
    0
    • J joeysch

      @ple
      Das Drosseln hat bei mir einen anderen Hintergrund. Ich würde mein System gern Schwarzstartfähig und bei Stromausfall weiterbetreiben können.
      Da ich ein dreiphasiges Victronsystem habe, ist das soweit kein Problem. Ich bekomme allerdings ein Problem mit der Faktor 1 Regel. Das heißt, wenn ich nicht am Netz bin, muß der erzeugte Strom irgendwo hin. Anfangs geht das noch in die Akkus (ca. 30 KWh) aber wenn die voll sind, muß ich den Wechselrichter drosseln bis hin zum abschalten.
      Deshalb wäre die einfachste Methode, wenn ich über NodeRed auf 60% - 30% - 0% schalten könnte. Sonst muß ich mir irgendwas Hardwaremäßiges einfallen lassen und über den RS485 gehen.

      P Offline
      P Offline
      ple
      wrote on last edited by
      #287

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

      @ple
      Das Drosseln hat bei mir einen anderen Hintergrund. Ich würde mein System gern Schwarzstartfähig und bei Stromausfall weiterbetreiben können.
      Da ich ein dreiphasiges Victronsystem habe, ist das soweit kein Problem. Ich bekomme allerdings ein Problem mit der Faktor 1 Regel. Das heißt, wenn ich nicht am Netz bin, muß der erzeugte Strom irgendwo hin. Anfangs geht das noch in die Akkus (ca. 30 KWh) aber wenn die voll sind, muß ich den Wechselrichter drosseln bis hin zum abschalten.
      Deshalb wäre die einfachste Methode, wenn ich über NodeRed auf 60% - 30% - 0% schalten könnte. Sonst muß ich mir irgendwas Hardwaremäßiges einfallen lassen und über den RS485 gehen.

      SUN2000MA V100R001C20 Modbus Interface Definitions.pdf
      Seite 57, da fangen die schreibbaren Register an, da gibt es ne Menge "Power max" gedönst. vielleicht ist da was passendes bei.

      Intel Nuc + Proxmox

      J 1 Reply Last reply
      0
      • P ple

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

        @ple
        Das Drosseln hat bei mir einen anderen Hintergrund. Ich würde mein System gern Schwarzstartfähig und bei Stromausfall weiterbetreiben können.
        Da ich ein dreiphasiges Victronsystem habe, ist das soweit kein Problem. Ich bekomme allerdings ein Problem mit der Faktor 1 Regel. Das heißt, wenn ich nicht am Netz bin, muß der erzeugte Strom irgendwo hin. Anfangs geht das noch in die Akkus (ca. 30 KWh) aber wenn die voll sind, muß ich den Wechselrichter drosseln bis hin zum abschalten.
        Deshalb wäre die einfachste Methode, wenn ich über NodeRed auf 60% - 30% - 0% schalten könnte. Sonst muß ich mir irgendwas Hardwaremäßiges einfallen lassen und über den RS485 gehen.

        SUN2000MA V100R001C20 Modbus Interface Definitions.pdf
        Seite 57, da fangen die schreibbaren Register an, da gibt es ne Menge "Power max" gedönst. vielleicht ist da was passendes bei.

        J Offline
        J Offline
        joeysch
        wrote on last edited by
        #288

        @ple
        Ja, die kenne ich schon, krieg da aber irgendwie keinen Kopf dran.

        P 1 Reply Last reply
        0
        • J joeysch

          @ple
          Ja, die kenne ich schon, krieg da aber irgendwie keinen Kopf dran.

          P Offline
          P Offline
          ple
          wrote on last edited by
          #289

          @joeysch Puh, sorry, dann bin ich überfragt.

          Intel Nuc + Proxmox

          AtifanA 1 Reply Last reply
          0
          • P ple

            @joeysch Puh, sorry, dann bin ich überfragt.

            AtifanA Online
            AtifanA Online
            Atifan
            wrote on last edited by
            #290

            Hi, kann man eigentlich die Daten der Optimierer auch auslesen wenn man welche hat?

            B 1 Reply Last reply
            0
            • Christof LewandowskiC Christof Lewandowski

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

              Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

              7.5.2023, 11:58:08node: 30000
              msg : error
              "Error: Port Not Open"
              

              Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
              Jemand noch zufällig eine Idee?

              Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

              Komischerweise kommen diese Meldungen nicht mehr, funktionieren tut es trotzdem noch nicht :D

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

              Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

              7.5.2023, 11:58:08node: 30000
              msg : error
              "Error: Port Not Open"
              

              Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
              Jemand noch zufällig eine Idee?

              Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

              Die Meldungen sind zwar weg, funktionieren tut es trotzdem noch nicht :D.
              Hab nun die Meldung:

              "Getter -> Inject while node is not ready for input."
              

              ModbusTCP im Dongle ist aktiviert. WEiß jemand, ob nur eine Verbindung möglich ist? Hab noch ein Mgmt System im EInsatz, was ebenfalls über ModbusTCP die Daten abgreift.

              AtifanA Online
              AtifanA Online
              Atifan
              wrote on last edited by
              #291

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

              zwar weg, funktionieren tut es trotzdem noch nicht :D.
              Hab nun die Meldung:

              der Port ist 6607 wenn du den Wechselrichter abrufst.
              502 wenn du den Dongle abrufst.

              Christof LewandowskiC 1 Reply Last reply
              0
              • AtifanA Atifan

                Hi, kann man eigentlich die Daten der Optimierer auch auslesen wenn man welche hat?

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

                @atifan
                Theoretisch geht das. Es gibt Modbus Register dafür. Praktisch ist das so kompliziert und schlecht dokumentiert, das wird nix befürchte ich.

                1 Reply Last reply
                0
                • B badsnoopy667

                  Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.

                  Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:

                  1. Wechselrichter korrekt konfigurieren:
                  Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
                  Zum Login in die App als Installateur braucht man ein Passwort: 00000a
                  Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme

                  2. Node-Red installieren und Flow importieren:
                  Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
                  • node-red-contrib-calc
                  • node-red-contrib-buffer-parser
                  • node-red-contrib-modbus

                  Hat man das erledigt, kann man diesen Flow importieren:

                  Huawei_SUN2000_node_red_flow_read_write_2023-11.txt

                  Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
                  Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)

                  3. Hinweise:
                  Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
                  Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
                  Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.

                  Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
                  Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
                  Im Flow werden die wichtigsten Größen aber schon abgefragt.

                  4. Modbus-Register schreiben:
                  Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
                  Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.

                  4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
                  • 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".

                  Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.

                  5. Weiteres
                  5.1 Mehrere Wechselrichter abfragen

                  Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:

                  Flow mit Multi-Abfrage

                  Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.

                  5.2 Aktuelle Firmware / Modbus Interface Definitions
                  Hier noch ein Link zu den aktuellen Firmware Versionen:
                  SUN2000 Firmware

                  Vielen Dank an alle, die den Input geliefert haben!
                  Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.

                  L Offline
                  L Offline
                  leonundjulie
                  wrote on last edited by
                  #293

                  @badsnoopy667 Moin, moin, sonnige Grüße von der Küste. Ich habe gestern umgesetzt was in der Anleitung steht - aber leider ohne den erhofften Erfolg.

                  Ich meine alles gemacht zu haben was hier steht:

                  • User ID auf 1 gesetzt .. so wie es in meinem WR eingestellt ist
                  • ich kann den WR anpingen
                  • MOD-TCP ist im WR auch entsprechend der Vorgaben gesetzt

                  Nach dem Stoppen und Starten von NodeRed werden die Objekte nicht angelegt, die Kommunikation startet nicht und folgendes lese ich im Protokoll. Was habe ich vergessen oder falsch gemacht?

                  IMG_0407.jpeg

                  10x JA-Solar (380Wp) unter 15° gen Süden und 12x JA-Solar (385Wp) unter 10° gen Westen auf Carport, HUAWEI SUN2000 WR

                  Daran HUAWEI LUNA2000, 10kWh

                  Und via Kaskade 8x JA-Solar (385Wp) unter 45° gen Osten und 14x JA-Solar (385Wp) unter 23° gen Westen am 2. HUAWEI SUN2000 WR.

                  SMARTFOX PRO als EMS, KEBA P30-X Wallbox

                  1 Reply Last reply
                  0
                  • AtifanA Atifan

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

                    zwar weg, funktionieren tut es trotzdem noch nicht :D.
                    Hab nun die Meldung:

                    der Port ist 6607 wenn du den Wechselrichter abrufst.
                    502 wenn du den Dongle abrufst.

                    Christof LewandowskiC Offline
                    Christof LewandowskiC Offline
                    Christof Lewandowski
                    wrote on last edited by
                    #294

                    @atifan
                    Danke. Habs jetzt mit dem modbus-proxy "gelöst". Damit kann mein Solarmanager UND node-red Daten per ModbusTCP abgreifen.
                    Gestern liefs zumindest noch, heute möchte Node-red den Flow nicht mehr starten...

                    W 1 Reply Last reply
                    0
                    • B badsnoopy667

                      Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.

                      Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:

                      1. Wechselrichter korrekt konfigurieren:
                      Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
                      Zum Login in die App als Installateur braucht man ein Passwort: 00000a
                      Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme

                      2. Node-Red installieren und Flow importieren:
                      Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
                      • node-red-contrib-calc
                      • node-red-contrib-buffer-parser
                      • node-red-contrib-modbus

                      Hat man das erledigt, kann man diesen Flow importieren:

                      Huawei_SUN2000_node_red_flow_read_write_2023-11.txt

                      Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
                      Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)

                      3. Hinweise:
                      Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
                      Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
                      Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.

                      Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
                      Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
                      Im Flow werden die wichtigsten Größen aber schon abgefragt.

                      4. Modbus-Register schreiben:
                      Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
                      Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.

                      4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
                      • 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".

                      Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.

                      5. Weiteres
                      5.1 Mehrere Wechselrichter abfragen

                      Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:

                      Flow mit Multi-Abfrage

                      Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.

                      5.2 Aktuelle Firmware / Modbus Interface Definitions
                      Hier noch ein Link zu den aktuellen Firmware Versionen:
                      SUN2000 Firmware

                      Vielen Dank an alle, die den Input geliefert haben!
                      Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.

                      S Offline
                      S Offline
                      SvenH75
                      wrote on last edited by
                      #295

                      @badsnoopy667 Hallo, vielen Dank für die Anleitung, habe es eingerichtet und es funktioniert (Node-red Anfänger). Es werden nur nicht alle Werte erfasst. Im Node-red sind die Kästchen heller….. Ist das normal? Die wichtigsten Werte sind ja vorhanden…… ich hänge es mal als Bilder an, sollte hoffentlich zu sehen sein…….

                      Vielen Dank

                      IMG_0923.png
                      IMG_0924.png
                      IMG_0925.png
                      IMG_0926.png
                      IMG_0927.png

                      B 1 Reply Last reply
                      0
                      • S SvenH75

                        @badsnoopy667 Hallo, vielen Dank für die Anleitung, habe es eingerichtet und es funktioniert (Node-red Anfänger). Es werden nur nicht alle Werte erfasst. Im Node-red sind die Kästchen heller….. Ist das normal? Die wichtigsten Werte sind ja vorhanden…… ich hänge es mal als Bilder an, sollte hoffentlich zu sehen sein…….

                        Vielen Dank

                        IMG_0923.png
                        IMG_0924.png
                        IMG_0925.png
                        IMG_0926.png
                        IMG_0927.png

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

                        @svenh75
                        die helleren Kästchen sind deaktiviert. Ich glaube da kann man drauf klicken und dann unten in der Ecke auf aktivieren oder so klicken.

                        S 1 Reply Last reply
                        0
                        • B badsnoopy667

                          @svenh75
                          die helleren Kästchen sind deaktiviert. Ich glaube da kann man drauf klicken und dann unten in der Ecke auf aktivieren oder so klicken.

                          S Offline
                          S Offline
                          SvenH75
                          wrote on last edited by
                          #297

                          @badsnoopy667 Dankeschön, genau so ist es 👍

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            harald0708
                            wrote on last edited by
                            #298

                            Hallo zusammen. Ich habe zwei SUN2000 und eine Luna2000. Darf ich mir eine Node von Euch runterladen, damit ich die dann an meine Anlage anpassen kann? Bin Node-RED-Anfänger. Muss leider auch blöd Fragen: Wie kann ich denn eine Node runterladen? Vielen herzlichen Dank im voraus.

                            B 1 Reply Last reply
                            0
                            • H harald0708

                              Hallo zusammen. Ich habe zwei SUN2000 und eine Luna2000. Darf ich mir eine Node von Euch runterladen, damit ich die dann an meine Anlage anpassen kann? Bin Node-RED-Anfänger. Muss leider auch blöd Fragen: Wie kann ich denn eine Node runterladen? Vielen herzlichen Dank im voraus.

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

                              @harald0708
                              Du musst den Flow aus Post 1 runterladen und in node-red importieren. Das ist eine Textdatei.
                              Dann kannst du die Nodes (also die kleinen bunten Kästchen), die sich in diesem Flow befinden, anpassen wie im Post 1 beschrieben (also mit der Unit-ID usw.)

                              S H 2 Replies Last reply
                              0
                              • B badsnoopy667

                                @harald0708
                                Du musst den Flow aus Post 1 runterladen und in node-red importieren. Das ist eine Textdatei.
                                Dann kannst du die Nodes (also die kleinen bunten Kästchen), die sich in diesem Flow befinden, anpassen wie im Post 1 beschrieben (also mit der Unit-ID usw.)

                                S Offline
                                S Offline
                                stefanWidmann
                                wrote on last edited by
                                #300

                                @badsnoopy667 Servus, das hab ich erledigt, bin mal so frech, und hänge mich an diese Frage dran. Wie kann ich jetzt dann die Werte im IOBroker verwenden? Brauche die Werte, dass ich meine Wallbox mit den Keba-connect adapter steuern kann. Bitte um Hilfe. danke und schönen Nachmittag

                                mickymM 1 Reply Last reply
                                0
                                • S stefanWidmann

                                  @badsnoopy667 Servus, das hab ich erledigt, bin mal so frech, und hänge mich an diese Frage dran. Wie kann ich jetzt dann die Werte im IOBroker verwenden? Brauche die Werte, dass ich meine Wallbox mit den Keba-connect adapter steuern kann. Bitte um Hilfe. danke und schönen Nachmittag

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by
                                  #301

                                  @stefanwidmann ??? in dem Flow schreibst Du doch die Werte über die iobroker-Out Nodes in Datenpunkte?

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  1 Reply Last reply
                                  0
                                  • B badsnoopy667

                                    @harald0708
                                    Du musst den Flow aus Post 1 runterladen und in node-red importieren. Das ist eine Textdatei.
                                    Dann kannst du die Nodes (also die kleinen bunten Kästchen), die sich in diesem Flow befinden, anpassen wie im Post 1 beschrieben (also mit der Unit-ID usw.)

                                    H Offline
                                    H Offline
                                    harald0708
                                    wrote on last edited by
                                    #302

                                    @badsnoopy667 Vielen Dank für Deine Anwort. Leider stell ich mich so dämlich an. Wo ist der Post1 und wo kann ich den Flow runterladen? Bitte nochmals um Hilfe. Die Textdatei (Flow) in Node-Red importieren ist kein Problem.

                                    mickymM 1 Reply Last reply
                                    0
                                    • H harald0708

                                      @badsnoopy667 Vielen Dank für Deine Anwort. Leider stell ich mich so dämlich an. Wo ist der Post1 und wo kann ich den Flow runterladen? Bitte nochmals um Hilfe. Die Textdatei (Flow) in Node-Red importieren ist kein Problem.

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      wrote on last edited by
                                      #303

                                      @harald0708 Der erste Post ist der Älteste und lest ihr nicht?

                                      136e2f5a-6644-43d1-bf23-813f77f1be08-image.png

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      H 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        @harald0708 Der erste Post ist der Älteste und lest ihr nicht?

                                        136e2f5a-6644-43d1-bf23-813f77f1be08-image.png

                                        H Offline
                                        H Offline
                                        harald0708
                                        wrote on last edited by
                                        #304

                                        @mickym Danke für die Antwort. Ganz hochscrollen hat wohl nicht gleich funktioniert. Nun hab ich es gefunden und importiert. Vielen Dank.

                                        1 Reply Last reply
                                        0
                                        • M madmat17

                                          @a1uca2d

                                          Das Thema mit den Abfragen kannst du auch anders umschiffen.
                                          Du kannst mehrere Register auf einmal abfragen (ich habe zB in 2 Abfragen alles drinnen - da ein recht großer Adressbereich für mich nicht so interessant ist):

                                          • Register 32000-32116:
                                            cf21b6ea-6e0d-422f-a361-79df4952364e-image.png
                                            Die Abfrage triggert dann die zweite Abfrage
                                            edd8206a-900b-4843-b7c4-87fec141bf81-image.png

                                          • Register 37000-37125:
                                            6fda4d92-475f-4c9c-b144-a09d33432e6c-image.png

                                          Die Daten laufen dann durch einen edit puffer-parser node, werden in einem join-node zusammengefügt und (in meinem Fall) auf einmal in eine InfluxDB geschrieben:
                                          2f3e0ad6-6c9f-458e-bc19-7af60b771b51-image.png

                                          Nur als Anregung bzw. Idee, wenn man den Overhead der Register-Anfragen reduzieren möchte. ;-)

                                          Gruß,
                                          Mat

                                          Christof LewandowskiC Offline
                                          Christof LewandowskiC Offline
                                          Christof Lewandowski
                                          wrote on last edited by
                                          #305

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

                                          @a1uca2d

                                          Das Thema mit den Abfragen kannst du auch anders umschiffen.
                                          Du kannst mehrere Register auf einmal abfragen (ich habe zB in 2 Abfragen alles drinnen - da ein recht großer Adressbereich für mich nicht so interessant ist):

                                          • Register 32000-32116:
                                            cf21b6ea-6e0d-422f-a361-79df4952364e-image.png
                                            Die Abfrage triggert dann die zweite Abfrage
                                            edd8206a-900b-4843-b7c4-87fec141bf81-image.png

                                          • Register 37000-37125:
                                            6fda4d92-475f-4c9c-b144-a09d33432e6c-image.png

                                          Die Daten laufen dann durch einen edit puffer-parser node, werden in einem join-node zusammengefügt und (in meinem Fall) auf einmal in eine InfluxDB geschrieben:
                                          2f3e0ad6-6c9f-458e-bc19-7af60b771b51-image.png

                                          Nur als Anregung bzw. Idee, wenn man den Overhead der Register-Anfragen reduzieren möchte. ;-)

                                          Gruß,
                                          Mat

                                          Das sieht sehr interessant aus. Kämpfe auch gerade mit zu vielen Abfragen...Wie würde man denn in Node Red nun die Ergebnisse der Registerabfragen in die ioBroker Datenpunkte schreiben?

                                          mickymM 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

                                          695

                                          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