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 AFolgender 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.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 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
-
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
-
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
-
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 outIst 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
-
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
-
@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
-
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 -
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.
-
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
-
@gukerl hier:
-
@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? -
@gukerl dazu müsstest du etwas mehr über deine Konfiguration, Netzwerk usw. Verraten
-
@wendy2702
Bald, sobald ich einen neuen Waveshare habe. Dann probiere ich nochmals. -
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 -
Welche beiden meinst Du? Deye Master und Slave?
-
@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.