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).
In diesem Beispiel hat das Gerät nun die IP-Adresse 192.168.15.59Essentiell 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