Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      maik77 last edited by maik77

      Hallo zusammen,

      die letzten beiden Abende habe ich es nicht hinbekommen, den DEYE 12K-SG04LP3 mit dem Waveshare ‎RS485 TO POE Ethernet Converter (B) Adapter zuverlässig zum Laufen zu bekommen.

      Heute hat es nun geklappt, daher möchte ich meine Einstellungen gerne teilen. 🙂

      Der DEYE Wechselrichter ist unter Advanced auf SLAVE mit der Modbus SN 01 einzustellen.
      (Andere Modbus IDs habe ich noch nicht probiert).
      IMG_9046.jpg

      Das Patchkabel (T568B) ist mit den Pins 6, 7 und 8 auf dem BMS-Port des DEYE-Wechselrichters aufgelegt.
      6 grün -> Waveshare Ground
      7 braun/weiss -> Waveshare RS485 B
      8 braun -> Waveshare RS485 A

      IMG_9045.jpg IMG_9044.jpg

      Folgender ModBUS TCP Adapter wurde verwendet:
      ‎WAVESHARE RS485 TO POE Ethernet Converter (B)
      AISIN: B0BGHVRMPJ

      Der Waveshare Adapter kam von Amazon übrigens mit der Standard-IP-Adresse:
      192.168.1.201
      Also den Rechner manuell auf eine ähnliche Adresse im Netz setzen (192.168.1.10) und dann erstmalig zugreifen. Anschließend kann eine neue feste IP-Adresse (empfohlen) aus dem eigenen Netz oder DHCP konfiguriert werden.
      In einigen Dokus steht 192.168.1.200 oder 192.168.1.202 oder 192.168.1.7 (<- das ist wohl das andere Modell).

      UPDATE 18.11.2024: Die neu ausgelieferten Geräte haben als Default IP die 192.168.1.254

      In diesem Beispiel hat das Gerät nun die IP-Adresse 192.168.15.59

      Essentiell sind die Einstellungen:
      Baud Rate 9600
      Protocol: Modbus TCP to RTU
      (andere Settings siehe Screenshot)

      Bildschirmfoto 2023-05-12 um 11.52.29.png

      Die ModBUS-Register Anleitungen, die für DEYE im Netz herumgeistern, passen wohl nicht auf diesen Typen SG04LP3.
      Register für den PV1-String ist hier 672
      Das korrekte Modbus-Dokument versuche ich noch zu finden.

      Bevor wir den iobroker konfigurieren, empfehle ich einen Test mit dem Kommandozeilen-Tool mbpoll.

      mbpoll -m tcp -a 1 -r 672 -c 1 -0 -l 1000 <RS485-Gateway>  
      

      Beispiel:

      mbpoll -m tcp -a 1 -r 672 -c 1 -0 -l 1000 192.168.15.59  
      

      Ausgabe:

      Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it
      under certain conditions; type 'mbpoll -w' for details.
      
      Protocol configuration: Modbus TCP
      Slave configuration...: address = [1]
                              start reference = 672, count = 1
      Communication.........: 192.168.15.59, port 502, t/o 1.00 s, poll rate 1000 ms
      Data type.............: 16-bit register, output (holding) register table
      
      -- Polling slave 1... Ctrl-C to stop)
      [672]: 	6500
      
      

      6500 ist hier die Leistung des/der Strings in Watt (PV1).
      = 6500 Watt

      In iobroker sehen die Einstellungen in der Modbus.X-Instanz wie folgt aus:

      Wichtig ist auch hier wie bei mbpoll die Einstellung TCP
      (RTU over TCP funktioniert nicht, geht wohl nur mit anderen Adaptern)

      Bildschirmfoto 2023-05-12 um 11.52.05.png

      Als Beispiel habe ich hier den Holding-Register 672 konfiguriert:
      (Häkchen bei Abfrage nicht vergessen).

      Bildschirmfoto 2023-05-12 um 12.58.44.png

      Ausgabe im Objekt:

      Bildschirmfoto 2023-05-12 um 11.51.47.png

      Viele Grüße

      Maik

      S M H 4 Replies Last reply Reply Quote 3
      • S
        starnet @maik77 last edited by

        @maik77

        Hallo Maik,

        Ich habe das auch ausprobiert. Aktuell habe ich das Der Waveshare Konverter auf dem Modbus Anschluss des Deye. Das funktioniert einwandfrei mit Loxone, wo ich all diese Werte integrieren konnte. Möchte ich nun aber mit iobroker auslesen, kommt nichts (mbpoll). Hänge ich das Kabel an den BNS Port (immer noch der gleiche Wavshare Konverter) an den BMS Port, dann erhalte ich Daten mit mbpoll. Aber keine Daten mehr in Loxone. $Irgendwie verstehe ich das nicht ganz. Das sollte ja das selbe sein. Oder was genau ist hier anders beim Modbus Port und beim BMS Port (ausser dass der BMS Port auf pin 4 und 5 den CAN BUs für die Batterie hat).

        Gruess

        1 Reply Last reply Reply Quote 0
        • S
          starnet @maik77 last edited by

          @maik77

          Hallo Maik,

          habe es nun auch mal mit iobroker versucht. Möchte damit die VIsualisierung machen. Davon bin ich aber noch weit entfernt. Ich bekomme nicht mal den Adapter ans Rennen.

          mbpoll, das hat noch funktioniert. D.h. es kamen in der Tat richtige Werte zurück. Also kann der Adapter grundsätzlich abgefragt werden.

          Nun habe ich einen Adapter hinzugefügt wie Du beschrieben hast und die Instanz konfiguriert.

          Leider ist bei "Verbunden mit Gerät oder Dienst" ein rotes Kreuz. Das DIng will offenbar nicht verbinden. TCP ist konfigruiert (nicht TCP über RTU)

          Hast Du eine Idee wo ich noch schauen kann.

          Gruss

          M 1 Reply Last reply Reply Quote 0
          • M
            maik77 @starnet last edited by

            @starnet

            Was sagt denn mbpoll?

            Wenn die Verkabelung der RS485 RJ45 Steckers nicht korrekt ist, dann gibt der Converter mit mbpool einen "Connection timed out" aus.

            -- Polling slave 1... Ctrl-C to stop)
            Read output (holding) register failed: Connection timed out

            Ist das verwendete, aufgeschnittene Patchkabel wirklich T568B, also 6 grün, 8 braun/weis und 8 braun?

            (Ich habe beim zweiten Wechselrichter beispielsweise orange mit braun verwechselt.)

            Der Test mit mbpoll muss funktionieren (siehe oben). Erst dann sind die Voraussetzungen für iobroker geschaffen.

            Viele Grüße,

            Maik

            1 Reply Last reply Reply Quote 0
            • M
              maik77 @maik77 last edited by maik77

              Ich habe die Anbindung nun auch mit dem USR-TCP232-410s von PUSR (Jinan USR IOT Technology Limited ) am DEYE getestet. Anleitung wie oben, aber die Einstellung für den Converter sind anders.

              Der Converter kommt der festen IP Adresse 192.168.0.7
              Login admin / admin

              Der eigene Rechner muss also temporär eine statische IP-Adresse am LAN-Interface bekommen (z.B. 192.168.0.2), um dem Converter dann eine andere IP-Adresse aus dem eigenen Heimnetz zu vergeben

              IMG_0952.jpeg

              Wichtig ist hier, dass der nicht benutzte RS232 einen anderen Port bekommt. Überschneiden sich die Ports mit der RS422-Sektion, dann funktioniert es nicht.![IMG_0952.jpeg]

              DEYE-with-USR-TCP232-T410s-1.png

              DEYE-with-USR-TCP232-T410s-2.png

              -- Polling slave 1... Ctrl-C to stop)
              [672]: 182

              = 182 Watt vom String PV1

              Läuft!

              Im Fehlerfall:

              -- Polling slave 1... Ctrl-C to stop)
              Read output (holding) register failed: Connection timed out

              Der "Connection timed out"-Fehler kommt meistens dann, wenn die Verkabelung nicht korrekt (A,B, G) ist oder der ModBUS am Wechselrichter nicht freigegeben ist.

              Viele Grüße

              Maik

              F 1 Reply Last reply Reply Quote 0
              • H
                Heino @maik77 last edited by

                @maik77 Hallo Maik,

                ich habe jetzt nach deiner Anleitung meinen Deye12K auch an den Modbus bekommen. Alles identisch wie bei dir, nur der Adapter ist bei mir ohne POE. Die Werte im Spannungs bzw. Strombereich müssen noch irgendwie angepasst werden. Gibt es mittlerweile eine verlässliche Modbus Register Liste von Deye?

                Viele Grüße Heino

                M 1 Reply Last reply Reply Quote 0
                • M
                  maik77 @Heino last edited by maik77

                  @heino Ohne PoE muss doch nur ein Netzteil im Bereich 5V-36V angeschlossen werden. Die Hutschienen-Netzteile für 5V laufen prima.

                  Die technische Doku für die Register für den DEYE SUN-12K habe ich lange gesucht:
                  Modbus amit posun.docx

                  Folgende ModBus-Register habe ich bei mir implementiert:
                  iobroker Modbus-Holding-Register für DEYE SUN-12K 1.png
                  iobroker Modbus-Holding-Register für DEYE SUN-12K 2.png iobroker Modbus-Holding-Register für DEYE SUN-12K 3.png

                  Habe mir damit folgende VIS-Seite gebaut:
                  iobroker Beispiel DEYE SUN 12K.png

                  Die Einzelabfrage der einzelnen Akku-Packs läuft aber über einen separaten Raspberry PI und BMS Pace (Python)
                  https://github.com/Tertiush/bmspace/tree/main

                  Viele Grüße

                  Maik

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    Rossi02 @maik77 last edited by

                    Moin zusammen,

                    ich war bis jetzt nur stiller Mitleser, habe es jetzt nach 2 Tagen endlich auch hinbekommen, das ich über Waveshare Daten bekomme.

                    Mein erstes Problem war der Waveshare, dieser war mit einer statischen IP Adresse konfiguriert und hat sich somit nicht an meinem DHCP Server gemeldet. Entgegen aller gefundenen Beiträge zu diesem Thema, in denen er eine Adresse zwischen 192.168.1.201 und x.x.x.207 haben soll, hatte dieser die statische IP 192.168.1.254. Das hat mich dann schon einiges an Zeit gekostet.

                    Nachdem das Thema erledigt war, habe ich versucht alles zu konfigurieren. Zuerst hatte ich gestern in der Modbus Instanz TCP to RTP ausgewählt, das hat gestern absolut nicht funktioniert. Via mbpoll konnte ich zwar eine Verbindung in der Konsole aufbauen und Daten abfragen, in der IOB Instanz wurde aber keine Verbindung aufgebaut.

                    Heute bin ich dann frisch ans Werk, habe alles noch einmal neu verdrahtet und in der Instanz dann nur TCP ausgewählt. Damit hat es dann endlich funktioniert.

                    Hier meine Einstellungen:

                    2656ec5f-6f99-4fc6-b048-29d2a8b2d9b4-image.png

                    20ee3825-e844-4aee-ba8c-072b50814dee-image.png

                    Meine Register (mehr brauche ich nicht)
                    fa05e6ae-3916-46d3-9e63-3d373cca61f2-image.png

                    Hier noch eine Datei über die Register (ohne Chinesisch)
                    c3ca14a0-178c-4f68-be8c-fa68a414b97b-Deye-SUN Inverter-Modbus-en.pdf
                    Deye-SUN Inverter-Modbus-en.pdf

                    Viele Grüße
                    Marcus

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

                      Hi,

                      könnt ihr die Informationen der einzelnen Akku Packs auslesen ?

                      Ich habe 4x Felicity 5,12KwH per BMS angeschlossen und würde gerne die Details der einzelnen kriegen wenn das möglich ist.

                      1 Reply Last reply Reply Quote 0
                      • G
                        Gukerl last edited by

                        Grüß Euch,

                        Wie komme ich zu den Spalten "Offset & Faktor", die sehe ich nicht. Mit der iObroker GUI bin ich im Administrator Mode (starte als Admin)??

                        Ausserdem hab ich permanent
                        2024-07-25 17:54:05.154 error Client in error state. modbus.0
                        2024-07-25 17:54:05.152 error Request timed out.

                        Ich hab die x Warnungen mittlerweile abgeschaltet.

                        LG, Andi

                        wendy2702 1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @Gukerl last edited by

                          @gukerl hier:

                          b271d401-49c4-4750-a5dd-d878b2699a0b-grafik.png

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            Gukerl @wendy2702 last edited by

                            @wendy2702 Schande über mich 😉

                            Und diese permanenten Fehlermeldungen,
                            2024-07-25 17:54:05.154 error Client in error state. modbus.0
                            2024-07-25 17:54:05.152 error Request timed out.
                            (die Warnings dazu hab ich abgeschaltet) gibts da einen Workaround?

                            wendy2702 1 Reply Last reply Reply Quote 0
                            • wendy2702
                              wendy2702 @Gukerl last edited by

                              @gukerl dazu müsstest du etwas mehr über deine Konfiguration, Netzwerk usw. Verraten

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                Gukerl @wendy2702 last edited by

                                @wendy2702
                                Bald, sobald ich einen neuen Waveshare habe. 🙂 Dann probiere ich nochmals.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  flotec79 @maik77 last edited by

                                  @maik77

                                  Servus zusammen,

                                  hab ähnliche Konfig wie Maik. Bei mir sind es 2 x Deye 12k im Master Slave Betrieb.
                                  Zur Kommunikation verwende ich den USR-N540 Konverter (RS485/LAN). Der hat 4 Port´s. 2 davon habe ich verwendet.
                                  Verwende die Werte auch direkt für eine Siemens LOGO. Getestet hab ich die den Hausverbrauch. Werte kommen ohne Probleme und relativ unverzögert an.
                                  Bekomme soweit Werte im ioBroker. Allerdings hab ich wie hier schon mehrfach beschrieben Verbindungsabbrüche.
                                  Hab die Einstellungen von Maik probiert. Das klappt nicht. Hier noch meine Einstellungen.
                                  Vielleicht hat von Euch jemand einen Tip.

                                  Vielen Dank schon mal!

                                  Flo

                                  Porteinstellung USR1.jpg Porteinstellung USR.jpg Log ioBroker.jpg ioBroker Instanzen.jpg ioBroker Instanzen Einstellungen Slave.jpg ioBroker Instanzen Einstellungen Master.jpg Holding Registers.jpg

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

                                    @flotec79
                                    Haben die beiden unterschiedliche ID´s im Bus? Reicht eine Instanz. Damit kannst mehrere ID´s auslesen

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      flotec79 @warp735 last edited by

                                      @warp735

                                      Welche beiden meinst Du? Deye Master und Slave?

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

                                        @flotec79
                                        Ja klar... jeder Teilnehmer im Bus muss seine eigene eindeutige ID haben. Nicht stumpf auf 1 lassen und hoffen das geht.
                                        Ich vermute bei dir gibts Kollisionen, weil die gleiche ID die gleichen Register abfrägt.

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          flotec79 @warp735 last edited by flotec79

                                          @warp735

                                          Deye Master und Slave kommunizieren ja miteinander. Die haben unterschiedliche ID´s.
                                          Der Lan auf RS485 Converter kommuniziert mit den beiden Deyes über RS485 (Getrennte Verkabelung). Hier werden 2 Ports vom Converter verwendet. Einmal Port 502 und Port 504. Angeschlossen am Deye Master und Slave Modebus Buchsen.
                                          Da sollte es keine Kollisionen geben.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Metalholic last edited by

                                            Hallo!

                                            Ich habe eine Frage bezüglich des Waveshare Adapters.
                                            Mein Bruder besitzt ebenfalls zwei Deye 12k im Master Slave Betrieb.
                                            Ich habe jetzt einen Waveshare RS485 am Master via Y Kabel wie oben beschrieben an den BMS des Masters dazugehängt.
                                            Muss ich den zweiten (Slave) ebenfalls an den Adapter hängen oder benötigt man noch einen zusätzlichen?
                                            Muss dann auch der jetzige Master in den Slave Betrieb versetzt werden?
                                            Habe den derzeitigen Master aktuell so belassen und versuche davon mal Werte abzurufen, was teilweise auch funktioniert.

                                            Ziel wäre es, die Batterien zu laden, wenn der Tarif "billig" ist.

                                            Danke für eure Hilfe, blick da gerade leider nicht ganz durch.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            24
                                            16583
                                            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