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 @Fredi Wiegisser last edited by bolliy

      @fredi-wiegisser der gleichzeitiger Zugriff auf die modbus Schnittstelle ist über den internen mobus-proxy des Adapters möglich.

      Toll, dass du die Ursache der Timeouts eigenständig herausgefunden hast.

      LG Stephan

      Fredi Wiegisser Michael Birr 2 Replies Last reply Reply Quote 0
      • Fredi Wiegisser
        Fredi Wiegisser @bolliy last edited by Fredi Wiegisser

        @bolliy vielleicht noch etwas Kleines zur Info. Die Register 32091 und 32093 meines Sun2000 12KTL M5 weisen eine falsche Uhrzeit aus für die Inverter Start- und Stopzeit, obschon GMT+1 korrekt eingetragen ist. Angezeigt wird aktuell die Sommerzeit, also 1h zu viel. Ich gehe davon aus, dass die Register unbehandelt im Adapter zur Verfügung stehen und direkt vom Inverter ausgelesen werden. Falls das so ist, plane ich einen Service Request bei Huawei.

        Fredi Wiegisser 2 Replies Last reply Reply Quote 0
        • Michael Birr
          Michael Birr @bolliy last edited by

          @bolliy Hallo Stephan, nachdem ich diesen Winter nun mit Auswertungen/Zusammenlegungen über zwei Instanzen-mit drei M1 WR- über Blockly deinen Adapter (DANKE!) erfolgreich genutzt habe, stellt sich nun im beginnenden Frühjahr ein Problem, das ich nicht selbst lösen konnte :
          ich versuche über die Batterie-Regelung zeitlich unterschiedliche Ladegrößen in Abhängigkeit von SOC zu schalten - Blockly funktioniert - Datenpunkte werden geändert ABER mein führender M1-8K (mit zwei Battreiblöcken - alles richtig dargestellt)
          nimmt die Daten nicht an ?!?
          Mir fällt im Moment nichts mehr dazu ein - der WR ist lokal über sein eigenes WLAN eingebunden - paßt seit drei Monaten.
          Danke schon einmal und viele Frühlingsgrüße Michael

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

            @michael-birr diese Dinge sind zu beachten:

            1. Bitte den blockly Funktionsblock steuere anstatt aktualisieren verwenden. Siehe https://forum.iobroker.net/post/1244554 und https://github.com/bolliy/ioBroker.sun2000/wiki/Verarbeitung-der-Sollwerte

            2. Falls die Luna schläft (SLEEP_MODE), muss der Speicher erst "aufgeweckt" werden. https://github.com/bolliy/ioBroker.sun2000/wiki/Speichersystem-aufwecken-(wake-up-Luna)

            Ob der Adapter die Controls zum WR schreibt kannst du im Log verfolgen - hier wird MinSoc auf 5 % gesetzt:

            2025-03-06 07:15:41.218 - info: sun2000.0 (1015299) Control: Event - state: battery.dischargeCutoffCapacity changed: 5 ack: false
            2025-03-06 07:15:46.084 - info: sun2000.0 (1015299) Control: write state inverter.0.control.battery.dischargeCutoffCapacity : 5 ack: true
            

            LG Stephan

            Michael Birr 1 Reply Last reply Reply Quote 0
            • Michael Birr
              Michael Birr @bolliy last edited by Michael Birr

              @bolliy Ich denke, dass ich diese Anregungen schon beachtet habe - siehe CC. Vieleicht erkennst du daraus mehr

              2025-03-06 10:00:00.026 - info: javascript.0 (7292) script.js.common.Batteriesteuerung.Skript_1: getState(id=sun2000.0.inverter.0.battery.SOC, timerId=undefined) => {"val":57,"ack":true,"ts":1741251580239,"q":0,"from":"system.adapter.sun2000.0","user":"system.user.admin","lc":1741251580239}
              2025-03-06 10:00:00.030 - info: javascript.0 (7292) script.js.common.Batteriesteuerung.Skript_1: getState(id=sun2000.0.inverter.0.battery.ratedCapacity, timerId=undefined) => {"val":25000,"ack":true,"ts":1741105021840,"q":0,"from":"system.adapter.sun2000.0","user":"system.user.admin","lc":1726907980177}
              2025-03-06 10:00:00.030 - info: javascript.0 (7292) script.js.common.Batteriesteuerung.Skript_1: setForeignState(id=sun2000.0.inverter.0.control.battery.maximumChargingPower, state={"val":2687.5000000000005,"ack":false,"ts":1741251600030,"q":0,"from":"system.adapter.javascript.0","lc":1741251600030,"c":"script.js.common.Batteriesteuerung.Skript_1"})
              2025-03-06 10:00:00.030 - info: javascript.0 (7292) script.js.common.Batteriesteuerung.Skript_1: setStateDelayed(id=sun2000.0.inverter.0.control.battery.maximumChargePower, state=2687.5000000000005, isAck=undefined, delay=500, clearRunning=false)
              2025-03-06 10:00:00.045 - info: sun2000.0 (21396) Control: Event - state: battery.maximumChargingPower changed: 2687.5000000000005 ack: false
              2025-03-06 10:00:00.385 - warn: sun2000.0 (21396) Error while writing to 192.168.200.1 [Reg: 47075, Len: 2, modbusID: 0] with: Modbus exception 128: Unknown error
              2025-03-06 10:00:00.385 - info: sun2000.0 (21396) Control: Event is discarded because it could not be processed. inverter.0.control.battery.maximumChargingPower
              2025-03-06 10:00:00.539 - info: javascript.0 (7292) script.js.common.Batteriesteuerung.Skript_1: setForeignState(id=sun2000.0.inverter.0.control.battery.maximumChargePower, state={"val":2687.5000000000005,"ack":false,"ts":1741251600539,"q":0,"from":"system.adapter.javascript.0","lc":1741251600539,"c":"script.js.common.Batteriesteuerung.Skript_1"})
              2025-03-06 10:00:00.555 - info: sun2000.0 (21396) Control: Event - state: battery.maximumChargePower changed: 2687.5000000000005 ack: false
              2025-03-06 10:00:20.544 - warn: sun2000.0 (21396) Control: maximumChargePower is deprecated use "maximumChargingPower" instead
              2025-03-06 10:00:20.648 - warn: sun2000.0 (21396) Error while writing to 192.168.200.1 [Reg: 47075, Len: 2, modbusID: 0] with: Modbus exception 128: Unknown error
              2025-03-06 10:00:20.648 - info: sun2000.0 (21396) Control: Event is discarded because it could not be processed. inverter.0.control.battery.maximumChargePower
              2025-03-06 10:14:58.097 - info: admin.0 (19984) ==> Connected system.user.admin from ::ffff:192.168.188.71
              2025-03-06 10:15:41.848 - info: admin.0 (19984) ==> Connected system.user.admin from ::ffff:192.168.188.71
              Danke und Gruß Michael
              
              EIN NEUER VERSUCH Gruß Michael
              B 1 Reply Last reply Reply Quote 0
              • B
                bolliy Developer @Michael Birr last edited by bolliy

                @michael-birr keine 'Float' (Gleitkommazahl) verwenden! Der Inverter erwartet den Datentyp 'Integer' (ganze Zahl) . Du mußt die Zahl runden (Math.round())

                Ich werde die Gleitkommzahlen in der nächsten Version einfach runden. 😉
                LG Stephan

                Michael Birr 1 Reply Last reply Reply Quote 0
                • Michael Birr
                  Michael Birr @bolliy last edited by

                  @bolliy Vielen Dank, da bin ich nicht drauf gekommen - Test folgt !

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

                    Hi bolliy, zuerst einmal ein großes Lob für diesen mega Adapter.
                    Jetzt hätte ich aber eine Frage bzw. ein Anliegen.
                    Ich habe folgende Hardware-Konfiguration:

                    10,53 kWp mit SUN2000 10ktl-m1
                    10kW LUNA2000
                    SDongleA-05
                    DTSU666-H -> Modbus-ID 11

                    zusätzlich läuft bei mir aber auch noch ein Balkonkraftwerk mit 840 Wp und Hoyemiles-800.
                    Bisher habe ich mit einem shelly-1em die Werte des BK abgefragt. Ich wollte aber die Daten auch gerne auf Fusionsolar.
                    Dazu habe ich mir noch einen DDSU666-H zugelegt. Dieser ist einphasig!
                    Habe ihn gemäß Anleitung Vernetzung Fremdwechselrichter von Huawei ins System eingebunden.
                    Vernetzung Wechselrichter.png
                    Da habe ich dem DDSU die ModBusadresse 19 gegeben.
                    Der DDSU ist über den Dongle eingebunden.
                    Funktioniert auch alles super. Werte passen auf Fusionsolar. es wird nur nicht der DDSU angezeigt, sondern die Werte sind saldierend. Stört mich aber nicht.
                    Jetzt würde ich aber gerne mit Deinem Adapter die Daten des DDSU seperat abfragen wollen. er ließt ja den Modbus aus.
                    Bei Integration-Settings im Adapter ist aber die ModBus-Adresse für den SmartLogger fest verankert. Lässt sich nicht ändern bzw erweitern.
                    Besteht vielleicht die Möglichkeit das man noch eine zweite SmartLogger Abfrage integriert?
                    Also z.B. so?
                    sun2000-Mod.png
                    Da wo auch die Möglichkeit besteht die Modbus-ID manuell einzugeben?

                    Wäre mega wenn sowas gehen würde!

                    Gruß
                    Johnny

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

                      @prinzeisenherz1 die Abfrage der DDSU erfolgt durch den Smart Logger eigenständig. Du hast aber eine SDongle als Integration gewählt ?!
                      Man müsste also den 2ten SmartMeter über die Modbus id 19 auslesen. Das bedeutet allerdings die Erstellung eines weiteren Treibers. Das wird leider nicht ohne größeren Aufwand funktionieren.

                      Es gibt aber einen Fork zu meinem Projekt. Vielleicht wäre diese Anpassung ein Ansatz um dein Anliegen umzusetzen. https://github.com/edyso/ioBroker.sun2000

                      Ansonsten kannst du gerne ein issue hier https://github.com/bolliy/ioBroker.sun2000/issues anlegen. Dann können wir schauen ob sich weitere Interessenten finden, die dein Anliegen unterstützen.

                      LG Stephan

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

                        Hi bolliy danke für Deine Antwort.
                        Welche Anpassung ist denn in dem Fork?
                        Ich habe gestern mal ein issue auf github angelegt, mit der Hoffnung das diese Option vielleicht doch noch einzug in Deinem Adapter hält! 🙂

                        Wäre super!!
                        Gruß Johnny

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

                          @prinzeisenherz1 das steht im github repository: "this fork reads meter-data directly from comunication between inverter and smartmeter by a rs485-adapter"

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

                            Hallo zusammen,

                            ich hatte per Blockly versucht den Wert für den "sun2000.0.inverter.0.battery.dischargeCutoffCapacity" zu setzen. Leider scheint das nicht zu funktionieren. Hat jemand einen Tipp für mich? Muss ich da noch etwas beachten, um den Wert zu setzen?

                            <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="3g`Uj6f2os+y,26H.+)!" x="88" y="63">
                              <field name="SCHEDULE">59 23 14 10 *</field>
                              <statement name="STATEMENT">
                                <block type="control" id="v0!u]czk1PE^j_W+r~0t">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">sun2000.0.inverter.0.battery.dischargeCutoffCapacity</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_number" id="U*N?9F7L;1L0hMZo}(H1">
                                      <field name="NUM">5</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                            
                            B 1 Reply Last reply Reply Quote 0
                            • B
                              bolliy Developer @surfer09 last edited by

                              @surfer09 du musst den entsprechenden Control state ändern: sun2000.0.inverter.0.control.battery.dischargeCutoffCapacity

                              Stephan

                              surfer09 1 Reply Last reply Reply Quote 1
                              • surfer09
                                surfer09 @bolliy last edited by

                                @bolliy Mensch, super! Danke dir! 🙂

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

                                  @surfer09 alle Einstellungen stehen im Wiki: https://github.com/bolliy/ioBroker.sun2000/wiki/Battery-control

                                  1 Reply Last reply Reply Quote 0
                                  • Fredi Wiegisser
                                    Fredi Wiegisser @Fredi Wiegisser last edited by

                                    @fredi-wiegisser laut Huawei Service Request, sehen sie hier keinen Fehler bei sich. Schade, dann bleibt die Uhrzeit halt falsch bis Huawei merkt, dass die Register fehlerhafte Inhalte haben.

                                    1 Reply Last reply Reply Quote 0
                                    • MartinK.
                                      MartinK. @bolliy last edited by

                                      @bolliy Also ich habe diese Warnmeldung jetzt auch wieder im log,
                                      obwohl der SDongle aktivert ist, und ID1 hat ??

                                      Error while reading from 10.79.1.255 [Reg: 37100, Len: 38, modbusID: 1] with: Timed out

                                      Modbus Timing auto-adjust ist auch aktiviert ?
                                      Der Adapter läuft sonst super, aber immer diese Meldungen.
                                      Was kann man denn noch anpassen ?

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

                                        @martink wie viele timeout Fehler treten am Tag auf?
                                        Sofern diese bei der Änderung des Betriebszustands auftreten, ist dieses tolerierbar.

                                        Ansonsten bitte dieses beachten: https://github.com/bolliy/ioBroker.sun2000/wiki/Fehlerprotokollierung-und-Fehlerbehebung-(troubleshooting)

                                        Stephan

                                        MartinK. 1 Reply Last reply Reply Quote 0
                                        • MartinK.
                                          MartinK. @bolliy last edited by

                                          @bolliy Also in den letzten 24 Std waren es Insgesamt 273 Warnmeldungen. Alle beziehen sich auf den selben Timeout-Fehler beim Lesen von Daten von der IP-Adresse 10.79.1.255 über Modbus. Immer nur dieser Code:

                                          [Reg: 37113, Len: 2, modbusID: 1] with: Timed out
                                          Reg: 32064, Reg: 32080 Reg: 37100
                                          Reg: 37113, Reg: 47415

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

                                            @martink das sind zu viele timeouts! Hast du noch ein anderes Geräte/ioBroker Instanz, welche auf den modbus des Wechselrichters zugreift? Sind alle Geräteeinheiten auf dem aktuellen Firmwarestand?
                                            Stephan

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter emma huawei inverter luna2000 modbus tcp modbus-proxy sdongle smartlogger sun2000
                                            80
                                            922
                                            188084
                                            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