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.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

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

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
574 Beiträge 110 Kommentatoren 223.2k 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.
  • B badsnoopy667

    @spexx @firebowl

    Ich hatte weiter oben mein Blockly Script gepostet wo ich mir die ganzen fehlenden Werte selber errechne:

    https://forum.iobroker.net/topic/51639/howto-huawei-sun2000-wr-modbus-mit-node-red-read-write/139

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

    @badsnoopy667 Cool, vielen Dank! Hat mich gerade zwar etwas Arbeit gekostet weil deine Datenpunkte nicht automatisch angelegt werden, aber jetzt sieht es gut aus. :)

    J 1 Antwort Letzte Antwort
    0
    • F firebowl

      @badsnoopy667 Cool, vielen Dank! Hat mich gerade zwar etwas Arbeit gekostet weil deine Datenpunkte nicht automatisch angelegt werden, aber jetzt sieht es gut aus. :)

      J Offline
      J Offline
      joeysch
      schrieb am zuletzt editiert von
      #172

      Hat schon mal jemand versucht, die Leistung des Wechselrichters über "write" zu drosseln oder den Wechselrichter abzuschalten? (Hab eine KTL30-M3)
      Hintergrund ist, das ich DIY Akkus mit Victron am laufen hab, ich würde das Ganze aber gern Notstrom fähig machen. Dazu muß ich aber zwingend den Wechselrichter runterfahren können bzw. ganz abschalten. Faktor 1 Regel.

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

        A Offline
        A Offline
        A1uca2d
        schrieb am zuletzt editiert von
        #173

        @badsnoopy667

        Ich habe schon seit langem das Problem, dass mir regelmäßig folgende Meldungen angezeigt werden. Dann wird der Abruf der Register abgebrochen. Ich bekomme manchmal mehr und manchmal weniger Daten bis zu der Meldung.

        node-red.0
        2023-02-24 20:55:11.124	warn	24 Feb 19:55:11 - [warn] [modbus-client:ModBus-TCP] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
        node-red.0
        2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init in 2000 ms TCP@192.168.1.119:502 default Unit-Id: 1
        node-red.0
        2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init state after reconnecting TCP@192.168.1.119:502 default Unit-Id: 1
        node-red.0
        2023-02-24 20:55:07.117	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1 24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm reconnect state after broken Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
        node-red.0
        2023-02-24 20:55:07.116	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
        

        Mein Dongle ist auf Version 133
        Meine WR (8KTL und 10KTL) auf Version 151
        Die Batterie auf Version 118

        Hat jemand eine Idee woran es liegen kann?

        Ich habe hier noch mal meine Version des Note-Red Skriptes angehängt. Dazu ist allerdings zusagen, dass ich auch mit dem Original diese Probleme habe.
        Note-Red Modbus Huawei.txt

        Danke euch für die Hilfe.

        B 1 Antwort Letzte Antwort
        0
        • A A1uca2d

          @badsnoopy667

          Ich habe schon seit langem das Problem, dass mir regelmäßig folgende Meldungen angezeigt werden. Dann wird der Abruf der Register abgebrochen. Ich bekomme manchmal mehr und manchmal weniger Daten bis zu der Meldung.

          node-red.0
          2023-02-24 20:55:11.124	warn	24 Feb 19:55:11 - [warn] [modbus-client:ModBus-TCP] Client -> fsm connected after state init Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
          node-red.0
          2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init in 2000 ms TCP@192.168.1.119:502 default Unit-Id: 1
          node-red.0
          2023-02-24 20:55:09.119	warn	24 Feb 19:55:09 - [warn] [modbus-client:ModBus-TCP] Client -> fsm init state after reconnecting TCP@192.168.1.119:502 default Unit-Id: 1
          node-red.0
          2023-02-24 20:55:07.117	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1 24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm reconnect state after broken Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
          node-red.0
          2023-02-24 20:55:07.116	warn	24 Feb 19:55:07 - [warn] [modbus-client:ModBus-TCP] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.1.119:502 default Unit-Id: 1
          

          Mein Dongle ist auf Version 133
          Meine WR (8KTL und 10KTL) auf Version 151
          Die Batterie auf Version 118

          Hat jemand eine Idee woran es liegen kann?

          Ich habe hier noch mal meine Version des Note-Red Skriptes angehängt. Dazu ist allerdings zusagen, dass ich auch mit dem Original diese Probleme habe.
          Note-Red Modbus Huawei.txt

          Danke euch für die Hilfe.

          B Offline
          B Offline
          badsnoopy667
          schrieb am zuletzt editiert von
          #174

          @a1uca2d
          Hat der Dongle eine stabile WLAN Verbindung? Was anderes fällt mir dazu leider nicht ein.

          A 1 Antwort Letzte Antwort
          0
          • B badsnoopy667

            @a1uca2d
            Hat der Dongle eine stabile WLAN Verbindung? Was anderes fällt mir dazu leider nicht ein.

            A Offline
            A Offline
            A1uca2d
            schrieb am zuletzt editiert von
            #175

            @badsnoopy667
            Der dongle ist per LAN angeschlossen.
            Daher sind WLAN kein Thema sein

            F 1 Antwort Letzte Antwort
            0
            • A A1uca2d

              @badsnoopy667
              Der dongle ist per LAN angeschlossen.
              Daher sind WLAN kein Thema sein

              F Offline
              F Offline
              Fridolin01
              schrieb am zuletzt editiert von
              #176

              Leider schmeisst meine Node Red Instanz auch dann und wann komische Warnmeldungen die ich als Node Red Noob nicht verstehe.

              Kann mir jemand erklären was dieser broken state ist?
              Und wie ich das behebe?

              node-red.0
              	2023-02-27 19:45:41.128	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
              node-red.0
              	2023-02-27 19:45:41.127	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
              node-red.0
              	2023-02-27 19:45:18.552	warn	27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 
              
              A 1 Antwort Letzte Antwort
              0
              • F Fridolin01

                Leider schmeisst meine Node Red Instanz auch dann und wann komische Warnmeldungen die ich als Node Red Noob nicht verstehe.

                Kann mir jemand erklären was dieser broken state ist?
                Und wie ich das behebe?

                node-red.0
                	2023-02-27 19:45:41.128	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
                node-red.0
                	2023-02-27 19:45:41.127	warn	27 Feb 19:45:41 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1
                node-red.0
                	2023-02-27 19:45:18.552	warn	27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm failed state after sending Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 27 Feb 19:45:18 - [warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.187:502 default Unit-Id: 1 
                
                A Offline
                A Offline
                A1uca2d
                schrieb am zuletzt editiert von
                #177

                @fridolin01 @badsnoopy667
                Ich glaube mittlerweile, dass es an der Anzahl der Abfragen lag.

                Habe bei meinen ModBus Getter mal in den Optionen "Show Errors" angeschaltet.
                dba00d7a-078c-49f6-aa8e-7c6091d528a2-image.png

                Da habe ich die Meldung erhalten, dass der Controller zu viele anfragen bearbeiten musste.
                Ich habe das Abfrageintervall nun auf 18Sek gesetzt.
                a3f62468-597b-422e-91a5-5ae44d484d83-image.png

                Und hier mein überarbeiteter kompletter Flow:


                flows.json

                Hat vielleicht jemand eine Idee, warum mein Dongle mit der "hohen" Abfragerate ein Problem hat und die anderen Teilnehmer im Forum wohl eher nicht?

                S M 2 Antworten Letzte Antwort
                0
                • A A1uca2d

                  @fridolin01 @badsnoopy667
                  Ich glaube mittlerweile, dass es an der Anzahl der Abfragen lag.

                  Habe bei meinen ModBus Getter mal in den Optionen "Show Errors" angeschaltet.
                  dba00d7a-078c-49f6-aa8e-7c6091d528a2-image.png

                  Da habe ich die Meldung erhalten, dass der Controller zu viele anfragen bearbeiten musste.
                  Ich habe das Abfrageintervall nun auf 18Sek gesetzt.
                  a3f62468-597b-422e-91a5-5ae44d484d83-image.png

                  Und hier mein überarbeiteter kompletter Flow:


                  flows.json

                  Hat vielleicht jemand eine Idee, warum mein Dongle mit der "hohen" Abfragerate ein Problem hat und die anderen Teilnehmer im Forum wohl eher nicht?

                  S Offline
                  S Offline
                  stoffel67
                  schrieb am zuletzt editiert von
                  #178

                  Hallo,
                  ich versuche aktuell meinen SUN2000 WR mit node-red auszulesen.
                  beim Start von node-red bekommen ich folgende "warnings" im log:

                  node-red.0
                  2023-03-03 11:11:31.544	warn	3 Mar 11:11:31 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
                  
                  node-red.0
                  2023-03-03 11:11:31.050	warn	3 Mar 11:11:31 - [warn] Verwende unverschlüsselte Credentials
                  
                  node-red.0
                  2023-03-03 11:11:04.662	info	Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
                  
                  node-red.0
                  2023-03-03 11:11:00.476	info	Requested NPM packages: ["node-red-contrib-calc","node-red-contrib-buffer-parser","node-red-contrib-modbus"]
                  
                  node-red.0
                  2023-03-03 11:11:00.382	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                  
                  node-red.0
                  2023-03-03 11:10:50.753	info	Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                  
                  node-red.0
                  2023-03-03 11:10:50.365	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                  

                  was ist hier falsch? bin absoluter Neuling in "node-red"...

                  Mein Adapter: JUNG/GIRA eNet-Adapter

                  B 1 Antwort Letzte Antwort
                  0
                  • S stoffel67

                    Hallo,
                    ich versuche aktuell meinen SUN2000 WR mit node-red auszulesen.
                    beim Start von node-red bekommen ich folgende "warnings" im log:

                    node-red.0
                    2023-03-03 11:11:31.544	warn	3 Mar 11:11:31 - [warn] [modbus-getter:30000] Getter -> Inject while node is not ready for input.
                    
                    node-red.0
                    2023-03-03 11:11:31.050	warn	3 Mar 11:11:31 - [warn] Verwende unverschlüsselte Credentials
                    
                    node-red.0
                    2023-03-03 11:11:04.662	info	Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
                    
                    node-red.0
                    2023-03-03 11:11:00.476	info	Requested NPM packages: ["node-red-contrib-calc","node-red-contrib-buffer-parser","node-red-contrib-modbus"]
                    
                    node-red.0
                    2023-03-03 11:11:00.382	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                    
                    node-red.0
                    2023-03-03 11:10:50.753	info	Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                    
                    node-red.0
                    2023-03-03 11:10:50.365	info	starting. Version 4.0.0 in /opt/iobroker/node_modules/iobroker.node-red, node: v16.17.1, js-controller: 4.0.23
                    

                    was ist hier falsch? bin absoluter Neuling in "node-red"...

                    B Offline
                    B Offline
                    badsnoopy667
                    schrieb am zuletzt editiert von
                    #179

                    @stoffel67
                    Ich glaube du musst die drei NPM Packages noch in der Instanz hinzufügen. Habe ich im ersten Post beschrieben.

                    S 1 Antwort Letzte Antwort
                    0
                    • B badsnoopy667

                      @stoffel67
                      Ich glaube du musst die drei NPM Packages noch in der Instanz hinzufügen. Habe ich im ersten Post beschrieben.

                      S Offline
                      S Offline
                      stoffel67
                      schrieb am zuletzt editiert von
                      #180

                      @badsnoopy667
                      Die müßte ich doch drin haben
                      C152AF6C-D772-48F3-A94C-0B1496141E61.jpeg

                      Mein Adapter: JUNG/GIRA eNet-Adapter

                      S 1 Antwort Letzte Antwort
                      0
                      • S stoffel67

                        @badsnoopy667
                        Die müßte ich doch drin haben
                        C152AF6C-D772-48F3-A94C-0B1496141E61.jpeg

                        S Offline
                        S Offline
                        stoffel67
                        schrieb am zuletzt editiert von
                        #181

                        Ohh, im Dongle war ModBus-TCP nicht aktiviert…
                        Und schon gehts…allerdings sehr wenig Werte, oder ist das OK?

                        370EBD88-30EF-42B2-BFF1-7EA8DA1159CA.jpeg

                        Kann man die Daten der zwei MPP getrennt ausgeben?

                        Mein Adapter: JUNG/GIRA eNet-Adapter

                        S 1 Antwort Letzte Antwort
                        0
                        • S stoffel67

                          Ohh, im Dongle war ModBus-TCP nicht aktiviert…
                          Und schon gehts…allerdings sehr wenig Werte, oder ist das OK?

                          370EBD88-30EF-42B2-BFF1-7EA8DA1159CA.jpeg

                          Kann man die Daten der zwei MPP getrennt ausgeben?

                          S Offline
                          S Offline
                          stoffel67
                          schrieb am zuletzt editiert von
                          #182

                          Warum werden einige der Werte nicht angelegt/ausgegeben?
                          5CB5D16E-5871-4048-A28E-64DEEDA089FF.jpeg

                          Mein Adapter: JUNG/GIRA eNet-Adapter

                          M 1 Antwort Letzte Antwort
                          0
                          • S stoffel67

                            Warum werden einige der Werte nicht angelegt/ausgegeben?
                            5CB5D16E-5871-4048-A28E-64DEEDA089FF.jpeg

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

                            @stoffel67
                            Es sieht so aus, als wären die Nodes bei dir inaktiv. Doppklick darauf -> Register "Setup" -> ganz links unten von Disabled auf Enabled umstellen und neu deployen.

                            Frage in die Runde:
                            Seit wenigen Tagen bekomme ich keinen Wert mehr aus den Registern 37015 (Battery - current day charge capacity) und 37017 (Battery - current day discharge capacity). Hat jeman ähnliches beobachtet? Früher bekam ich dort immer sauber die Werte...
                            Alle anderen Register geben die Werte wie gewohnt aus.
                            Dongle läuft auf FW Version V100R001C00SPC130
                            Inverter (SUN2000-6KTL-M1) läuft auf FW Version V100R001C00SPC150

                            Lösung gefunden: Die Register 37015 & 37017 sind jene, mit denen die Werte der einzelnen Akku-Module ("Engery Storage Unit") ausgelesen werden. Scheinbar sind diese plötzlich maskiert (wenngleich ich kürzlich kein FW-Update vorgenommen hatte - aber evtl. war das auch ein forced update) und werden über den TCP-MODBUS nicht mehr ausgegeben.
                            In den JSONs weiter oben werden ebenfalls diese Register abgefragt (war dann OK, solange man nur einen Akku hatte - inzwischen wie gesagt nicht mehr zu gebrauchen).
                            Lösung: Auf jene Register ausweichen, welche die Werte aller Akkumodule zusammenfassen. Auf der HUAWEI-Seite habe ich gerade die vollständige MODBUS Interface Definition nicht gefunden, kann man aber hier nachschlagen (Version 04 vom 29.03.2022 - direkter Link). Die Abfrage über die dort angegebenen Register 37784 und 37786 funktioniert klaglos.

                            LG,
                            Mat

                            S 1 Antwort Letzte Antwort
                            1
                            • A A1uca2d

                              @fridolin01 @badsnoopy667
                              Ich glaube mittlerweile, dass es an der Anzahl der Abfragen lag.

                              Habe bei meinen ModBus Getter mal in den Optionen "Show Errors" angeschaltet.
                              dba00d7a-078c-49f6-aa8e-7c6091d528a2-image.png

                              Da habe ich die Meldung erhalten, dass der Controller zu viele anfragen bearbeiten musste.
                              Ich habe das Abfrageintervall nun auf 18Sek gesetzt.
                              a3f62468-597b-422e-91a5-5ae44d484d83-image.png

                              Und hier mein überarbeiteter kompletter Flow:


                              flows.json

                              Hat vielleicht jemand eine Idee, warum mein Dongle mit der "hohen" Abfragerate ein Problem hat und die anderen Teilnehmer im Forum wohl eher nicht?

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

                              @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

                              B W Christof LewandowskiC 3 Antworten Letzte Antwort
                              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

                                B Offline
                                B Offline
                                badsnoopy667
                                schrieb am zuletzt editiert von
                                #185

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

                                M 1 Antwort Letzte Antwort
                                0
                                • M madmat17

                                  @stoffel67
                                  Es sieht so aus, als wären die Nodes bei dir inaktiv. Doppklick darauf -> Register "Setup" -> ganz links unten von Disabled auf Enabled umstellen und neu deployen.

                                  Frage in die Runde:
                                  Seit wenigen Tagen bekomme ich keinen Wert mehr aus den Registern 37015 (Battery - current day charge capacity) und 37017 (Battery - current day discharge capacity). Hat jeman ähnliches beobachtet? Früher bekam ich dort immer sauber die Werte...
                                  Alle anderen Register geben die Werte wie gewohnt aus.
                                  Dongle läuft auf FW Version V100R001C00SPC130
                                  Inverter (SUN2000-6KTL-M1) läuft auf FW Version V100R001C00SPC150

                                  Lösung gefunden: Die Register 37015 & 37017 sind jene, mit denen die Werte der einzelnen Akku-Module ("Engery Storage Unit") ausgelesen werden. Scheinbar sind diese plötzlich maskiert (wenngleich ich kürzlich kein FW-Update vorgenommen hatte - aber evtl. war das auch ein forced update) und werden über den TCP-MODBUS nicht mehr ausgegeben.
                                  In den JSONs weiter oben werden ebenfalls diese Register abgefragt (war dann OK, solange man nur einen Akku hatte - inzwischen wie gesagt nicht mehr zu gebrauchen).
                                  Lösung: Auf jene Register ausweichen, welche die Werte aller Akkumodule zusammenfassen. Auf der HUAWEI-Seite habe ich gerade die vollständige MODBUS Interface Definition nicht gefunden, kann man aber hier nachschlagen (Version 04 vom 29.03.2022 - direkter Link). Die Abfrage über die dort angegebenen Register 37784 und 37786 funktioniert klaglos.

                                  LG,
                                  Mat

                                  S Offline
                                  S Offline
                                  stoffel67
                                  schrieb am zuletzt editiert von
                                  #186

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

                                  Es sieht so aus, als wären die Nodes bei dir inaktiv. Doppklick darauf -> Register "Setup" -> ganz links unten von Disabled auf Enabled umstellen und neu deployen.

                                  Danke für den Hinweis... das wars:+1:

                                  Mein Adapter: JUNG/GIRA eNet-Adapter

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • A Offline
                                    A Offline
                                    abrodeck
                                    schrieb am zuletzt editiert von
                                    #187

                                    Hallo @badsnoopy667 und alle anderen welche folgende Frage beantworten können.

                                    Dank der guten Vorarbeit hier habe ich jetzt auch Node Red soweit, dass ich sinnvolle Daten aus meinem SUN2000-6KTL-M1 und auch aus dem Dongle in den ioBroker bekomme. Ich stehe allerdings völlig auf dem Schlauch, wenn es darum geht, die Daten so zu verarbeiten und zu speichern, dass ich später eine Historie habe, also z.B eine Anzeige der Solarproduktion, des Verbrauchs oder der Einspeisung der letzen Tage, Wochen, Monate ... Ich habe auf verschiedenen Grafana-Screenshots hier so etwas schon gesehen, allerdings fehlt mir einfach der Ansatz, es umzusetzen. Ich schreibe momentan bestimmte Werte mit dem SQL-Adapter weg und versuche dann Grafen mit FLOT zu bauen, komme da aber nicht wirklich weiter. Ich hoffe, es einigermaßen verständlich ausgedrückt zu haben und würde mich über jeden Ansatz freuen. Vielen Dank.

                                    Gruß Andreas

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • S stoffel67

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

                                      Es sieht so aus, als wären die Nodes bei dir inaktiv. Doppklick darauf -> Register "Setup" -> ganz links unten von Disabled auf Enabled umstellen und neu deployen.

                                      Danke für den Hinweis... das wars:+1:

                                      S Offline
                                      S Offline
                                      stoffel67
                                      schrieb am zuletzt editiert von
                                      #188

                                      Können die beiden Werte für Startup und Shutdown auch ausgelesen werden?
                                      Ich hab es mit 32091 und 32093 versucht, ich bekomme aber z.B. permanent „512“ zuzrück?

                                      Mein Adapter: JUNG/GIRA eNet-Adapter

                                      1 Antwort Letzte Antwort
                                      0
                                      • J joschipp

                                        Ich hab für meine Anwendung eine schnelle Abfrage einiger Register benötigt, und die restlichen werden seltener benötigt. Das hab ich jetzt folgendermaßen realisiert (basierend auf Vorschlägen weiter oben - vielen Dank dafür):
                                        01.PNG

                                        Count 3 ist ein Zähler, der 3 Ausgänge durchtaktet, der 1. Ausgang triggert die Abfrage vom Meter.Active_Power, den Wert will ich häufig aktualisiert haben. Sobald die Daten empfangen wurden, geht die Meldung über den Link zurück an die Trigger - Funktion. Die triggert den Count 3, und der zählt weiter auf den 2. Ausgang und triggert die Abfrage vom Inverter.Active_Power (brauch ich auch häufig).
                                        Der 3. Ausgang triggert dann einen Zähler mit 25 Ausgängen:
                                        02.PNG
                                        Hier wird die Abfrage der restlichen 25 Register, die ich nicht häufig brauche, getriggert.
                                        Die Trigger Funktion hat auch noch eine Timeout - Überprüfung, wenn mal keine Antwort kommen sollte, dann wird nach 5 Sekunden getriggert.
                                        Damit werden jetzt die beiden wichtigen Register alle 1-2 Sekunden aktualisiert und der Rest langsamer.
                                        Mit dieser Lösung hab ich sicher gestellt, das eine Abfrage erst bzw. sofort nach dem Empfang der vorigen Abfrage erfolgt, somit hat man die max. Geschwindigkeit und keinen Datenverlust.

                                        flows.json

                                        PS: das Problem mit den fehlenden Datenpunkten und das manuelle Anlegen (siehe weiter oben) kann man sich sparen, wenn man in der Node-Red Instanz "Erstellung von Fremd-Objekten" zulässt
                                        03.PNG

                                        mfg

                                        T Offline
                                        T Offline
                                        ts_482
                                        schrieb am zuletzt editiert von
                                        #189

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

                                        Ich hab für meine Anwendung eine schnelle Abfrage einiger Register benötigt, und die restlichen werden seltener benötigt. Das hab ich jetzt folgendermaßen realisiert (basierend auf Vorschlägen weiter oben - vielen Dank dafür):
                                        01.PNG

                                        Count 3 ist ein Zähler, der 3 Ausgänge durchtaktet, der 1. Ausgang triggert die Abfrage vom Meter.Active_Power, den Wert will ich häufig aktualisiert haben. Sobald die Daten empfangen wurden, geht die Meldung über den Link zurück an die Trigger - Funktion. Die triggert den Count 3, und der zählt weiter auf den 2. Ausgang und triggert die Abfrage vom Inverter.Active_Power (brauch ich auch häufig).
                                        Der 3. Ausgang triggert dann einen Zähler mit 25 Ausgängen:
                                        02.PNG
                                        Hier wird die Abfrage der restlichen 25 Register, die ich nicht häufig brauche, getriggert.
                                        Die Trigger Funktion hat auch noch eine Timeout - Überprüfung, wenn mal keine Antwort kommen sollte, dann wird nach 5 Sekunden getriggert.
                                        Damit werden jetzt die beiden wichtigen Register alle 1-2 Sekunden aktualisiert und der Rest langsamer.
                                        Mit dieser Lösung hab ich sicher gestellt, das eine Abfrage erst bzw. sofort nach dem Empfang der vorigen Abfrage erfolgt, somit hat man die max. Geschwindigkeit und keinen Datenverlust.

                                        flows.json

                                        PS: das Problem mit den fehlenden Datenpunkten und das manuelle Anlegen (siehe weiter oben) kann man sich sparen, wenn man in der Node-Red Instanz "Erstellung von Fremd-Objekten" zulässt
                                        03.PNG

                                        mfg

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • A abrodeck

                                          Hallo @badsnoopy667 und alle anderen welche folgende Frage beantworten können.

                                          Dank der guten Vorarbeit hier habe ich jetzt auch Node Red soweit, dass ich sinnvolle Daten aus meinem SUN2000-6KTL-M1 und auch aus dem Dongle in den ioBroker bekomme. Ich stehe allerdings völlig auf dem Schlauch, wenn es darum geht, die Daten so zu verarbeiten und zu speichern, dass ich später eine Historie habe, also z.B eine Anzeige der Solarproduktion, des Verbrauchs oder der Einspeisung der letzen Tage, Wochen, Monate ... Ich habe auf verschiedenen Grafana-Screenshots hier so etwas schon gesehen, allerdings fehlt mir einfach der Ansatz, es umzusetzen. Ich schreibe momentan bestimmte Werte mit dem SQL-Adapter weg und versuche dann Grafen mit FLOT zu bauen, komme da aber nicht wirklich weiter. Ich hoffe, es einigermaßen verständlich ausgedrückt zu haben und würde mich über jeden Ansatz freuen. Vielen Dank.

                                          Gruß Andreas

                                          B Offline
                                          B Offline
                                          badsnoopy667
                                          schrieb am zuletzt editiert von
                                          #190

                                          @abrodeck
                                          Ich speichere die Werte für Erzeugung, Verbrauch etc. mit dem History Adapter und nutze dann ebenfalls FLOT zur Darstellung. Den SQL-Adapter kenne ich nicht.
                                          Die ganzen Werte wie Monatsertrag, Jahresertrag usw. habe ich nicht in iobroker umgesetzt, da gucke ich einfach in die FusionSolar App wenn ich das wissen will.
                                          Das sollte sich aber auch irgendwie mit dem Sourcenanalytix Adapter umsetzen lassen. Aber mit dem stehe ich auf Kriegsfuß. Ich verstehe das Teil einfach nicht. ;)

                                          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

                                          783

                                          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