NEWS
DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen
-
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).

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

Folgender ModBUS TCP Adapter wurde verwendet:
WAVESHARE RS485 TO POE Ethernet Converter (B)
AISIN: B0BGHVRMPJDer 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)
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.59Ausgabe:
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]: 65006500 ist hier die Leistung des/der Strings in Watt (PV1).
= 6500 WattIn 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)
Als Beispiel habe ich hier den Holding-Register 672 konfiguriert:
(Häkchen bei Abfrage nicht vergessen).
Ausgabe im Objekt:

Viele Grüße
Maik
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 / adminDer 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

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]


-- 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 outDer "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
-
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).

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

Folgender ModBUS TCP Adapter wurde verwendet:
WAVESHARE RS485 TO POE Ethernet Converter (B)
AISIN: B0BGHVRMPJDer 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)
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.59Ausgabe:
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]: 65006500 ist hier die Leistung des/der Strings in Watt (PV1).
= 6500 WattIn 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)
Als Beispiel habe ich hier den Holding-Register 672 konfiguriert:
(Häkchen bei Abfrage nicht vergessen).
Ausgabe im Objekt:

Viele Grüße
Maik
@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
-
@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
@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.docxFolgende ModBus-Register habe ich bei mir implementiert:


Habe mir damit folgende VIS-Seite gebaut:

Die Einzelabfrage der einzelnen Akku-Packs läuft aber über einen separaten Raspberry PI und BMS Pace (Python)
https://github.com/Tertiush/bmspace/tree/mainViele Grüße
Maik
-
@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.docxFolgende ModBus-Register habe ich bei mir implementiert:


Habe mir damit folgende VIS-Seite gebaut:

Die Einzelabfrage der einzelnen Akku-Packs läuft aber über einen separaten Raspberry PI und BMS Pace (Python)
https://github.com/Tertiush/bmspace/tree/mainViele Grüße
Maik
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:


Meine Register (mehr brauche ich nicht)

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.pdfViele Grüße
Marcus -
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
-
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 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 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
Bald, sobald ich einen neuen Waveshare habe. :) Dann probiere ich nochmals. -
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 / adminDer 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

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]


-- 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 outDer "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
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

-
@flotec79
Haben die beiden unterschiedliche ID´s im Bus? Reicht eine Instanz. Damit kannst mehrere ID´s auslesen -
@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.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. -
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.
-
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.
@metalholic sagte in DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen:
Ich habe jetzt einen Waveshare RS485 am Master via Y Kabel

-
@metalholic sagte in DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen:
Ich habe jetzt einen Waveshare RS485 am Master via Y Kabel

@homoran
Danke für deine Antwort!Wie sieht dann eine korrekte Verkabelung aus?
Deye Master zum Ethernet Converter und von dem dann weiter zum Speicher?
Muss der Slave WR auch noch eingebunden werden über das Kabel?
Da vom WR ja ein RJ45 Kabel weg geht, stellt sich für mich auch noch die Frage, ob die restlichen Adern benötigt werden - oder handelt es sich hier um ein reines BUS Kabel?Sorry für die vielen Fragen - ich komme aus der Loxone Ecke mit nem Viessmann WR, der war auch ne Spielerei bis er so halbwegs im System war.
Danke auf jeden Fall für eure Hilfe! -
@homoran
Danke für deine Antwort!Wie sieht dann eine korrekte Verkabelung aus?
Deye Master zum Ethernet Converter und von dem dann weiter zum Speicher?
Muss der Slave WR auch noch eingebunden werden über das Kabel?
Da vom WR ja ein RJ45 Kabel weg geht, stellt sich für mich auch noch die Frage, ob die restlichen Adern benötigt werden - oder handelt es sich hier um ein reines BUS Kabel?Sorry für die vielen Fragen - ich komme aus der Loxone Ecke mit nem Viessmann WR, der war auch ne Spielerei bis er so halbwegs im System war.
Danke auf jeden Fall für eure Hilfe!@metalholic sagte in DEYE SUN-12K-SG04LP3 Wechselrichter mit ModBUS auslesen:
Wie sieht dann eine korrekte Verkabelung aus?
wie oben im Bild gezeigt.
immer nur in Reihe, kein Abzweig. -
Ich "kämpfe" ebenfalls mit der DIREKTEN Abfrage meines SUN-12K per Modbus
SW 2005-1151-1807
-> Advanced Function: Slave Modbus SN 01, 9600, Anschluss am Deye-Modbus-Ausgang (nicht BMS !)
Die Verbindung über den RS232-LAN-Logger funkt schon fröhlich nach China :)Verbindung wohl o.K.:



jedoch werden keine Daten von IOB (Modbus Adapter) empfangen:
WAS mache ich falsch ?????? :( :(
