Forum

Haltet euch BITTE an die Forumsregeln, jeder der hier Mitglied ist, hat bei der Registrierung den Regeln zugestimmt. Wer sich nicht daran hält, wird aus dem Forum entfernt. 

Unterstützte das Deye Forum    >>> Deye Updaten lassen <<<

 Deye Hybrid Angebote   Deye Zubehör Produkte

Keine Modbus RS485-...
 
Benachrichtigungen
Alles löschen

Keine Modbus RS485-Kommunikation: Deye SG05LP3-EU-SM2 mit ESP32 / ESPHome

2 Beiträge
1 Benutzer
0 Reactions
27 Ansichten
Wopperstrom
(@wopperstrom)
Mitglied Neues Mitglied
Mitglied seit: Vor 1 Jahr
Beiträge: 3
Themenstarter  

Hallo zusammen,

ich versuche, meinen Deye SG05LP3-EU-SM2 Wechselrichter via Modbus RS485 mit einem ESP32 (Waveshare mit integriertem RS485-Wandler) und ESPHome in Home Assistant einzubinden.


Ziel:
Überwachung von Wechselrichter und Batterie über Home Assistant, um später dynamisches Laden der Batterie zu ermöglichen (ich bekomme bald einen dynamischen Stromtarif).


Setup im Detail:

  • Wechselrichter:
    • Modell: Deye SG05LP3-EU-SM2
    • Modbus aktiviert
    • Modbus-ID: 1
    • Baudrate: 9600
    • Nur Batterie angeschlossen, aktuell keine PV-Module aktiv

  • ESP32:
    • Waveshare ESP32 mit RS485
    • TX: GPIO17, RX: GPIO16
    • Abschlusswiderstand gesteckt
    GND ist verbunden (galvanisch getrenntes Modul)
    • TX-LED blinkt, RX-LED bleibt aus

  • Software:
    • Home Assistant (aktuell)
    • ESPHome 2025.6.0
    • MQTT läuft, Verbindung ist stabil
    • ESP32 per WLAN eingebunden


[b]Ausschnitt aus meiner esp32-waveshare.yaml:[/b]

[code=yaml]
uart:
id: uart_bus
tx_pin: GPIO17
rx_pin: GPIO16
baud_rate: 9600
parity: NONE
stop_bits: 1

modbus:
id: modbus1

modbus_controller:
- id: deye
address: 1
modbus_id: modbus1
update_interval: 10s

sensor:
- platform: modbus_controller
modbus_controller_id: deye
name: "PV Voltage"
id: pv_voltage
register_type: holding
address: 0x0C
register_count: 2
value_type: U_WORD
unit_of_measurement: "V"
[/code]


[b]Fehlermeldung im ESPHome-Log:[/b]

[code]
[D][modbus_controller:040]: Modbus command to device=1 register=0x0C no response received - removed from send queue
[/code]

Ich habe auch andere Register (z. B. 0xAF, 0xB7) ausprobiert – leider keine Antwort.


Fragen:

  1. Muss der Wechselrichter PV-Leistung sehen, damit er auf Modbus-Anfragen reagiert?

  2. Gibt es bestimmte Register, die immer antworten sollten (auch ohne PV)?

  3. Muss eventuell noch ein spezieller Betriebsmodus am Deye aktiviert werden?

  4. Hat jemand diese Kombination (Deye + ESPHome + ESP32) erfolgreich am Laufen und kann Details teilen?


Bin für jeden Hinweis dankbar!

Viele Grüße
Wopperstrom


   
Zitat
Wopperstrom
(@wopperstrom)
Mitglied Neues Mitglied
Mitglied seit: Vor 1 Jahr
Beiträge: 3
Themenstarter  

Nachdem ich jetzt viele Stunden vergeblich versucht habe, mein Setup zum Laufen zu bringen, hat mir ChatGPT das folgende Fazit um die Ohren gehauen:

[Update / Zwischenfazit zur RS485-Kommunikation mit dem Deye und ESPHome]

Ich habe inzwischen eine ganze Reihe möglicher Fehlerquellen ausgeschlossen:

 Der Deye antwortet korrekt – getestet mit einem USB-RS485-Adapter und Modbus Poll. Register 183 u. a. liefern sinnvolle Werte.
 Die UART-Konfiguration am ESP32 stimmt (GPIO16/17, 9600 Baud, 1 Stopbit, keine Parität).
 Verkabelung ist korrekt (A, B, GND entsprechend dem Deye-Manual sauber am Waveshare aufgelegt).
 Abschlusswiderstand gesetzt, RX-LED blinkt beim Empfang.
 Externe Spannungsversorgung über starkes USB-C Netzteil sichergestellt.

 Trotzdem keine erfolgreiche Kommunikation mit ESPHome. Die Fehlermeldung lautet weiterhin:

Code

[modbus_controller:039]: Modbus command to device=2 register=0xB7 no response received – removed from send queue 

🔍 Fazit / Verdacht:
Das verwendete RS485-Modul (ein Waveshare-Modul mit Relaisboard, siehe Amazon-Link) unterstützt offenbar keine automatische Steuerung des DE/RE-Pins, also der Umschaltung zwischen Senden und Empfangen. Genau das wird aber für ESPHome benötigt – dort kann man den DE-Pin (anders als in Tasmota o. ä.) nicht explizit konfigurieren, und es wird ein Modul erwartet, das das automatisch regelt.

💡 Empfehlung:
Ein RS485-Modul mit automatischer Richtungsumschaltung ("Auto Direction") wie z. B.:

  • MAX485-Modul mit Auto DE/RE (z. B. von AZ-Delivery oder Joy-IT)
  • oder ein speziell gekennzeichnetes Waveshare-Modul mit "auto transceiver" Funktion

sollte hier funktionieren – bei anderen Nutzern klappt es mit diesen Modulen zuverlässig.

📌 Ich werde nun ein alternatives Setup in Angriff nehmen.

Vielleicht hilft diese Info ja auch anderen, die ähnliche Probleme mit dem Deye via ESPHome haben bzw. in Versuchung geraten, dafür zum Waveshare-Modul greifen zu wollen. Schade, das Waveshare-Modul hatte mir sehr gut gefallen. Passend für die Hutschiene, LED's für TX und RX, keine große Bastelei, ne ordentliche WLAN-Antenne gleich dran. Naja. Habe dadurch wenigstens viel über RS485 und ESP32 gelernt...


   
AntwortZitat