@webalizer DANKE!
i.d.R. mache ich das direkt im ESPHome addon. Der Editor gibt einem ja eigenltich auch die Warnungen. Jetzt sollte es passen... Hab auch noch einen 2. Fehler gefunden. Repository ist entsprechend angepasst.
@ll
Also, ich habe jetzt zur Probe die slipx06-YAML editiert.
Beim Abspeichern auf ESP32 keine Fehler.
Unter Geräte sehe ich mein ESP mit 94 Entitäten.
Wenn ich da anklicke, sehe ich leider nur eine Auflistung, aber meine Daten werde vom WR nicht abgerufen.
Ich habe das LAN Kabel an beiden Anschlüssen: Meter-485 und ModeBUS ausprobiert.
Im Anhang die LOG-Datei.
Kann jemand sich sie anschauen und einen Tipp geben?
Danke und LG
Tenker
Danke, es läuft endlich 😎
ich hab noch Platinen über. Wenn du die magst, kann ich dir eine gegen Unkostenbeitrag zusenden. Ich hab auch noch RJ45-Lötbuchsen, falls du die auch benötigst.
Bei mir läuft das Projekt sehr stabil, ich kann es nur empfehlen. Ich sende die Daten per MQTT raus und empfangen und verarbeite sie in Fhem.
Liebe Grüße
Gisbert
Jetzt läuft bei mir das Projekt
https://github.com/bagges/deye-esp32-bridge
fast Perfekt.
Ich brauche die MQTT Daten um sie an EVCC zu senden.
Kannst Du mir/uns erklären, wie man das umsetzen kann?
Danke und CG
Tenker
Hi thilog,
hast Du noch eine Platine und die RJ45 Buchsen zur Verfügung. Ich habe eine Gobelpower 15 kw Batterie mit Deye im Betrieb und möchte ausprobieren ob ich das so auch zum laufen bringe.
Vg Oliver
egal ob ich read oder holding angebe...
Hallo @Eugenius, ich habe deine Frage hierher versetzt, in dem anderen Thread sind wir falsch mit dem Modbus.
Ich weiß nicht, was du unter holding meinst, der Deye kennt nur zwei Befehle 03 – Lesen und 10 – schreiben. Was macht dein Programm im Hintergrund? Ich benutze Solarman oder DeyeCloud, da kann ich die Befehle selbst vergeben. Hier einige Befehle, mit der Spannung in dem Register 10040 passt irgendwie nicht, aber der Deye antwortet auf die Anfrage.
@amiko deine Befehle, wie setzen sich die zusammen? Interessantes Format.
Nutze ja HA, und darum geht es ja eigentlich hier. Der Übersichtlichkeit wegen, wenn ihr andere Software nutzt, macht doch dazu einen eigenen Beitrag auf, dann gehen Informationen dazu auch nicht verloren unter fremden Beiträgen.
Nutze ja HA, und darum geht es ja eigentlich hier.
Der user @Eugenius verwendet doch auch HA, deswegen denke ich, dass das richtige Thread ist.
Mit den Befehlen wollte ich nur zeigen, dass der WR in dem Registerbereich ab 10032 auf die Anfragen antwortet. Und wenn es nicht über Home Assistant geht, dann liegt das Problem eventuell beim HA.
Ich nutze HA, aber die lesen tue ich Deye über Modbus (BMS-Buche) mit ESPHome auf ESP32. HA spricht dann mit ESPHome.
@amiko, aus deinem Screenshot lese ich folgendes aus:
Deye hat Adresse 0x01
Du liest aus Holding-Register mit 0x03 functioncode
und Adresse 0x2474 => 10055
https://rapidscada.net/modbus/
Muss ich noch mal probieren. Es könnte sein, dass diese Register nur auf RS232 und nicht auf RS485 verfügbar sind.
Da du über den Solarman liest, nutzt er RS232 und nicht RS485...
Edit:
ich sende komplett gleiches Telegramm (sieht man bei uart_debug):
[13:40:32][D][uart_debug:114]: >>> 01:03:27:47:00:01:3E:AB
[13:40:32][W][modbus_controller:030]: Modbus device=1 set offline
[13:40:32][D][modbus_controller:043]: Modbus command to device=1 register=0x2747 countdown=0 no response received - removed from send queue
[13:40:38][W][modbus_controller:064]: Modbus device=1 back online
WR weigert sich aber. Somit gibt es die Daten wohl nicht auf MODBUS :/
Ich habe mehrere Register ausgelesen, unter anderen auch 10040 DEC (0x2738), der WR antwortet mit 0213 hex, was würde dann bedeuten 5,31 V (weil das Register in der Tabelle mit 2 Nachkommastellen eingegeben ist) 53,1 V würde besser passen. Mit dem Strom, das Register 10041 ist noch komplizierter, ich bekomme als die Antwort FFB1 hex, es sollte eine negative Zahl sein. Ich weiß noch nicht, wie ich die umrechnen soll.
Probier mal 65535 (0xFFFF) - 0xFFB1 ob dann der Strom passt. (oder so ähnlich und mal Faktor von 0.01 oder 0.1)
Na ja, bei den Werten über 10000 scheinen sich erst mal nur auf die Deye Akkus zu beziehen, diese senden scheinbar ihre Werte zum WR.
Habe die aktuelle Version vom Modbus Protokoll 104 wo diese Werte beschrieben sind. Seplos BMS sendet scheibar keine Daten zu den Packs mit oder man müsste mal ein anderes Protokoll testen BMS <--> WR
Seplos BMS sendet scheibar keine Daten zu den Packs mit oder man müsste mal ein anderes Protokoll testen BMS <--> WR
mag ja sein, ich habe deye rw-m6.1
@amiko ich habe auch 3xDeye RW-M6.1
Ich vermute mit anderen Akkus kann Deye nicht so viel Anfangen. Die werden auch nicht in Solarman App angezeigt.
ich versuche mich da in das CAN Bus reinzuhacken...
Theoretisch, können die Akkus auch parallel über RS485 kommunizieren. Die Kontakte sind laut der Bedienungsanleitung ja da...
Mit dem Strom, das Register 10041 ist noch komplizierter,
Ich habe gerade in dem Online Solarman probiert, da kann ich mit deinen Kommandos tatsächlich alles abfragen.
Checksum kann man hier schnell generieren CRC-16 (MODBUS) big endian:
https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/
Ansonsten wird das Telegramm (0103273900015EB3) so aufgebaut:
0x01 Deye Adresse
0x03 lesen
0x2739 Register (=10041 in dec)
0x0001 einen Register lesen
0x5EB3 = Checksum
Als Antwort kommt dann 010302FFE3B83D zurück als Beispiel
https://rapidscada.net/modbus/ <(Response)
Strom ist in "2's complement" codiert und muss mit Faktor 0.1 multipliziert werden.
01 03 02 FFE3 B83D => -2.8A
01 03 02 0000 B844 => 0 A
01 03 02 0010 B988 => 1,6 A
01 03 02 000D 7981 => 1,3 A