Deye Sun12k über Modbus TCP - Wie?

Begonnen von Dynalon, 17 September 2024, 09:58:12

Vorheriges Thema - Nächstes Thema

Dynalon

Hallo zusammen,

ich habe mir den Deye Sun12K-SG 04LP3-EU Wechselrichter mit 2 Akkus für unsere "alte" Photovoltaik zugelegt. Bin eigentlich sehr zufrieden, auch die Deye App ist deutlich besser als erwartet, doch wie Ihr Euch sicher denken könnt, möchte ich sie auch in mein FHEM einbinden.

Was ich möchte:
Mir reicht es, über Modbus Werte ins FHEM übertragen zu bekommen, sofern dies leichter umzusetzen ist als eine 2-Wege Kommunikation. Insbesondere geht es mir um folgende:
- Aktuelle Produktion der Photovoltaik
- Aktueller Verbrauch im Haus (soll zukünftig alles über den Load Anschluss laufen)
- Aktueller Ladestand der Akkus in % (Gesamtwert, also nicht je Akku)
- Lade-bzw. Entladeleistung der Akkus in W bzw. kW
- Netzeinspeisung/Netzbezug
- und für später mal: Leistung am Generatoranschluß

Ziel ist, diverse Automationen damit zu verknüpfen, beispielsweise an einem sonnigen Wintertag dann automatisch die Klimaanlage heizen zu lassen, falls mal doch die Akkus voll sind, oder (deutlich wahrscheinlicher) im Sommer bei vollen Akkus die Klimaanlage kühlen zu lassen. Später geht es dann auch um Dinge wie ein Elektroauto etc.

Mein Problem:
Irgendwie fangen die meisten Diskussionen (wie beispielsweise hier im Forum) aber mindestens 3 Schritte weiter an, als ich Noob selbst bin.

Vielleicht könnt Ihr mir daher helfen:

1. Unterstützt mein Deye 12k überhaupt Modbus TCP? Und wenn ja, benötige ich zusätzliche Hardware (z.B. einen RS485 USB adapter oder etwas anderes), oder läuft das über WLAN?

2. Mit etwas Googeln habe ich folgendes im FHEM eingerichtet:define DeyeSun12k Modbus 0 192.168.178.31:502 TCPDie Modbus Nummer habe ich in meinem Fall auf "1" angepasst, meine IP des WR eingesetzt und den Port nach einigem Googeln auf 8899 geändert. Dazu noch Abfrageintervalle festgesetzt: attr DeyeSun12k requestDelay 10
attr DeyeSun12k timeoutLogLevel 5
Leider steht dort immer noch "Disconnected". Falls sich die Frage mit Antwort Nummer 1 noch nicht beantworten lässt, was mache ich falsch?

3. Kennt Ihr irgendwo eine idiotensichere Anleitung für das Einrichten von meinem Deye für die Kommunikation in FHEM? Wie gesagt, ich habe nicht viel Ahnung, daher sollte sie möglichst wenig Know-how voraussetzen.

Hier noch evtl. relevante Infos:
- WR ist natürlich im WLAN integriert, Zugriff über Deye App läuft in beide Wege.
- Firmware Version ist LSW3_15_FFFF_1.0.96. Benötige ich hier ein Update? Ich finde jedoch nur eine Firmware auf der Deye Homepage für Österreich.

Vielen Dank schonmal!

Gisbert

Hallo Dynalon,

