Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Deye Wechselrichter Modbus Register beschreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Deye Wechselrichter Modbus Register beschreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Waly_de @miael last edited by

      @miael
      So würde ich sagen:

      Dein Pin     Deye Pin 
      1            2
      3            3
      4            1
      
      
      
      1 Reply Last reply Reply Quote 0
      • W
        Waly_de @miael last edited by Waly_de

        @miael Aber ich laufe für dich auch noch mal schnell in den Keller und mach ein Foto 😉

        Nicht benannt-2.png

        miael 1 Reply Last reply Reply Quote 0
        • miael
          miael @Waly_de last edited by

          @Waly_de
          Vielen Dank für deine Mühe.
          Hat leider noch nicht geklappt. Auch mit Deiner Pin Belegung nicht. Bekomme jetzt auch keine Verbindung auf dem BMS Port l.😞
          Ich werde wohl morgen noch einmal von null anfangen....

          W 1 Reply Last reply Reply Quote 0
          • W
            Waly_de @miael last edited by

            @miael Mist... Einen Versuch wars wert...
            Denk dran.. der Deye will für jede Kleinigkeit ein und ausgeschaltet werden.... hoffe du bekommst es wieder hin.

            1 Reply Last reply Reply Quote 0
            • W
              warp735 last edited by

              @waly_de sagte in Deye Wechselrichter Modbus Register beschreiben:

              Allerdings ist mir nicht klar, warum du uint16be verwendest und dann mit einer Formel die Werte wieder grade ziehst. In der Definition steht ja auch oft der Wertebereich.

              Das habe ich bereits vor hundert Beiträgen gesagt 🙂 Ich habe alle Werte auf signed16bit und alle Werte stimmen einwandfrei.

              miael 1 Reply Last reply Reply Quote 1
              • miael
                miael @warp735 last edited by miael

                @warp735
                IMG_20230730_174615.jpg
                Funktioniert am BMS inkl. Akku😄

                T 1 Reply Last reply Reply Quote 1
                • T
                  tedesco1968 @TheBam last edited by

                  @thebam said in Deye Wechselrichter Modbus Register beschreiben:

                  @warp735

                  Ok das ist seltsam weil bei mir Läuft es einfwandfrei mit den unsigned.
                  Aber die 2 sind ähnlich von daher hauptsache es geht jetzt.

                  Hast du alle Register schon eingetragen? Wenn ja kannst du das exportieren. Wenn nich habe ich das demnächst noch vor und will es dann für andere user bereitstellen.

                  Hallo @thebam,

                  habe jetzt die Modbus Verbindung auch hinbekommen über den Raspberry mit Iobroker und einen RS485-USB Adapter, habe Testweise ein paar Register eingegeben, ich finde aber leider deine Holdingregister für den Deye nicht.

                  Möchte die Objekte dann per MQTT an meinen anderen Raspberry senden worauf mein richtiger Iobroker fürs Haus läuft. Welcher MQTT Adapter muss beim dem zu sendenden Objekte sein ein Client oder der Server.

                  Gruß
                  Antonio

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    warp735 @tedesco1968 last edited by

                    @tedesco1968 sagte in Deye Wechselrichter Modbus Register beschreiben:

                    worauf mein richtiger Iobroker fürs Haus läuft.

                    Warum machst kein Master / Slave? Wäre doch die bedeutend elegantere Lösung. Oder ein Modbus ETH Adapter und direkt an richtigen iobroker. Dann kann der Pi komplett weg.

                    1 Reply Last reply Reply Quote 0
                    • T
                      tedesco1968 @miael last edited by

                      @miael said in Deye Wechselrichter Modbus Register beschreiben:

                      @warp735
                      IMG_20230730_174615.jpg
                      Funktioniert am BMS inkl. Akku😄

                      Hallo @miael,

                      ich habe auch so ein Elfin noch rumliegen, könntest du mal deine Elfin und
                      Modbusadapter Einstellungen hier posten?

                      Vielen Dank im vorraus

                      1 Reply Last reply Reply Quote 1
                      • E
                        etzeste13 @Waly_de last edited by

                        @waly_de
                        Hallo Waly,

                        ich habe auch den Deye am Laufen und lese auch mit dem Waveshare die Daten über den Modbus-Adapter aus und verwende auch deine Registerliste. Funktioniert alles soweit OK. Vielen Dank hier für deine Vorarbeit und den coolen Ansatz deiner Vis-Darstellung. Ich möchte mir auch gerne so eine Steuerung/Dashboard bauen aber ich komme mit den Registerbeschreibungen nicht klar.

                        "Out of Grid Total Power", oder "Inverter Output total Power", UPS_loas-side phase power A" oder "grid side inner current" diese Werte sind für mich nicht wirklich selbsterklärend.

                        Was ich gerne hätte ist:
                        -)Leistung am LOAD-Ausgang,
                        -) Welche Leistung speise ich aktuell ein, bzw ziehe ich aus dem Netz für den LOAD Ausgang oder Batterie Ladung
                        -) Ziel wäre eine VIS zu machen, die das Display am Deye simuliert...

                        Wäre super, wenn es hier für all die übermittelten Register eine Erklärung gibt wo/wie Strom und Spannung gemessen werden die hier geliefert werden.

                        Hoffe hier kann mir wer helfen.

                        vG
                        Etze

                        1 Reply Last reply Reply Quote 1
                        • U
                          Unterums last edited by

                          Hallo,

                          ich versuche den Deye SUN 12K
                          über Modbus folgende Werte zu setzen:
                          System Work Mode-2

                          (also wann die Batterie vom Netz geladen wird)
                          Ein und Ausschalten
                          Startzeit
                          Endezeit

                          Hat hier jemand eine Idee für mich ?

                          Danke !!!Screenshot 2023-11-23 151919.png

                          1 Reply Last reply Reply Quote 0
                          • H
                            Hasan last edited by Hasan

                            Hi, hab eure ganzen Beiträge gelesen und bin was diese Werte hier betrifft nicht schlauer geworde. Vielleicht kann jemand helfen.

                            Kann jemand hier die verschiedenen "Power" Werte anhand einer Zeichnung beschreiben? (ohne ist auch okay)
                            Mir ist nicht ganz klar an welcher Stelle im Wechselrichter das gemessen wird.
                            Eins davon werden wohl die Klammern sein die ich im Schaltschrank habe.
                            Eins davon die Energie die vom Wechselrichter von Richtung DC erzeugt wird.
                            Aber was ist mit den Anderen?

                            Ich hab in den Registern folgende gefunden:

                            register 604+605+606 A,B,C phase power on the inner side of the grid
                            register 616+617+618 Out of grid power
                            register 625 Grid output total
                            register 633+634+635 Inverter output phase power
                            register 640+641+642 UPS Load side phase power ABC
                            register 650+651+652 Load phase power ABC
                            register 656+657+658 Load phase power ABC das gehört wohl zu 650... dazu

                            Vielen Dank im vorraus

                            1 Reply Last reply Reply Quote 0
                            • miael
                              miael last edited by

                              Inzwischen habe ich meinen Anschluss noch aufgeräumt.
                              Vom BMS Port mit einem Adapter auf Schraubpins. Daran sind dann nur die Leitungen zum BMS und zum Modbus Adapter angeschlossen. 12Volt kommt direkt vom Inverter:
                              IMG_20230809_091040.jpg

                              Die Stromversorgung werde ich noch auf extern ändern, damit ich den WR auch per Modbus an und ausschalten kann.

                              Hier meine Iobroker Einstellunge:
                              Unbenannt1.JPG

                              Unbenannt2.JPG

                              Hier die vom Elfin:
                              Unbenannt3.JPG

                              Und hier noch Bsp für die Register:
                              60713d9f-52be-4c2c-a246-3fbfbaac1456-grafik.png

                              wendy2702 1 Reply Last reply Reply Quote 0
                              • miael
                                miael last edited by

                                Deye:

                                IMG_20231203_130935.jpg

                                1 Reply Last reply Reply Quote 0
                                • TheBam
                                  TheBam @Waly_de last edited by

                                  @waly_de

                                  ich habe da mal noch 2 Fragen weil ich mit die Tou auch nachgebastelt habe.

                                  Welche register sind für den haken beim generator?

                                  und wie Fragst du den Status Normal ab???

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    Waly_de @TheBam last edited by Waly_de

                                    @thebam

                                    @thebam sagte in Deye Wechselrichter Modbus Register beschreiben:

                                    und wie Fragst du den Status Normal ab???

                                    Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
                                    In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
                                    "Standby; Selbsttest;Normal;Alarm;Fault"

                                    @thebam sagte in Deye Wechselrichter Modbus Register beschreiben:

                                    Welche register sind für den haken beim generator?

                                    Das ist etwas komplizierter.
                                    Grundsätzlich seht das in diesem Registern:
                                    modbus.0.holdingRegisters.1.40173_GridGenEn1 -
                                    modbus.0.holdingRegisters.1.40178_GridGenEn6

                                    Das sind aber Bit-Register.
                                    Bit0 ist Grid charge Ein/Aus
                                    Bit1 ist Gen charge Ein/Aus

                                    Um die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:

                                    function setBit(currentValue, bitPosition) {
                                      // Berechne die neue Bit-Maske basierend auf der Bit-Position
                                      const bitmask = 1 << bitPosition;
                                      // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert
                                      if (!(currentValue & bitmask)) {
                                        return (currentValue | bitmask) ;  // Bit auf 1 setzen
                                      } else {
                                        return (currentValue & ~bitmask); // Bit auf 0 setzen
                                      }
                                    }
                                    
                                    function getBit(currentValue, bitPosition) {
                                      // Hole den aktuellen Wert des States
                                      // onst currentValue = getState(stateName).val;
                                      // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist
                                      const bitmask = 1 << bitPosition;
                                      return ((currentValue & bitmask) !== 0) ? "1":"0" ;
                                    }
                                    
                                    //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}
                                    

                                    Das Vis-Element ist ein ButtonState.
                                    Bei Objectid habe ich das Register angegeben:
                                    modbus.0.holdingRegisters.1.40173_GridGenEn1

                                    für den GridButton dann:

                                    Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)}
                                    Wert:      {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}
                                    

                                    für den GenButton:

                                    Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}
                                    Wert:      {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}
                                    

                                    Das ganze dann 6 mal für alle Register bis GridGenEn6...

                                    Ich hoffe das hilft Dir weiter 🙂

                                    C TheBam 2 Replies Last reply Reply Quote 0
                                    • C
                                      ChrisBGL @Waly_de last edited by

                                      Wäre das nicht eine Alternative bei der man kein zusätzliches Kabel benötigt und bequem den MQTT Adapter nutzen kann?

                                      https://github.com/kbialek/deye-inverter-mqtt

                                      TheBam 1 Reply Last reply Reply Quote 0
                                      • TheBam
                                        TheBam @ChrisBGL last edited by

                                        @chrisbgl
                                        also wenn ich das richtig verstehe läuft das dann über den webstick. Da kannst du dann doch sogar den Iobroker adapter nutzen der geht soweit ich weiß auch schon direkt mit den großen hybriden.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          shipper @TheBam last edited by

                                          @thebam
                                          also am 28.12. der letze Post? Kann doch nicht sein.
                                          Ich lese die Holdingregister mit dem Modus.iobroker , stabil seit Wochen. Und nun will ich eine TOU-Steuerung aufbauen ähnlich wie batterylife von victron, nur dass ich dazu pvforecast-Werte verwenden möchte. Dazu muss ich aber schreiben können. Kann ich auch, aber nur mit modpoll und nicht mit iobroker. Modpoll ist aber auch nicht so prickelnd, weil bei Schreiben eines einzelnen Wertes 06 genommen wird (ist standard), und nicht 10. 06 kann aber der Deye nicht. Also müsste man immer 2 Werte schreiben, mit mbpoll, beim Adapter gibt es ja den F16-Haken.
                                          Wie ihr dem Adapter das Schreiben beigebracht habt, ist mir echt schleierhaft. Das Aktualisieren der Objekte per script funktioniert, kommen aber nicht beim Deye an.
                                          Wenn ich mit mbpoll schreibe, sind die Werte sofort auf dem Deye und auch in den Objekten.
                                          Was hier so gesehen habe, ist ja echt phantastisch. Ich habe auch gesehen, dass oft wp auf false steht. Hat denn WP nichts mit dem Schreiben zu tun, bzw darf der nicht angekreuzt sein? Und was bewirkt multiples Schreiben, also CW. Bei wird das Register auf 0 gesetzt.
                                          Vielleicht ist der thread hier doch noch nicht zu Ende

                                          1 Reply Last reply Reply Quote 0
                                          • TheBam
                                            TheBam @Waly_de last edited by

                                            @shipper was möchtest du denn ist doch hier alles gut beschrieben. bzw. auch in den posts oben. Ich kann alles steuern bzw. setzen wie ich das möchte

                                            waly_de sagte in Deye Wechselrichter Modbus Register beschreiben:

                                            @thebam

                                            @thebam sagte in Deye Wechselrichter Modbus Register beschreiben:

                                            und wie Fragst du den Status Normal ab???

                                            Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
                                            In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
                                            "Standby; Selbsttest;Normal;Alarm;Fault"

                                            @thebam sagte in Deye Wechselrichter Modbus Register beschreiben:

                                            Welche register sind für den haken beim generator?

                                            Das ist etwas komplizierter.
                                            Grundsätzlich seht das in diesem Registern:
                                            modbus.0.holdingRegisters.1.40173_GridGenEn1 -
                                            modbus.0.holdingRegisters.1.40178_GridGenEn6

                                            Das sind aber Bit-Register.
                                            Bit0 ist Grid charge Ein/Aus
                                            Bit1 ist Gen charge Ein/Aus

                                            Um die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:

                                            function setBit(currentValue, bitPosition) {
                                              // Berechne die neue Bit-Maske basierend auf der Bit-Position
                                              const bitmask = 1 << bitPosition;
                                              // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert
                                              if (!(currentValue & bitmask)) {
                                                return (currentValue | bitmask) ;  // Bit auf 1 setzen
                                              } else {
                                                return (currentValue & ~bitmask); // Bit auf 0 setzen
                                              }
                                            }
                                            
                                            function getBit(currentValue, bitPosition) {
                                              // Hole den aktuellen Wert des States
                                              // onst currentValue = getState(stateName).val;
                                              // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist
                                              const bitmask = 1 << bitPosition;
                                              return ((currentValue & bitmask) !== 0) ? "1":"0" ;
                                            }
                                            
                                            //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}
                                            

                                            Das Vis-Element ist ein ButtonState.
                                            Bei Objectid habe ich das Register angegeben:
                                            modbus.0.holdingRegisters.1.40173_GridGenEn1

                                            für den GridButton dann:

                                            Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)}
                                            Wert:      {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}
                                            

                                            für den GenButton:

                                            Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}
                                            Wert:      {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}
                                            

                                            Das ganze dann 6 mal für alle Register bis GridGenEn6...

                                            Ich hoffe das hilft Dir weiter 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            531
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            228
                                            42053
                                            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