Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Growatt Wechselrichter über Modbus auslesen - gelöst -

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Growatt Wechselrichter über Modbus auslesen - gelöst -

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @pingo last edited by

      @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

      Nein. Es sind Stunden und Minutenwerte laut Anleitung

      hatten wir nicht schonmal das nachträgliche Editieren besprochen?
      Das kommt, wenn Infos in vier Threads verteilt werden!

      ich meine die 1100 und 1101

      1 Reply Last reply Reply Quote 0
      • P
        pingo @Homoran last edited by pingo

        @homoran Nochmal auf die Frage nach den Hex-Werten:
        Das steht in der Anleitung:
        The format for each byte in RTU mode is:
        Coding System: 8–bit binary, hexadecimal 0–9, A–F
        Two hexadecimal characters contained in each
        8–bit field of the message

        Wie auch immer müsste ich beim Minutenwert die Zahl 30 bekommen, nicht 3328.
        Das sind die Register 1100 und 1101 (hier 41101 und 41102)

        Ich hatte hier gelesen, dass man Holding register nehmen soll. Ich kenne den Unterschied zu Eingangsregistern nicht.
        Ziel ist die Register auszulesen und dann natürlich die Objekte in IoBroker per JavaScript zu verändern und sie dann wieder so ins Register reinzuschreiben (dann muss ich wohl die Option CW aktivieren). Geht das auch mit Eingangsregistern?

        Ja. Ich hatte aber innerhalb von wenigen Minuten editiert. Sorry.

        P 1 Reply Last reply Reply Quote 0
        • P
          pingo @pingo last edited by pingo

          aber das war ein guter Hinweis. Wenn ich auf 8-bit unsigned (litte und big endian) umstelle, kommen die richtigen Minuten. Top

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @pingo last edited by

            @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

            aber das war ein guter Hinweis. Wenn ich auf 8-bit unsigned (litte und big endian) umstelle, kommen die richtigen Minuten. Top

            warum zeigst du nie von alleine die jeweils aktuellen Einstellungen?

            https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

            P 1 Reply Last reply Reply Quote 0
            • P
              pingo @Homoran last edited by pingo

              @homoran Mach ich gerne:
              Bildschirmfoto 2024-01-28 um 14.00.28.jpg

              damit funktioniert jetzt das Auslesen perfekt. Danke für die Inputs

              Edit: Mittlerweile habe ich in der Dokumentation gefunden, dass das oben alles Holding Register sind. Eingangsregister gibt es auch. Die liest aber der Growatt Adapter auch aus.

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @pingo last edited by

                @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                Mittlerweile habe ich in der Dokumentation gefunden

                und vorher natürlich nicht gelesen 😀

                P 1 Reply Last reply Reply Quote 0
                • P
                  pingo @Homoran last edited by pingo

                  Eine Frage habe ich aber noch:

                  Ziel ist es, dass ich die Holdingregister auch via Script beschreiben kann. Das habe ich nun versucht, aber das klappt nur für wenige Sekunden, dann überschreibt wohl der Modbus Adapter meinen Objektwert bei den Minuten und Stunden wieder mit dem Wert davor. Welche Einstellung brauche ich bitte für den Holding-Registerwert, dass meine Objektveränderung bleibt? (CW zusätzlich zur Abfrage funktioniert bei den Zeiten und Switches leider nicht; nur bei den SOC-Werten)

                  Bildschirmfoto 2024-01-28 um 16.56.20.jpg

                  setState('modbus.0.holdingRegisters.41092_wBatFirststop_SOC'/*41092 Wbatfirststop Soc*/,99);
                  setState('modbus.0.holdingRegisters.41101_Bat_First_Start_Time_1_hour'/*41101 Bat First Start Time 1 Hour*/,3);
                  setState('modbus.0.holdingRegisters.41103_Bat_First_on/off_Switch_1'/*41103 Bat First On/off Switch 1*/,1);
                  

                  Danke

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @pingo last edited by Homoran

                    @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                    CW zusätzlich zur Abfrage

                    schreddert dir binnen kurzem dein EEPROM, wenn nicht nur im RAM geschrieben eird.
                    diese halten etwa 100.000 Schreibvorgänge.
                    bei je einer bei jeder Afrage (jede Sekunde??) kannst du ja mal rechnen.

                    was willst du denn am SoC verändern?
                    oder an sonstigen Ausleseparametern?

                    P 1 Reply Last reply Reply Quote 1
                    • P
                      pingo @Homoran last edited by pingo

                      @homoran
                      ok. CW habe ich wieder abgeschaltet
                      den SOC will ich per Script verändern (je nachdem wie weit die Batterie mit Netzstrom nachts geladen werden soll)
                      die Zeit will ich per Script passend zur billigsten Stromeinkaufszeit verändern
                      den dazu passenden Switch dafür muss ich laut APP am Ende aktivieren (0 bedeutet m.E. deaktiviert)
                      Edit: komischerweise kann ich die Zeit mittlerweile ändern, aber den Switch nicht. Vielleicht ist das gar keine Zahl? Es gibt ja nur die Zustände 0 und 1 laut Dokumentation.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @pingo last edited by

                        @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                        den SOC will ich per Script verändern (je nachdem wie weit die Batterie mit Netzstrom nachts geladen werden soll)

                        das wäre aber nicht der SoC selbst sondern der minimal SoC, der sogenannte Entladeboden.

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          pingo @Homoran last edited by pingo

                          @homoran genau MinSOC

                          Also nach weiteren Tests kann ich die Bat First on/off Switche per Javascript von 1 auf 0 setzen, aber nicht von 0 auf 1.
                          da kann man zusehen, wie sie vom Script kurz auf 1 gesetzt werden (grüne 1) und dann wieder "magisch" zurück auf 0 (zuerst kommt eine rote 1).
                          Wenn ich die hour auf einen anderen Wert setzen will, steht dann nach kurzer Zeit 0 im Objekt, obwohl vorher eine andere Zeit drin stand. Seltsam

                          das ist jetzt der aktuelle Status der Holdingregistereinstellungen:
                          Bildschirmfoto 2024-01-28 um 18.01.17.jpg
                          Bildschirmfoto 2024-01-28 um 18.06.42.jpg

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            pingo @pingo last edited by

                            Ich vermute, dass ich nicht den richtigen Typ/Rolle für die Holdingregister ausgewählt habe oder der JavaScript SetState-Befehl für dieses zusammengesetzte Register aus Minuten und Stunde nicht korrekt ist.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @pingo last edited by

                              @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                              der JavaScript SetState-Befehl

                              mit ack=false?

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                pingo @Homoran last edited by pingo

                                @homoran wie gebe ich dem setState-Befehl die Bestätigung bitte mit?

                                so ist das Javascript momentan:

                                setState('modbus.0.holdingRegisters.41092_wBatFirststop_SOC'/*41092 Wbatfirststop Soc*/,95);
                                setState('modbus.0.holdingRegisters.41101_Bat_First_Start_Time_1_hour'/*41101 Bat First Start Time 1 Hour*/,4);
                                setState('modbus.0.holdingRegisters.41101_Bat_First_Start_Time_1_Minute'/*41101 Bat First Start Time 1 Minute*/,6);
                                setState('modbus.0.holdingRegisters.41103_Bat_First_on/off_Switch_1'/*41103 Bat First On/off Switch 1*/,0);
                                

                                Bildschirmfoto 2024-01-28 um 20.36.00.jpg
                                Bildschirmfoto 2024-01-28 um 20.37.18.jpg

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @pingo last edited by

                                  @pingo ich kann kein js

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pingo last edited by

                                    So das Problem ist gelöst. Man muss das Acknowledgment mitliefern. Das ist das zusätzliche "false" im Befehl.
                                    Zusätzlich muss man in 16-bit schreiben und dabei folgende Zahl übergeben:
                                    Stunde * 256 + Minute. Im Beispiel unten wird 10h 5min übergeben

                                    setState('modbus.0.holdingRegisters.41101_Bat_First_Start_Time_1_16bit'/*41101 Bat First Start Time 1 16bit*/,2565,false);
                                    
                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @pingo last edited by

                                      @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                                      So das Problem ist gelöst. Man muss das Acknowledgment mitliefern.

                                      eben nicht!

                                      deswegen ja

                                      @pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:

                                      Das ist das zusätzliche "false" im Befehl.

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        nobbiman last edited by nobbiman

                                        Hallo, ich wage mich mal mit meinen Basic-Problemen hier in die "Höhle der Löwen".
                                        Mein Kernproblem: Ich bekomme keine Verbindung zwischen dem ioBroker-Adapter und dem Growatt-WR per Modbus hin.
                                        Ich bin in dem Thema Modbus nicht drin, nur soweit, dass ich die Daten aus meinem MIN 4600 TL-XH per Modbus auslesen möchte.
                                        Dazu habe ich mir einen ESP32 mit dem Breakout-Board HW-0519 zusammengesteckt, SV dran, mit PIN 3+4 am WR und auch mit meinem WLAN verbunden. Mein Router zeigt das Device unter der IP-Adresse 192.168.2.197 an.
                                        Den ioB-Adapter habe ich wie folgt konfiguriertioB-MODBUS-Adapterkonfiguration.JPG
                                        Zum Testen habe ich 2 Eingangsregister konfiguriertTest-Eingangsregister.JPG
                                        Wenn ich dem Wiki von Tobias Faust folge
                                        (https://github-com.translate.goog/tobiasfaust/SolaxModbusGateway/wiki/configuration-modbus?_x_tr_sl=auto&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=wapp)
                                        muss ich doch sicher noch über das WebUI konfigurieren!
                                        Modbusconfig.JPG
                                        Nur wie und mit welchem Befehl oder welchen Port an der IP-Adresse?
                                        Im ioB bekomme ich im Log die Fehlermeldung

                                        modbus.0
                                        	2024-02-24 14:50:21.563	warn	On error: {"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"192.168.2.197","port":502}
                                        modbus.0
                                        	2024-02-24 14:50:21.562	error	Client in error state.
                                        modbus.0
                                        	2024-02-24 14:50:21.561	error	Socket Error
                                        

                                        Ich hoffe, ich habe genügend Infos mitgegeben und hoffe gleichzeitig inständig, dass ihr mir auf die Sprünge helft und meine Defizite ausgleicht.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          Stobli last edited by Stobli

                                          Hallo,
                                          ich habe genau das gleiche Problem. Hast du schon eine Lösung ?

                                          Ich habe den Modbus Adapter auf dem ioBroker bekomme aber keine Verbindung zum Stick auf dem die ShineWIFI Software läuft.

                                          https://github.com/OpenInverterGateway/OpenInverterGateway

                                          Fehler:
                                          warn: modbus.1 (11484) On error: {"errno":-111,"code":"ECONNREFUSED","syscall":"connect"

                                          N 1 Reply Last reply Reply Quote 0
                                          • N
                                            nobbiman @Stobli last edited by

                                            @stobli Leider habe ich noch keine Lösung, kannst du denn auch nicht auf das WebUI zugreifen?
                                            Wenn doch, verrate mir bitte wie?

                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            862
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            29
                                            227
                                            80974
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo