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

Deye 12K über WLAN ...
 
Benachrichtigungen
Alles löschen

Deye 12K über WLAN steuern – Modbus TCP für Batterie-Entladung?

7 Beiträge
4 Benutzer
2 Reactions
376 Ansichten
(@greenmike)
Neues Mitglied Neues Mitglied
Mitglied seit: Vor 2 Monaten
Beiträge: 1
Themenstarter  

Hallo zusammen,

ich habe seit ein paar Tagen den Deye 12K Wechselrichter mit einer Batterieanlage im Haus. Jetzt habe ich mir alles genauer angesehen und die Werte erfolgreich in meinen Home Assistant integriert. Ich nutze dafür die HACS-Integration ha-solarman.

Derzeit läuft alles über WLAN, und ich kann die Werte problemlos auslesen.

Meine Frage:

Kann man auch auf den Wechselrichter schreiben?

Ich möchte die Batterie zu bestimmten Events mit einer definierten Leistung entladen. Konkret geht es um folgendes Szenario:

  • Wenn ein sonniger Tag ansteht und der Akku um 04:00 Uhr morgens noch relativ voll ist, möchte ich den Strom über Nacht in meine Energiegemeinschaft einspeisen.

  • Dadurch habe ich am Tag wieder genügend Speicherplatz, um die Batterie durch die Sonne aufzuladen.

  • Nachts bekomme ich außerdem einen besseren Preis für die Einspeisung als tagsüber.

Ich habe gelesen, dass dies über Modbus (Kabelverbindung) funktionieren soll. Jetzt stellt sich mir die Frage:

  • Kann ich die Register auch über WLAN (Modbus TCP) beschreiben?

  • Falls ja, wie gehe ich dabei am besten vor?

  • Welche Register sind relevant, um die Entladeleistung oder den Arbeitsmodus der Batterie zu ändern?

Ich bin in diesem Bereich noch nicht so erfahren und würde mich über Tipps oder Beispiele freuen! 😊

Vielen Dank im Voraus! 🚀

Dieses Thema wurde geändert Vor 2 Monaten von greenMike

   
Zitat
(@amiko)
PV Master Neues Mitglied
Mitglied seit: Vor 1 Jahr
Beiträge: 544
 

Veröffentlicht von: @greenmike

Kann ich die Register auch über WLAN (Modbus TCP) beschreiben?

ja, kannst du

Veröffentlicht von: @greenmike

Falls ja, wie gehe ich dabei am besten vor?

Dazu müssen die Automationen erstellt werden.

Ob Batterie ins Netz entladen funktioniert, kann ich nicht sagen.
Suche mal im Forum, wenn ich mich nicht täusche wurde das Thema schon mal behandelt.

Deye SUN-12K-SG04LP3-EU, 36 х Trina Vertex S 425W, 2 x Deye RW-M 6.1
Deye SUN-8K-SG04LP3-EU, 10 х Trina Vertex S+ 430W, 2 x Deye RW-M 6.1
2 x Deye SUN 2000, je 4 х Trina Vertex S+ 430W, Netzparallel zu 8kW WR
1 x Deye SUN 600, 2 х Sharp NU-JC 410W, Netzparallel zu 8kW WR


   
greenMikeEU reacted
AntwortZitat
(@greenmikeeu)
Neues Mitglied Neues Mitglied
Mitglied seit: Vor 2 Monaten
Beiträge: 2
 

Veröffentlicht von: @amiko

Veröffentlicht von: @greenmike

Kann ich die Register auch über WLAN (Modbus TCP) beschreiben?

ja, kannst du

Veröffentlicht von: @greenmike

 

Hast du einen Anhaltspunkt wie ich das machen kann ?

Eine Automation zu erstellen ist für mich kein Problem nur wie schreibe ich die Daten über Modbus ist mir nicht klar. Was muss ich in die Felder eintragen welche ich unten gepostet habe

b

Muss ich da was in der yaml eintragen ?

 

Habe gerade noch bei der Dokumentation von Homeasisstant nachgelesen

HA Dokumentation Modbus

# Example yaml: typical tcp connection
modbus:
- name: modbus_hub
type: tcp
host: IP_ADDRESS_DES_DEYE
port: 502

 