ich lese den Deye-Hybridwechselrichter mithilfe des folgenden GitHub-Projektes aus:
https://github.com/bagges/deye-esp32-bridge
Dieses Projekt kann einen DEYE und einen Akku (mit passendem BMS) auslesen. Da ich den Akku gewechselt habe, lese ich nur noch den DEYE damit aus. Es gibt auch noch weitere Projekte auf GitHub, die sich mit dem Auslesen eines 3-phasigen Deye beschäftigen. Wer von wem abgeschrieben hat, lässt sich nur in etwa erahnen, vermutlich alle ein bißchen von allen anderen.
Ich hab einen neuen Akku mit einem JK-BMS, den ich mithilfe dieses GitHub-Projektes auslese:
https://github.com/syssi/esphome-jk-bms, also komplett separat vom DEYE.
Der DEYE und der Akku wissen nichts voneinander; der DEYE lädt/entlädt den Akku im Batt V-Modus.
Das läuft super und ich bekomme alle Daten per MQTT in Fhem hinein. Über Fhem steuere ich in gewissen Maßen den DEYE und den Akku, z.B. Ladezeiten, max. Ströme, etc., d.h. die Logik liegt in Fhem.
Falls du etwas derartiges umsetzen willst, kann ich gerne tiefer einsteigen und meine Konfigurationen teilen, allerdings nur dann, falls du hardwareseitig vorgearbeitet hast, und du einen groben Fahrplan für die Umsetzung hast.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Dynalon

Hallo Gisbert,

Vielen Dank für Deine Antwort und das Teilen Deines Projekts.
Ich habe mich mal ein wenig eingelesen. Insbesondere die "Selbstbau" Platine macht mir hier Sorgen, ob ich das wirklich hinbekomme. Zwar löte ich öfters, doch will ich an dieser Stelle nicht riskieren, dass ich durch einen Fehler meinen WR beschädige. Eine reine Softwarelösung gibt es nicht? Der WR ist ohnehin schon per WLAN verbunden, der Router steht exakt einen Meter daneben. Ich wäre auch bereit, für eine Softwarelösung Abstriche in der Funktion zu machen (beispielsweise nur Lesezugriff zu haben).

rippi46

Hallo Dynalon,

über dieses GitHub-Projekt bekomme ich die Werte von meinem Wechselrichter.

https://github.com/kbialek/deye-inverter-mqtt

Gruß rippi

FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Gisbert

Hallo Dynalon,

die Platine war nur Mittel zum Zweck, da ich sowohl einen Akku als auch den Deye mit einem ESP32 ausgelesen habe. Diesen Akku hab ich nicht mehr, ich bin aber bei der Platine geblieben, da sie ja gut funktioniert.

An sich ist eine Platine für diese Aufgabe nicht wirklich erforderlich. Du kannst auch der Anleitung von https://github.com/klatremis/esphome-for-deye folgen.

Allerdings solltest du nicht wie beim Projekt von klatremis die Spannungsversorgung für den ESP vom Deye aus machen, da diese Pins nicht viel Strom liefern können und eigentlich dafür nicht gemacht sind. Sprich, mach die Stromversorgung über den Micro-USB bzw. USB C (je nach Board) am ESP32. Gute Erfahrungen hab ich mit den ESP32-Boards von AZ-Delivery gemacht. Sie sind etwas teuerer als die bei Aliexpress, dafür funktionieren sie aber auch auf Anhieb.

Ich kann dir auch gerne behilflich beim Flashen des ESP32 sein und dir gerne meine Notizen (per PN oder Email) senden.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

ChrisA4

Zitat von: rippi46 am 02 Oktober 2024, 14:24:57Hallo Dynalon,

über dieses GitHub-Projekt bekomme ich die Werte von meinem Wechselrichter.

https://github.com/kbialek/deye-inverter-mqtt

Gruß rippi


Hab die Anleitung mehrmals durch
bekomms einfach nicht hin

Würd dies gerne auf einem Raspi mit fhem der in der Gartenhütte sitzt am laufen haben und das mit fhem2fhem auf meinem Haupt fhem einbinden

könntest mir dabei helfen wie mit einer SchrittfSchritt Anleitung oder so

Danke schon Mal

rippi46

Hallo ChrisA4,

vielleicht hängt es auch von deinem Wechselrichter ab. Deye hat vor kurzem ein Firmwareupdate der Wechselrichter durchgeführt und die Ports gesperrt
Speziell der Port 48899 wurde gesperrt. Über diesen Port habe ich den Wechselrichter abgefragt.
Habe dann den Wechselrichter wieder mit der ursprünglichen Firmware geflasht und alles hat wieder funktioniert.

