Wenn du Hilfe benötigst, 🔍 suche bitte, bevor du einen neues Thema oder Beitrag erstellst.
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! 🚀
Kann ich die Register auch über WLAN (Modbus TCP) beschreiben?
ja, kannst du
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
Kann ich die Register auch über WLAN (Modbus TCP) beschreiben?
ja, kannst du
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
# 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
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
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
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
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
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.
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
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_registerin HA (z. B. auf Register128für „Grid Charge Current“) führen zu keiner Änderung im Gerät -
Auch über
switch:-Entitäten mitverify:-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_topicverwendet -
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_registerfü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
*push*...
Wie sieht es denn bei euch aus?
Habt Ihr ne Lösung oder Steuerbarkeit über HA gefunden?
Meine "zukunftsmusik" wäre ja eine gewisse Netzdienlichkeit.
Aktuell ist der Akku gegen 11Uhr (+/-) schon wieder voll. Das muß er ja nicht, wenn ich weiß, dass gegen 12Uhr auch noch ausreichend KW vom Dach kommen.
Ich hab den LANMAN RS232 to LAN Adapter. Sprich: übers Netzwerk.
Ich hoffe, dass eine Steuerbarkeit darüber auch gegeben ist (?)
Wie sieht es denn bei euch aus?
Habt Ihr ne Lösung oder Steuerbarkeit über HA gefunden?
Ich habe im April 2025 Automation erstellt, um die Batterie ins Netz zu entladen, sowie einen YAML-Code im Template, um den Ladestrom zu begrenzen. Ich habe ein paar Tage damit gespielt und es dann abgeschaltet. Seitdem habe ich es nicht mehr benutzt.
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
Schau dir mal Solar Assistant an. Lässt sich super in HA integrieren.
Hallo, @lord_icon
ich habe die Integration Solarman über HACS installiert und habe einen ihn dann mit Wlan verbunden (also keine Zusätzlich Hardware) und kann so gut wie alles Steuern.
Habe mir eigene Automatisationen zum Teilentladen oder zum entladen in der Nacht gebaut. Habe auch den Ladestrom der Batterien Dynamisch begrenzt das die Akkus langsamer aufladen zum Beispiel das ich immer 5 KW in das Netz schiebe und den Rest in die Akkus usw. Ist alles relativ gut möglich mit dem Deye und Homeasisstant.
Wenn du ein Beispiel benötigst kannst du dich gerne melden.
Hat das jemand auch schon mit einem 20K probiert den wollte ich auslesen bekomme aber keinerlei Werte.
Der mit den Sonnenstrahlen tanzt
@schwarzermann Ja, habe ich. 20 kW Hochvolt über solarman und über Modbus.
Hier die Modbus Adresse. Solarman greift automatisch auf die Adressen zu, sobald Du deine Büchse dafür frei gibst.
Diese Register steuern Ladeparameter, Kapazität, Limits, BMS‑Typ usw.
98–120: Grundlegende Batterieparameter
-
98 – Battery control mode (Lead/Lithium)
-
99 – Equalization voltage
-
100 – Absorption voltage
-
101 – Float voltage
-
102 – Battery capacity (Ah)
-
103 – Empty voltage
-
104 – Zero export power threshold
-
105 – Equalization cycle days
-
106 – Equalization duration
-
107 – Temperature compensation
-
108 – Max charge current
-
109 – Max discharge current
-
110 – Parallel Bat1 & Bat2
-
111 – Battery works by voltage/capacity
-
112 – Lithium wake‑up flags
-
113 – Battery internal resistance
-
114 – Charging efficiency
-
115 – SOC shutdown
-
116 – SOC restart
-
117 – SOC low batt
-
118 – Voltage shutdown
-
119 – Voltage restart
-
120 – Voltage low batt
121–140: Generator & Grid Charging
-
121–122 – Generator runtime & cooldown
-
123–125 – Generator charge start V/SOC & current
-
126–128 – Grid charge start V/SOC & current
-
129–130 – Generator/Grid charge enable
-
134–137 – SmartLoad ON/OFF battery V/SOC
141–172: Energy management & TOU battery settings
-
141 – Energy management mode (battery first, load first)
-
154–159 – TOU battery discharge power
-
160–165 – TOU battery target voltages
-
166–171 – SOC for battery packs 1–6
-
172–177 – TOU charge enable flags
178–180: Special battery functions
-
178 – Special function bits (includes lithium‑battery‑lost fault enable)
-
179 – Force off‑grid
-
180 – Reconnect time
210–220: Lithium battery live control
-
210 – Charge voltage
-
211 – Discharge voltage
-
212 – Charge current limit
-
213 – Discharge current limit
-
214 – Li‑battery SOC
-
215 – Li‑battery voltage
-
216 – Li‑battery current
-
217 – Li‑battery temperature
-
218 – Off‑grid charge limit
-
219 – Off‑grid discharge limit
-
220 – Lithium battery alarm flag
3. Deye Battery Pack Register (10000–10069)
Diese gelten für DeyePack / HV‑Batterien.
10000–10031: Pack general info
-
Device type
-
Protocol version
-
Pack count
-
Voltage, current
-
SOC, SOH
-
Remaining capacity
-
Temperature
-
Charge/discharge voltages
-
Charge/discharge limits
-
Faults & alarms
Ja habe es heute hinbekommen habe aber einen 20K LV das funktioniert man kann doch mit einem befehl den micro inverter eingang ein und ausschalten kannst du mir da behilflich sein.da ich 3 Kostal Wechselrichter am GEn port dran hängen habe die würde ich nachts gerne abschalten um 50 W weniger zuverbrauchen
Der mit den Sonnenstrahlen tanzt
Home‑Assistant Modbus‑Konfiguration für GEN‑Mikroinverter‑Eingang
1. Modbus‑Schreibservice (HA‑Serviceaufruf)
Damit kannst du GEN EIN/AUS schalten:
GEN Mikroinverter EIN (Register 133 = 2)
GEN Mikroinverter AUS (Register 133 = 0)
| Wert | Bedeutung |
|---|---|
| 0 | Nur Generator |
| 1 | Smart Load |
| 2 | Mikroinverter aktiv |
Hier baust Du dir eine Automation, das z.B. um 21 Uhr der MIP ausgeschaltet wird.