HA Dokumentation Modbus auf Register schrieben

action: modbus.write_register
data:
address: <target register address> Das ist die Modbus Adresse des Deye 
slave: <target slave address>  Das ist mir nicht klar
hub: <hub name>  Das auch nicht oder einfach den namen den Man in der oberen Yaml vergeben hat also modbus_hub
value: [0x4120, 0x0000]    Wie gibt man hier die werte an in welchem Format gibt es da eine Übersicht ?

 

Herzlichen dank für die Hilfe

LG Michael

 

Diese r Beitrag wurde geändert Vor 2 Monaten von greenMikeEU

   
AntwortZitat
(@amiko)
PV Master Neues Mitglied
Mitglied seit: Vor 1 Jahr
Beiträge: 544
 

Ich benutze die Aktion number.set_value, da braucht man keine IP-Adresse oder Port eingeben, nur den Entitätsnamen. Als Beispiel Ladestrom setzen:

  actions:
  - action: number.set_value
    metadata: {}
    data:
      value: '{{ (states.input_number.max_ladestrom.state) }}'
    target:
      entity_id: number.inverter_battery_max_charging_current

Der gewünschte Ladestrom kann über ein Eingabefeld "input_number.max_ladestrom" vorgegeben werden.

Deye SUN-12K-SG04LP3-EU, 36 х Trina Vertex S 425W, 2 x Deye RW-M 6.1
Deye SUN-8K-SG04LP3-EU, 10 х Trina Vertex S+ 430W, 2 x Deye RW-M 6.1
2 x Deye SUN 2000, je 4 х Trina Vertex S+ 430W, Netzparallel zu 8kW WR
1 x Deye SUN 600, 2 х Sharp NU-JC 410W, Netzparallel zu 8kW WR


   
AntwortZitat
(@greenmikeeu)
Neues Mitglied Neues Mitglied
Mitglied seit: Vor 2 Monaten
Beiträge: 2
 

@amiko 

Danke für die Antwort. Ich habe mittlerweile rausgefunden welche werte ich wo einstellen muss leider finde ich einen Wert nicht in Homeassitant.

 

Diese Einstellungen müssen gemacht werden

Der Hacken beim Grid Peak Shaving muss entfernt werden. Leider Finde ich die Option nicht in Homeassistant. Ich finde nur wo man den Wattwert Einstellen kann aber keinen Schalter mit ein und aus.

 

Im Github Code habe ich es aber gefunden hier wird das Richtige Register beschrieben aber leider sehe ich den Schalter nicht in Homeassitant 

 

Hier ist der Schalter

https://github.com/davidrapan/ha-solarman/blob/main/custom_components/solarman/inverter_definitions/deye_hybrid.yaml

Zeile 2167

- name: Grid Peak shaving
platform: "switch"
rule: 1
registers: [0x0118]     ----> Register 280
value:
bit: 8

 

Link zur Dokumentation

https://github.com/user-attachments/files/16597960/Deye.Modbus.protocol.V118.pdf

Hier kann man den Watt Wert einstellen 

https://github.com/davidrapan/ha-solarman/blob/main/custom_components/solarman/inverter_definitions/deye_hybrid.yaml#L2194

Zeile 2194

- name: "Grid Peak shaving"
platform: number
class: "power"
uom: "W"
rule: 1
registers: [0x0125]     ----> Register 293
icon: "mdi:transmission-tower"
range:
min: 0
max: 16000

 

 

Wenn ich in Homeassitant nach allen Entitäten mit Switch.D suche finde ich leider nicht den Schalter

 

Freundliche Grüße Michael

Diese r Beitrag wurde geändert Vor 2 Monaten von greenMikeEU

   
AntwortZitat
(@amiko)
PV Master Neues Mitglied
Mitglied seit: Vor 1 Jahr
Beiträge: 544
 

Veröffentlicht von: @greenmikeeu

Link zur Dokumentation

Das Modbus-Protokoll V118 ist für einphasige Wechselrichter und passt nicht zu deinem Wechselrichter. Der gesuchte Schalter ist Register 178 und nicht 280. Die entsprechende Beschreibung habe ich unten angehängt.