So sieht meine config.env aus:

DEYE_LOGGER_IP_ADDRESS=Deine IP
DEYE_LOGGER_PORT=48899
DEYE_LOGGER_SERIAL=Deine SERIAL
DEYE_LOGGER_PROTOCOL=at

MQTT_HOST=Deine HOST_IP
MQTT_PORT=1883
MQTT_TOPIC_PREFIX=deye
LOG_LEVEL=ERROR
DEYE_DATA_READ_INTERVAL=60
DEYE_METRIC_GROUPS=micro

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

ChrisA4


ChrisA4

Habe heute meine Daten bekommen

Leider etwas wenig

in der Deye App sind auch Daten der einzelnen PV Module zum Auslesen wie A, V, uns Wp

Die bekomme ich nicht
Oder mach ich etwas flasch

ChrisA4


Hier noch die List vom Deye Inverter



Internals:
   CFGFN     
   CID        deye_inverter_3842515158
   DEF        deye_inverter_3842515158
   FUUID      6799374d-f33f-c95d-72c1-76664bfb1355e881
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     15431
   NAME       deye_inverter_3842515158
   NR         645
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 15464
   myBroker_CONN myBroker_192.168.1.142_38473
   myBroker_MSGCNT 15431
   myBroker_TIME 2025-01-29 17:34:53
   READINGS:
     2025-01-28 21:00:13   IODev           myBroker
     2025-01-29 16:49:51   active_power    1.8
     2025-01-29 16:49:51   current         0.0
     2025-01-29 16:49:51   day_energy      0.0
     2025-01-29 16:49:50   freq            50.0
     2025-01-29 17:33:00   logger_status   offline
     2025-01-29 16:49:51   operating_power 0.0
     2025-01-29 16:49:51   power           0.0
     2025-01-29 16:49:51   radiator_temp   13.7
     2025-01-29 17:34:53   status          offline
     2025-01-29 16:49:51   total_energy    0.0
     2025-01-29 16:49:51   total_power     0.0
     2025-01-29 16:49:50   uptime          0.0
     2025-01-29 16:49:51   voltage         0.0
   hmccu:
Attributes:
   readingList deye_inverter_3842515158:deye/status:.* status
deye_inverter_3842515158:deye/logger_status:.* logger_status
deye_inverter_3842515158:deye/day_energy:.* day_energy
deye_inverter_3842515158:deye/total_energy:.* total_energy
deye_inverter_3842515158:deye/ac/l1/voltage:.* voltage
deye_inverter_3842515158:deye/ac/l1/current:.* current
deye_inverter_3842515158:deye/ac/l1/power:.* power
deye_inverter_3842515158:deye/ac/freq:.* freq
deye_inverter_3842515158:deye/uptime:.* uptime
deye_inverter_3842515158:deye/dc/pv1/voltage:.* voltage
deye_inverter_3842515158:deye/dc/pv1/current:.* current
deye_inverter_3842515158:deye/dc/pv1/power:.* power
deye_inverter_3842515158:deye/dc/pv1/day_energy:.* day_energy
deye_inverter_3842515158:deye/dc/pv1/total_energy:.* total_energy
deye_inverter_3842515158:deye/dc/pv2/voltage:.* voltage
deye_inverter_3842515158:deye/dc/pv2/current:.* current
deye_inverter_3842515158:deye/dc/pv2/power:.* power
deye_inverter_3842515158:deye/dc/pv2/day_energy:.* day_energy
deye_inverter_3842515158:deye/dc/pv2/total_energy:.* total_energy
deye_inverter_3842515158:deye/dc/pv3/voltage:.* voltage
deye_inverter_3842515158:deye/dc/pv3/current:.* current
deye_inverter_3842515158:deye/dc/pv3/power:.* power
deye_inverter_3842515158:deye/dc/pv3/day_energy:.* day_energy
deye_inverter_3842515158:deye/dc/pv3/total_energy:.* total_energy
deye_inverter_3842515158:deye/dc/pv4/voltage:.* voltage
deye_inverter_3842515158:deye/dc/pv4/current:.* current
deye_inverter_3842515158:deye/dc/pv4/power:.* power
deye_inverter_3842515158:deye/dc/pv4/day_energy:.* day_energy
deye_inverter_3842515158:deye/dc/pv4/total_energy:.* total_energy
deye_inverter_3842515158:deye/dc/total_power:.* total_power
deye_inverter_3842515158:deye/operating_power:.* operating_power
deye_inverter_3842515158:deye/ac/active_power:.* active_power
deye_inverter_3842515158:deye/radiator_temp:.* radiator_temp
   room       MQTT2_DEVICE

