HA-Integration - Deye Hybridwechselrichter & BMS (optimiert)

Moin,

mit diesem Post möchte ich die Integration unserer Solaranlage / PV-Anlage in Home Assistant mit euch teilen. Planung, Beschaffung und andere Themen fanden in DIY statt, lediglich die Dachmontage und die finale Abnahme wurden bei unserer Kernsanierung (Baujahr 1926) extern beauftragt.

TL;DR

  • 1x Deye SUN 12K-SG04LP3-EU Hybridwechselrichter (HWR)
  • 2x Deye RW-M6.1 Batteriespeicher (BAT) per Deye Busbar
  • 34x SolarFabrik Mono S3 Halfcut (370 W) in 3 Strings (12/12/10)
  • K2 Montagesystem
  • Anbindung an Home Assistant OS (HAOS) per MQTT via LSE-3 (LAN-Modul / RJ45) mit Deye/Sunsynk Home Assistant OS Addon und Ideengebend durch dieses Video
  • Optimierte Kühlung des HWR (Zufallsfund durch dieses Video) mit 3D-Druck-Teilen, Noctua-Lüftern (rein externer Anbau) und externer Ansteuerung (semi Smart) per Inkbird ITC-308 (läuft bei uns aber 24/7)
  • Deye WAN-Access blockiert (kein Internet), config_hide.html des Dongle “geleert”
  • HAOS erhält derzeit bewusst nur lesenden Zugriff auf die Anlage, mag sich bald ändern


Vorarbeiten & Bilder

Örtliche Vorbereitung & bauliche Maßnahmen

Unser Satteldach hat die ideale Ausrichtung gen Süden bei 34° Dachneigung, keine Verschattung und keine störenden Elemente in der Dachfläche (Abluft, Fenster, etc.). Ein Statiker attestierte uns, dass die Montage einer PV-Anlage mit kleineren Anpassungen am Dachstuhl möglich ist. Das Dach sollte sowieso neu eingedeckt werden und auch die oberste Geschossdecke will ja nach GEG gedämmt werden bei einem Kaltdach. Das sind Dinge, die man so lernt, nachdem man naiv ein solches Projekt startet :D. Diese Vorgaben nahmen wir in die Gespräche mit der Zimmerei mit, welche beides erledigen sollte (Eindecken / Ertüchtigung & Dämmung). Der Einfachheit halber erkundigte ich mich auch direkt nach der Montage des Dachgestells und der Module, womit der “Outdoor”-Part der PV-Anlage geklärt war.

Die Montage der “Indoor”-Komponten erfolgte in einer eigens hierfür modifiziertem Nische im Keller, in welcher ich auch die zentrale Netzwerkverteilung des Hauses geplant hatte. Die ursprüngliche Aufteilung in zwei kleine Kammern, war für die zu erwartende Wärmeentwicklung / Platzbedarf knapp bemessen. Die Innenwände waren viel zu dünn, für die jeweils ±50kg schweren Komponenten, sodass dieser Schritt vorab notwendig gewesen ist. Die neue Nische befindet sich direkt neben dem, zum Kabelschacht umfunktionierten, alten Kamin und der Hauptverteilung des Hauses. Somit ist alles in unmittelbarer Nähe zueinander und durch eine Kabeltrasse an der Decke leicht erweiterbar.

Technische Vorbereitung

Unser HWR wurde mit einem WiFi (LSW-3) und einem LAN Dongle (LSE-3) geliefert. Somit war die Anbindung per RJ45 meine bevorzugte Wahl. Während der Bauphase startete ich zunächst mit WiFi und Solarman App, da mir Home Assistant bis dahin nur ein Begriff gewesen war (und leider kein Server auf der Baustelle rumstand). Durch die oben verlinkten Videos und ein wenig Deepdive in die Theorie der Nutzung von alternativen Systemen, versuchte ich die spätere Anbindung in Home Assistant einfach mit dem LSE-3 Dongle, anstelle der allgemein erwähnten USB-Alternativen und es funktionierte sofort!


HAOS - Grundkonfiguration

1. Deye LSE-3 Netzwerkkonfiguration (Kein basteln mit Adern erforderlich)

1. (Optional) IoT VLAN empfehlenswert
2. DHCP-Reservierung für das Dongle, statische IP stürzt bei meiner Firmware immer ab
3. http://<IP-Adresse-deines-LSE-3>/config_hide.html kann ggf. modifiziert werden. Ich habe hier nur die Update Server gelöscht, falls mal die WAN-Sperre nicht greift durch PEBKAC.

2. HAOS MQTT konfigurieren

1. HAOS -> Einstellungen -> Add-ons -> Add-on Store -> Mosquitto broker -> Installieren
	1. Beim Booten starten / Watchdog und Automatische Updates aktivieren und Starten
2. HAOS -> Einstellungen -> Personen -> Benutzer -> Benutzer hinzufügen -> mqtt (Nur lokaler Zugriff, kein Administrator)

3. Sunsynk/Deye Inverter Add-On