Veröffentlicht von: @greenmikeeu

Wenn ich in Homeassitant nach allen Entitäten mit Switch.D suche finde ich leider nicht den Schalter

Doch, der Schalter ist ganz unten auf deinem Bild, switch.deye_smartload_grid_on

Deye SUN-12K-SG04LP3-EU, 36 х Trina Vertex S 425W, 2 x Deye RW-M 6.1
Deye SUN-8K-SG04LP3-EU, 10 х Trina Vertex S+ 430W, 2 x Deye RW-M 6.1
2 x Deye SUN 2000, je 4 х Trina Vertex S+ 430W, Netzparallel zu 8kW WR
1 x Deye SUN 600, 2 х Sharp NU-JC 410W, Netzparallel zu 8kW WR


   
AntwortZitat
(@walterwachtel)
Neues Mitglied Neues Mitglied
Mitglied seit: Vor 4 Wochen
Beiträge: 1
 

Hallo zusammen,

ich nutze einen Deye SUN 12K-SG04LP3 Wechselrichter in Kombination mit SolarAssistant und Home Assistant (HA). Die Kommunikation erfolgt aktuell über zwei Wege:


🔹 1. Modbus RTU direkt aus Home Assistant:

  • Verbindung über USB-RS485-Adapter (FT232R)

  • Lesende Zugriffe (z. B. SoC, Last, PV-Leistung) funktionieren problemlos

  • Schreibende Zugriffe über modbus.write_register in HA (z. B. auf Register 128 für „Grid Charge Current“) führen zu keiner Änderung im Gerät

  • Auch über switch:-Entitäten mit verify:-Block → keine Reaktion am Gerät

  • Die Konfiguration ist korrekt, Daten kommen lesend rein, aber der Wechselrichter ignoriert offensichtlich die Schreibversuche


🔹 2. SolarAssistant MQTT-Integration:

  • In HA sind alle Werte (z. B. number.deye_sunsynk_sol_ark_3_phase_max_grid_charge_current) sichtbar

  • Änderungen über den Slider verändern aber nur den Zustand der HA-Entität, nicht den realen Wert im WR

  • Auch im MQTT-Debug sehe ich keinen publish beim Wertwechsel → es wird kein command_topic verwendet

  • Direktes Schreiben im SolarAssistant (z. B. Web-Oberfläche) funktioniert einwandfrei → der WR übernimmt Werte sofort


✅ Was ich ausschließen kann:

  • Kein Schreibschutz im WR – direkte Änderung via SolarAssistant funktioniert

  • Keine Kabelprobleme – Modbus RTU funktioniert lesend stabil

  • Register-Adressen stimmen – durch Abgleich mit Deye-Doku und Tests bestätigt

  • SolarAssistant blockiert auch nicht grundsätzlich den Zugriff – denn parallel laufende Schreibversuche über andere Clients wirken sich auch nicht aus


❓Was ich suche:

  • Gibt es bei Deye bestimmte Register, die nicht über FC6 (Write Single Register) gesetzt werden können?

  • Ist FC16 (Write Multiple Registers) in bestimmten Fällen erforderlich?

  • Gibt es bekannte Einschränkungen beim Schreiben über Modbus RTU bei aktiver Loggerverbindung Solarman oder blockiert eventuell SolarAssistant, die Schreibbefehle aus HomeAssistant heraus? 

  • Hat jemand erfolgreich ein modbus.write_register für Grid Charge Enable, Grid Charge Current oder Feed-In Limit am Deye SUN 12K in Home Assistant verwendet?


Ich bin für jeden Hinweis dankbar, insbesondere:

  • funktionierende Beispielregister

  • funktionierende Steuerung über HA direkt über MQTT an Solar Assistant? Schon komisch das alle Regler etc. vorhanden sind in HA aber kein einziger eine Änderung bewirkt (vllt fehlt eine entsprechende Einstellung in HA selbst?)
  • Bestätigung von FC-Codes

  • Hinweise zu Besonderheiten der Deye-Firmware

Viele Grüße
Andy


   
z34 reacted
AntwortZitat