Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bolliy Developer last edited by bolliy

      Energieertrag:

      Der/dem einen oder anderen ist sicherlich schon aufgefallen, dass der Energieertrag (Yield today) aus der App und dem FusionSolar Portal nicht mit dem sun2000.0.collected.dailyEnergyYield übeinstimmt. Der dailyEnergieYield (Register 32114) beschreibt die Energie (AC, Wechselstrom), die aus dem Wechselrichter in Richtung Hausstromkreis für heute übertragen wurde. Also nicht - wie der Name vielleich suggeriert - der Tagesenergieertrag. Huawei hat sich allerdings für den Energieertrag (Yield today) eine tolle Formel ausgedacht:

      Yield today = dailyEnergyYield + currentDayChargeCapacity - currentDayDischargeCapacity - Energieverlust des Speichers

      Nach meiner Auffassung erfüllt diese Berechnung von Huawei nicht der Erwartung der NutzerInnen.
      Deshalb habe ich mich entschlossen, über den InputPower (genauer: inputPowerWithEfficiencyLoss) mit einem sog. Riemannsches Integral (https://de.wikipedia.org/wiki/Riemannsches_Integral) den SolarErtrag aufzusummieren und im State dailySolarYield zu speichern. Es versteht sich von selbst, dass das Riemannsches Integral einen ganzen Sonnentag benötigt um den korrekten dailySolarYield anzeigen zu können.

      Der Wert Yield today von Huawei wird unter Berücksichtung von 3% Energieverlust des Speichers berechnet und im State dailyInputYield abgelegt.

      Links:
      https://community.home-assistant.io/t/integration-solar-inverter-huawei-2000l/132350/1432
      https://github.com/wlcrs/huawei_solar/wiki/Daily-Solar-Yield

      Ich freue mich auf eine rege Diskussion 😉

      1 Reply Last reply Reply Quote 1
      • G
        googie last edited by

        Hi,
        ich nutze den Adapter sehr gerne.
        Wäre es möglich ein größeren Timeout zu setzen wenn die Verbindung zum Dongle nicht geklappt hat?
        Heute Abend war meine Logs voll von Verbindungsversuchen

        sun2000.0 2024-01-25 23:14:18.033	warn	Error while reading from 192.168.178.45: [32000|116] id: 1 '' with : Timed out
        sun2000.0 2024-01-25 23:14:08.015	info	Connected Modbus IP to: 192.168.178.45 /PORT 502
        sun2000.0 2024-01-25 23:14:07.012	info	Open Connection...
        sun2000.0 2024-01-25 23:14:07.010	warn	Error while reading from 192.168.178.45: [37765|2] id: 1 '' with : Timed out
        sun2000.0 2024-01-25 23:14:01.505	info	Connected Modbus IP to: 192.168.178.45 /PORT 502
        sun2000.0 2024-01-25 23:14:00.502	info	Open Connection...
        

        Ich versuche mich in die Entwicklung der Adapter einzuarbeiten und lese fleißig die Python Implementierungen um die Optimierer zu unterstützen. Falls jemand bezüglich Modbus Custom Functions Erfahrungen hat bitte melden.

        Grüße
        Alex

        B 1 Reply Last reply Reply Quote 0
        • B
          bolliy Developer @googie last edited by bolliy

          @googie Hi, ist dein WR vielleicht in den Standby Mode gegangen? Wenn der SOC der Batterie auf den sun2000.0.inverter.0.battery.dischargeCutoffCapacity entladen hat und AC laden ausgeschaltet ist, geht die Batterie und ggf. der WR auf Standby. Dann kommt es zu den Timeouts am Abend.

          Siehe:
          https://www.photovoltaikforum.com/thread/192068-huawei-sun2000-anlage-schaltet-abends-nicht-in-den-standby-modus/?pageNo=3

          Lg Stephan

          1 Reply Last reply Reply Quote 0
          • K
            Kauli last edited by

            @bolliy

            erstmal klasse Arbeit zu dem Adapter sun2000. 👍

            habe eine etwas andere spezifikation. Verwende keinen Dongle am Master WR, sondern den SmartLogger3000. Funktioniert fast perfekt, es können nur ein paar ModbusRegister nicht gelesen werden . Fehler Modbus Register.png

            B 1 Reply Last reply Reply Quote 0
            • B
              bolliy Developer @Kauli last edited by

              @kauli hallo vielen dank😁
              Beim Dongle wäre:
              37000/37113 der Smart Meter
              37770 die Batterie

              Den SmartLogger 3000 unterstüzt der Adapter leider nicht. 😬
              Vielleicht könnte man den SmartLogger 3000 später einpflanzen.

              Zur Zeit möchte ich aber erst mal den Adapter ins Repo bringen.
              Ansonsten schreib doch ein issue (https://github.com/bolliy/ioBroker.sun2000/issues), damit ich es nicht vergesse 😉

              Lg Stephan

              1 Reply Last reply Reply Quote 0
              • L
                lcars last edited by

                Hallo bolliy,

                danke für das Plugin. Ich habe das bei mir laufen aber renne immer wieder in Probleme so, dass ich z.T. Timeouts bekomme. Ich habe zwei Wechselrichter und habe deren IDs (1,2) auch korrekt eingegeben. Am Wechselrichter mit der ID 2 hängt eine Batterie und der hat auch Zugriff auf den Smartmeter.
                Das Abfrageintervall habe ich schon auf 60s gesetzt! Trotzdem bekomme ich sogar bei diesem Intervall vereinzelt folgende Meldungen im Protokoll:

                Error while reading from 192.168.1.x: [37000|68] id: 2 '' with : Modbus exception 6: Slave device busy (retry request again later)
                ...
                Error while reading from 192.168.1.x: [47081|8] id: 2 '' with : Port Not Open
                ...
                Error while reading from 192.168.1.x: [37765|2] id: 1 '' with : Timed out
                ...

                Habt ihr bei euch auch dieses Problem oder gibt es ein Tipp wie man es lösen kann? Der Effekt tritt auch auf wenn ich das mit dem anderem SUN2000_modbus Plugin teste und ich sehe Verbindungsabbrüche wenn ich z.B. mit der NRGKick App drauf zugreifen will. Das Netzwerk ist aber ok, die Error Meldungen z.B. mit "Slave device busy" kommt ja auch direkt vom Wechselrichter.

                Wenn ich Daten abfrage, bemerke ich auch, dass die Antwortzeit hier auch stark variiert. Im SUN2000_modbus Plugin habe ich z.B. gesehen, dass die SLOW Abfrage (Abfrage aller möglichen Register) > 50s dauerte. Bis eben zu Meldungen wie Timeout oder Slave is Busy.
                Das ModBus Feature wurde zum Test auch mal deaktiviert und wieder aktiviert mit der Hoffnung, dass sich da vielleicht was neu startet.

                Hat vielleicht wer anderes auch diese Probleme bei sich beobachtet oder konnte diese ggf. schon lösen?

                Gruß
                lcars

                B 1 Reply Last reply Reply Quote 0
                • B
                  bolliy Developer @lcars last edited by bolliy

                  @lcars Hallo Lars,

                  Normalerweise hängt am Master der Dongle, der Smartmeter und die erste Batterieeinheit. Insofern könnte es sein, das die ID 2 der Master ist. Dann müsste die Einstellung für die Ids = 2,1 lauten.
                  In deinem andern Post hast du ein Fehler beim Zugriff auf 37700 aufgezeigt. Das wäre die SN der 2ten Battery Unit., die du u.U. nicht hast.

                  Sofern du mit mehreren Clients auf den Modus (seriell) zugreifen möchtest, benötigst du einen sog. modbus proxy. In einem anderen Projekt (Home Assistant) wird auf den https://pypi.org/project/modbus-proxy/ verwiesen. Den Proxy habe ich allerdings noch nicht eingesetzt.

                  Wichtig ist es auch die Software von den WR und dem Dongle auf den neusten Stand upzudaten.

                  Stephan

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    lcars @bolliy last edited by

                    @bolliy Das mit der geänderten Angabe der IDs habe ich gleich getestet und mal das Abfrageintervall verkürzt auf 10s aber seht selbst:
                    8193d3be-e922-4f1c-9e8c-000c2a26a63b-image.png

                    So sehen die Einstellungen bei mir aus:

                    61a6876c-1cc5-4cc2-bc39-56e2cfdb881f-image.png

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      bolliy Developer @lcars last edited by

                      @lcars Werden denn einige Daten gelesen oder nichts?

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        lcars @bolliy last edited by

                        @bolliy Die Daten kommen schon rein, ich musste aber das Intervall auf 60s setzen. EinAusschnitt der Daten sieht so aus: dd1ebc7b-8fe5-48e8-a2d5-c33910018280-image.png

                        Das Log jetzt mit 60s Intervall und den IDs 2,1:
                        45064cce-3109-46d3-bf41-71024445d31c-image.png

                        Sogar jetzt Timeouts.
                        Ok werde ggf. mal am Wochenende alles (Wechselrichter) neustarten und schauen ob sich da was ändert.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          bolliy Developer @lcars last edited by

                          @lcars Da einige Dongle mit der hohen Datenabfragerate anscheinend Probleme haben, baue ich gerade an einer neuen Test-Version (kein Release). Dort kann man einige Einstellungen zum modbus Timing vornehmen.

                          Ich melde mich bei dir, sofern die Test-Version fertig ist.
                          Stephan

                          1 Reply Last reply Reply Quote 0
                          • B
                            bolliy Developer last edited by bolliy

                            Da bei einigen immer wieder timeout- oder busy-Fehlermeldungen im Log auftauchen, habe ich jetzt gerade eine neue Entwickler-Version auf github hochgeladen.

                            Nun kann man beim sun2000 Adapter unter dem Reiter „MODBUS TIMING“ Einfluß auf das zeitliche Verhalten der modbus-Verbindung nehmen.

                            timeout (s) : Die Zeit um auf eine modbus-Anfrage seitens des Dongles zuantworten. Default = 5)
                            delay (ms) : Zeitverzögerung zwischen den modbus-Anfragen. Default = 0
                            connect delay (ms) : Zeitverzögerung nachdem eine modbus-Verbindung aufgebaut wurde. Default = 2000

                            f6602d4a-0a04-4e39-ae3a-942159cc309f-grafik.png

                            Besonders mit dem delay Wert sollte gespielt werden. Vielleicht erstmal mit einem hohen Wert (zb. 5000) starten und danach sukzessive nach unter korrigieren bis keine Fehler mehr auftauchen.

                            Die Installation erfolgt über den Expertenmodus. Danach auf die „Krakenkatze“ klicken und dann die benutzerdefinierte Url

                            https://github.com/bolliy/ioBroker.sun2000/tarball/dev

                            eingeben und die Installation starten.

                            025561a8-b594-42e6-bceb-cdb494c052bd-grafik.png
                            Bitte mir eine Rückmeldung geben - ob es funktioniert – und beim welcher Einstellung die Funktion gegeben ist.

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              dragst3r @bolliy last edited by

                              @bolliy Klasse. Das ist mit dem Timing ist schonmal Prima. Da ich zwei Wechselrichter habe, hatte er immer den zweiten nie gleichzeitg abfragen können. Derzeit läuft bei mir im nodered noch die Register Abfrage, auch ähnlich mit dem Verzögerung.

                              Allerdings kommen bei mir nun ein Fehler beim WR2:
                              Error while reading from 192.168.2.16 [Reg: 37700, Len: 10, modbusID: 2] with: Modbus exception 2: Illegal data address (register not supported by device)

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                bolliy Developer @dragst3r last edited by bolliy

                                @dragst3r hallo,
                                mit der Abfrage (Reg 37700 "SN") versuche ich die Anzahl der vorhandenen Battery units zuermitteln. Bei meinem WR (ich habe nur 1 WR) kommt der "Illegal data address" Fehler nicht. 🤔

                                Vielleicht muss ich mir eine andere Möglichkeit suchen um herauszufinden wie viele Battery Units an einem WR angeschlossen sind. Ich wollte den Nutzer nicht mit weiteren Settings langweilen. 😉

                                Mit welchen Modbus-Timing-Einstellungen funktioniert dein Setup?
                                Dann könnte ich die Daten als default Einstellungen zur Verfügung stellen.

                                Stephan

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  dragst3r @bolliy last edited by

                                  @bolliy Die Slave WR haben doch meist keine Batterie, vielleicht in den Settings fragen ob Batterie vorhanden und wenn ja, bei welcher ID?

                                  Als Einstellung habe ich derzeit: alle 10sek, wobei Debug sagt: Interval 13.254 sec. Habe heute erst deinen Adapter verwendet und muss meine Skripte umschreiben.

                                  timeout: 5000ms
                                  delay: 1000ms (hatte ich bei NodeRed auch)
                                  connect: 5000ms

                                  PS: Vielleicht kannst du noch als Setting den Netzbezug (Grid) berechnen. InputPower (loss) - HouseConsumption. Den brauch man z.B. bei evcc

                                  Gruß
                                  Steffen

                                  B 2 Replies Last reply Reply Quote 0
                                  • B
                                    bolliy Developer @dragst3r last edited by

                                    @dragst3r hi Steffen,
                                    für den "Illegal data address" habe ich schon eine Lösung.
                                    Falls ich eine Dev-Version fertig habe - gebe ich Bescheid.
                                    Würdest du den neuen State Netzbezug ein issue https://github.com/bolliy/ioBroker.sun2000/issues erstellen. Dann vergesse ich dein Anliegen nicht.

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      bolliy Developer @bolliy last edited by bolliy

                                      @dragst3r hi Steffen,
                                      habe gerade eine neue Dev-Version hochgeladen.

                                      Intallation wie oben beschrieben. Allerdings muss der Adapter manuell neugestartet werden, da dieses nicht auto. funktioniert.

                                      Der Intervall wird vom Adapter ggf. angepasst. Dann findest du folgendes im log:

                                      warn  Please check your configuration!
                                      warn  The interval is too small. The value has been changed on 6 sec.
                                      

                                      Die Fehlermeldung zu Reg 37700 wird nun ignoriert und nicht neu angefragt. Was ggf. auch zu Verzögerung (13 Sekunden Intervall) geführt haben könnte.

                                      Ich freue mich auf deine/eure Rückmeldung.

                                      P.S.
                                      Zur Zeit kann ich keine neue Versionen veröffentlichen, da der Adaper noch in der Validierung durch das ioBroker Core Team steckt.

                                      Stephan

                                      D 1 Reply Last reply Reply Quote 0
                                      • B
                                        bolliy Developer @dragst3r last edited by bolliy

                                        @dragst3r der Post https://forum.iobroker.net/post/1123119 war eigentlich für dich bestimmt.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dragst3r @bolliy last edited by

                                          @bolliy danke, der Fehler zu 37700 ist weg, jedoch habe ich noch

                                          	Error while reading from 192.168.2.16 [Reg: 37200, Len: 3, modbusID: 2] with: Modbus exception 2: Illegal data address (register not supported by device)
                                          

                                          Scheinbar nun auch der einzige.

                                          B 2 Replies Last reply Reply Quote 0
                                          • B
                                            bolliy Developer @dragst3r last edited by

                                            @dragst3r hi steffen, kann es sein, dass deine Software nicht aktuell ist?

                                            Die Softwarestände findest du in der Fusion Solar App oder auf dem Portal:

                                            Bei mir:
                                            Dongle V200R022C10SPC108
                                            Inverter V100R001C00SPC159

                                            Stephan

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            982
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter emma huawei inverter luna2000 modbus tcp modbus-proxy sdongle smartlogger sun2000
                                            81
                                            926
                                            207497
                                            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