1. HAOS -> Einstellungen -> Add-ons -> Add-on Store -> oben Rechts (3 Punkte) -> Repositories -> https://github.com/kellerza/sunsynk -> hinzufügen
2. HAOS -> Einstellungen -> Add-ons -> Add-on Store -> Sunsynk or Deye Inverter add-on (multi) -> Installieren
	1. Beim Booten starten / Watchdog und Automatische Updates aktivieren, aber noch nicht Starten
	2. Auf den Reiter Konfiguration im Add-on wechseln und rechts Oben (bei Optionen auf die 3 Punkte klicken) -> In YAML bearbeiten
YAML
DRIVER: umodbus
INVERTERS:
  - SERIAL_NR: "<Seriennummer-deines-HWR>"
	HA_PREFIX: Deye
	MODBUS_ID: 1
	DONGLE_SERIAL_NUMBER: "0"
	PORT: tcp://<IP-Adresse-deines-LSE-3>:8899
SENSOR_DEFINITIONS: three-phase
SENSORS:
  - battery_power
  - battery_soc
  - battery_temperature
  - energy_management
  - grid_power
  - load_power
  - pv_power
  - radiator_temperature
SENSORS_FIRST_INVERTER: []
MANUFACTURER: Deye
READ_ALLOW_GAP: 2
READ_SENSORS_BATCH_SIZE: 8
SCHEDULES:
  - KEY: W
	READ_EVERY: 15
	REPORT_EVERY: 60
	CHANGE_BY: 80
  - KEY: any_unit
	READ_EVERY: 15
	REPORT_EVERY: 60
	CHANGE_BY: 80
  - KEY: battery_soc
	READ_EVERY: 30
	REPORT_EVERY: 300
NUMBER_ENTITY_MODE: auto
PROG_TIME_INTERVAL: "15"
MQTT_HOST: <IP-Adresse-deines-HAOS>
MQTT_PORT: 1883
MQTT_USERNAME: <Dein-MQTT-User>
MQTT_PASSWORD: <Dein-MQTT-User-Passwort>

Die Settings sind meine Ausgangsbasis, es gibt noch viel mehr. Details sind beim Entwickler des Addon zu entnehmen. Ich nutze bewusste nicht alles und fahre aktuell mit dieser YAML. Kürzere Intervalle und andere Treiber haben bei mir stets zu unregelmäßigen abnormalen Werten geführt, die ich immer manuell korrigieren musste in den Statistiken. Diese hier laufen nahezu fehlerfrei seit Monaten und Versionen. Im Protokoll des Add-on wird es zu diversen Fehlermeldungen kommen im Laufe der Zeit. Der Abruf der Daten funktioniert trotzdem ohne Probleme.

4. Power Flow Card Plus (HACS) “Live” / Energie-Dashboard “Historie” (Optional)

Inzwischen optional, da Live-Daten auch im Energie-Dashboard verfügbar sind. Immer noch top, wenn die Daten im eigenen Dashboard angezeigt werden sollen.

1. HACS muss installiert sein
2. HACS -> Power Flow Card Plus (aktuell über 980 Sterne) -> 3-Punkte-Menü -> Herunterladen
3. Füge die Power Flow Card Plus an einer für Dich passenden Stelle in dein Dashboard ein

Der HWR stellt unterschiedliche Entitäten bereit. Die Entitäten, die mit “Total…” beginnen, kommen ins Energie-Dashboard. Deren Pendant ohne “Total…” kannst Du dann in der Power Flow Card Plus nutzen.



Danke fürs Lesen und viel Erfolg beim Basteln (in HA, Strom = Elektriker!).

Beste Grüße
Oliver

Kleines Update (2025-12-17): Schreiben aus HA macht mit der obigen Konfiguration Probleme / ist unzuverlässig. Ich nutze das LSE-3 weiterhin, aber folgendes kann man zur Entlastung und besserer “Schreibleistung” umstellen:

PORT: serial-tcp://:8899
und in der config_hide.html den Working mode von Data collection auf Transparency

Letzteres sollte auch dazu führen, das man die Abfragefrequenz erhöhen kann, weil der Wechselrichter nicht noch parallel für Solarman befragt wird (welches ich eh geblockt habe).

Super zuverlässig ist es aber dennoch nicht. Braucht teils mehrere Versuche den gewünschten Wert erfolgreich geschrieben zu kriegen.

Ich werd es mal auf einen Waveshare RS485 to RJ45 umbauen die Tage und schauen ob das besser klappt.

So, deutlich besser als das Deye Dongle. Keine Abbrüche oder Fehler im Addon / Fantasiewerte in HA und ich kann nun auch in 5 Sekunden Intervallen abfragen. Proggen geht auch ohne Fehler und mehrere Versuche :heart_eyes:

Hier noch die Quelle zum Waveshare Einbau: https://www.youtube.com/watch?v=8LJW_oVqdhU

und die leicht angepasste YAML:

DRIVER: pymodbus
INVERTERS:
  - SERIAL_NR: "DEINE-WR-SERIENNUMMER"
    HA_PREFIX: Deye
    MODBUS_ID: 1
    DONGLE_SERIAL_NUMBER: "0"
    PORT: tcp://DEINE-WAVESHARE-IP:8899
SENSOR_DEFINITIONS: three-phase
SENSORS:
  - battery_charge_efficiency
  - battery_low_capacity
  - battery_power
  - battery_restart_capacity
  - battery_shutdown_capacity
  - battery_soc
  - battery_temperature
  - energy_management
  - grid_power
  - grid_charge_enabled
  - load_power
  - overall_state
  - prog1_capacity
  - prog2_capacity
  - prog3_capacity
  - prog4_capacity
  - prog5_capacity
  - prog6_capacity
  - prog1_charge
  - prog2_charge
  - prog3_charge
  - prog4_charge
  - prog5_charge
  - prog6_charge
  - prog1_power
  - prog2_power
  - prog3_power
  - prog4_power
  - prog5_power
  - prog6_power
  - prog1_time
  - prog2_time
  - prog3_time
  - prog4_time
  - prog5_time
  - prog6_time
  - prog_monday_enabled
  - prog_tuesday_enabled
  - prog_wednesday_enabled
  - prog_thursday_enabled
  - prog_friday_enabled
  - prog_saturday_enabled
  - prog_sunday_enabled
  - pv_power
  - radiator_temperature
SENSORS_FIRST_INVERTER: []
MANUFACTURER: Deye
READ_ALLOW_GAP: 2
READ_SENSORS_BATCH_SIZE: 20
SCHEDULES:
  - KEY: W
    READ_EVERY: 5
    REPORT_EVERY: 5
    CHANGE_BY: 80
  - KEY: any_unit
    READ_EVERY: 5
    REPORT_EVERY: 5
    CHANGE_BY: 80
  - KEY: battery_soc
    READ_EVERY: 5
    REPORT_EVERY: 5
NUMBER_ENTITY_MODE: auto
PROG_TIME_INTERVAL: "15"
MQTT_HOST: DEINE-HA-IP
MQTT_PORT: 1883
MQTT_USERNAME: mqtt
MQTT_PASSWORD: DEIN-MQTT-PASSWORT

Hallo, Olus87,

Habe deinen Beitrag mit Interesse gelesen weil ich mich auch damit befasse meinen alten Fronius rauszuwerfen und durch den Deye Hybrid 12 kW zu ersetzen, damit ich eine Batterie ins Haus bekomme. Allerdings soll auch eine automatische Umschaltung auf Inselbetrieb erfolgen können wenn das Netz ausfällt. Sowas hast du nicht zufällig auch realisiert?
Gruß
Axel

Edit1: Hab den Eingang korrigiert

Edit2: Inhaltliche Korrektur nach Recherche

Moin Axel,

verzeih die späte Rückmeldung, bin nicht so aktiv hier :see_no_evil_monkey:. Ich habe keinen Inselbetrieb realisiert. Haus hängt am GRID, wenn Stromausfall dann Grid auch tot. Dazu müsste man den Load nutzen, aber da trau ich mich nicht ran und sehe den Bedarf auch nicht aktuell.

Ach die Meldung ist von heute. Ups :joy:

LG

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Superschnelle Rückmeldung :+1::joy:!

Bin überrascht dass du dein Haus direkt hinter die Load Klemmen hängst! Es stimmt zwar, 12 kW müssen erstmal „gezogen“ werden, aber nominell kommen mit E-Herd, Backofen, Waschmaschine, Geschirrspüler, Trockner, WP und auch noch eine Wallbox fast das dreifache zusammen (im Worst case). Dafür plane ich dann allerdings Lastabwurf über Trennrelais, die im Bedarfsfall per Leistungsauswertung im HA abgeschaltet werden können.
Meine Frage zielt somit mehr auf die Belastbarkeit des Load - Ausganges im Normalbetrieb ab! Der Eingang hat ja 50 A. Das heißt also, diese 50 A gehen auf der Load Seite auch wieder problemlos raus? Und das ist VDE - konform?

Gruß
Axel

Da bin ich überfragt. Ist ja alles parallel. Wenn WR 12 liefert und Haus bräuchte 14, dann kommen halt 2 von Extern. Wurde alles so abgenommen. C32 Vorsicherung, 5x10er Kabel und dann in GRID, nicht Load. Verzeihung, musste das gerade selber erst nachsehen.

Aha! Jetzt kommen wir der Sache schon näher! Bei Netzausfall ist dein Haus nicht versorgt. Das geht nur über Load. Soweit ich es bisher verstanden habe. Um das zu gewährleisten muss m.E. von Grid auf Load geschaltet werden. Dafür bin ich auf der Suche nach dem richtigen Schaltungskonzept.

Korrekt und das ist dann doch etwas außerhalb meiner Komfortzone. Daher habe ich das erstmal nicht weiter verfolgt.