rippi46

Hallo ChrisA4,

vielleicht musst du noch deine readinList anpassen.
Meine sieht so aus und ich bekomme alle Werte:

deye_inverter_##########:deye/status:.* status
deye_inverter_##########:deye/logger_status:.* logger_status
deye_inverter_##########:deye/day_energy:.* BKday_energy
deye_inverter_##########:deye/total_energy:.* BKtotal_energy
deye_inverter_##########:deye/ac/l1/voltage:.* L1_voltage
deye_inverter_##########:deye/ac/l1/current:.* L1_current
deye_inverter_##########:deye/ac/l1/power:.* L1_power
deye_inverter_##########:deye/ac/l1/voltage:.* L2_voltage
deye_inverter_##########:deye/ac/l1/current:.* L2_current
deye_inverter_##########:deye/ac/l2/power:.* L2_power
deye_inverter_##########:deye/ac/freq:.* freq
deye_inverter_##########:deye/uptime:.* uptime
deye_inverter_##########:deye/dc/pv1/voltage:.* PV1voltage
deye_inverter_##########:deye/dc/pv1/current:.* PV1current
deye_inverter_##########:deye/dc/pv1/power:.* PV1power
deye_inverter_##########:deye/dc/pv2/voltage:.* PV2voltage
deye_inverter_##########:deye/dc/pv2/current:.* PV2current
deye_inverter_##########:deye/dc/pv2/power:.* PV2_power
deye_inverter_##########:deye/dc/total_power:.* total_power
deye_inverter_##########:deye/operating_power:.* operating_power
deye_inverter_##########:deye/ac/apparent_power:.* apparent_power
deye_inverter_##########:deye/ac/active_power:.* active_power
deye_inverter_##########:deye/ac/reactive_power:.* reactive_power
deye_inverter_##########:deye/radiator_temp:.* radiator_temp
deye_inverter_##########:deye/igbt_temp:.* igbt_temp
deye_inverter_##########:deye/dc/pv1/day_energy:.* PV1day_energy
deye_inverter_##########:deye/dc/pv1/total_energy:.* PV1total_energy
deye_inverter_##########:deye/dc/pv2/day_energy:.* PV2day_energy
deye_inverter_##########:deye/dc/pv2/total_energy:.* PV2total_energy
deye_inverter_##########:deye/settings/active_power_regulation:.* active_power_regulation
deye_inverter_##########:deye/dc/pv3/voltage:.* PV3voltage
deye_inverter_##########:deye/dc/pv3/current:.* PV3current
deye_inverter_##########:deye/dc/pv3/power:.* PV3power
deye_inverter_##########:deye/dc/pv3/day_energy:.* PV3day_energy
deye_inverter_##########:deye/dc/pv3/total_energy:.* PV3total_energy
deye_inverter_##########:deye/dc/pv4/voltage:.* PV4voltage
deye_inverter_##########:deye/dc/pv4/current:.* PV4current
deye_inverter_##########:deye/dc/pv4/power:.* PV4power
deye_inverter_##########:deye/dc/pv4/day_energy:.* PV4day_energy
deye_inverter_##########:deye/dc/pv4/total_energy:.* PV4total_energy

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

ChrisA4

Danke rippi46

Jetzt hab ich meine Daten
 ;D