GoodWe Wechselrichter und Batterie verbinden: Vom Kommunikationsfehler zum stabilen PV-Speicher in Home Assistant

Einen GoodWe Batteriespeicher mit Home Assistant zu verbinden, klang bei mir erst nach einer Sache von 20 Minuten. Am Ende waren es drei Tage Fehlersuche, ein Support-Fall bei GoodWe und ein Firmware-Update über einen Bluetooth-Dongle. Der wichtigste Punkt steht deshalb gleich vorweg, damit er niemandem entgeht, dem es gerade genauso geht wie mir: Wenn dein GoodWe Batteriespeicher BMS-Version 0, SOH 0 % oder Temperatur 0 °C anzeigt, probier zuerst ein Firmware-Update per Bluetooth-Dongle – nicht Kabeltausch oder Support-Ticket. Das hätte mir drei Tage erspart.

Im Pillar-Artikel zum PV-Lastmanagement hatte ich den Akku als offenen Baustein angekündigt – dieser Artikel dokumentiert den kompletten Weg dahin, inklusive der Sackgassen.

Die Ausgangslage

Mein GoodWe Batteriespeicher-Setup: ein GoodWe GW10KN-ET Wechselrichter mit einer nachträglich installierten GoodWe Lynx Home D 5.0 Batterie (5 kWh), montiert in der Garage. PV-Anlage und Wechselrichter liefen bereits, die Batterie ließ sich zwar einschalten, kommunizierte aber von Anfang an nicht sauber mit dem Wechselrichter.

Symptom: Ein Datenbild, das nicht zusammenpasst

In SEMS+/SolarGo zeigten sich Werte, die auf den ersten Blick plausibel wirkten, bei genauerem Hinsehen aber massiv widersprüchlich waren:

  • SOC: 90 % laut App – aber am Gerät selbst leuchteten nur 2 von 5 grünen LEDs, was eher ~40 % entspräche
  • SOH (Gesundheitszustand): 0 %
  • BMS-Version: 0
  • Batterietemperatur: 0 °C (bei realer Umgebungstemperatur von ca. 25 °C)
  • Ladebegrenzung: 0 A, Entladebegrenzung: 1 A
  • BMS-Warnung: Communication Failure 2
  • BMS-Alarm: Abnormal – Code 4096
  • Diagnosemeldungen des Wechselrichters: „Batterie wird nicht geladen: nicht angeschlossen oder deaktiviert“, „Entladen der Batterie beeinträchtigt: festgelegter Entladestrom zu niedrig“

Bei einem gezielten Test (Batterie an, PV-DC aus) fiel die Spannung reproduzierbar von ~400 V schrittweise ab, ohne dass ein normaler Lade-/Entladebetrieb stattfand.

Ein früher Verdacht war, dass die Solago-App (eine OEM-/Reseller-App) fehlerhafte Werte anzeigt, weil sie beim Einstellen des Batterietyps sofort einen Kommunikationsfehler auswarf, während die offizielle SEMS+ App den Batterietyp wenigstens setzen ließ. Der Verdacht erledigte sich aber, sobald klar war: Alle problematischen Werte stammten tatsächlich aus SEMS+ – kein App-Problem, sondern eine echte gestörte BMS-Kommunikation.

Kabeltausch – ohne Wirkung

Der naheliegende erste Schritt war ein Tausch des Kommunikationskabels zwischen Wechselrichter und Batterie, exakt nach GoodWe-Anleitung verkabelt. Der Fehler blieb unverändert bestehen.

Der GoodWe-Support-Fall

Mit Kabeltausch als ausgeschlossener Ursache ging eine detaillierte technische Anfrage an den GoodWe-Support, u. a. mit:

  • Modell- und Firmwareangaben zu Wechselrichter und Batterie
  • allen widersprüchlichen BMS-Werten (SOC vs. LED-Anzeige, SOH, Temperatur, BMS-Version)
  • dem reproduzierbaren Spannungsabfall-Muster
  • der Diskrepanz zwischen SEMS+ und SolarGo
  • der ausdrücklichen Bitte um Klärung, ob Firmware-Inkompatibilität zwischen GW10KN-ET und Lynx Home D 5.0 vorliegt

Die 2-von-5-LEDs-vs-90%-SOC-Diskrepanz wurde bewusst nicht als „der Wert kann nicht stimmen“ formuliert, sondern neutral als „widersprüchliche SOC-Anzeigen, bitte prüfen“ – das lässt weniger Raum für eine pauschale Standardantwort.

Am Ende brauchte es die Antwort des Supports gar nicht mehr: Nachdem sich das Problem über den Bluetooth-Dongle von selbst gelöst hatte, folgte nur noch eine kurze Rückmeldung, dass keine weitere Hilfe mehr nötig ist. Der Support-Fall war am Ende mehr Absicherung als tatsächlicher Lösungsweg.

Der Durchbruch: Firmware-Update per Bluetooth-Dongle

Der entscheidende Fund kam über einen Bluetooth-Dongle, der einen Firmware-Bereich freischaltete, den die reguläre WLAN-Verbindung zum Wechselrichter (SolarGo lokal) gar nicht anzeigte. Dort erschienen konkrete Versionssprünge:

  • ARM: aktuell V23 → verfügbar V33
  • DSP: aktuell V10 → verfügbar V13
  • BMS: weiterhin als 00 angezeigt

Da genau dieses BMS = 00 zum bisherigen Fehlerbild passte, wurden die Updates bewusst nicht gleichzeitig gefahren, sondern schrittweise:

  1. PV-DC-Kreis lief normal weiter, Batterie blieb ausgeschaltet
  2. Zuerst nur das ARM-Update (V23 → V33) – die ARM-Firmware ist für die übergeordnete Steuerung/Kommunikation zuständig, und GoodWe weist selbst darauf hin, dass Batteriekompatibilität von bestimmten ARM-/DSP-Ständen abhängen kann
  3. Während des Updates: Bluetooth-Verbindung durchgehend gehalten, nichts ausgeschaltet, keine DC-Schalter betätigt
  4. Erst nach erfolgreichem ARM-Update und Kontrolle des BMS-Status folgte das DSP-Update (V10 → V13)

Der Punkt, der mich wirklich wahnsinnig gemacht hat: Drei Tage Kabeltausch, Spannungstests und ein Support-Ticket – und die Lösung lag die ganze Zeit einen Bluetooth-Dongle entfernt. Nirgendwo, weder in der GoodWe-Doku noch in SEMS+ noch in der normalen WLAN-Verbindung über SolarGo, stand, dass dieser Firmware-Bereich existiert und ausschließlich über Bluetooth zugänglich ist. Die reguläre lokale WLAN-Verbindung zeigt ihn schlicht nicht an.

Falls du mit ähnlichen Symptomen hier gelandet bist (BMS-Version = 0, SOH = 0 %, Temperatur bei 0 °C, Communication Failure): Besorg dir zuerst den passenden GoodWe-Bluetooth-Dongle und prüfe den Firmware-Stand, bevor du Kabel tauschst oder einen Support-Fall aufmachst.

Der Moment, in dem es funktionierte

Nach dem Firmware-Update leuchtete die LED an der Batterie zum ersten Mal durchgehend grün statt zu blinken – die Batterie wurde stabil erkannt. Der Praxistest folgte sofort: Bei fehlender Sonne versuchte die Batterie sichtbar, den Netzbezug bei 0 Watt zu halten – sie regelte also aktiv mit.

Nachjustieren: SOC-Untergrenze und Entladetest

Als Nächstes ging es um die SOC-Untergrenze für netzgekoppelten Betrieb (bei GoodWe teils als „Discharge Depth (On-grid)“ bezeichnet) – der Wert, bis zu dem die Batterie im normalen Netzbetrieb entladen darf. Um die Entladung gezielt zu testen, wurde der Hausverbrauch bewusst über die PV-Leistung angehoben (Herd an), statt auf die nächste zufällige Abend-Situation zu warten.

Zweiter Test, gut eine Woche später: Lädt sie auch nahe 100 % SOC noch normal?

Am 23. August tauchte eine neue Frage auf: Bricht das Laden im oberen SOC-Bereich künstlich ab? Der Test lief über einen echten Ladezyklus mit drei Messpunkten:

SOCPV-LeistungBatterieladungBilanz
88 %–Charge Limit zurück auf 6 AKein Battery Error, Temperatur unauffällig
93 %3,50 kW+2,58 kW3,50 − 0,49 (Haus) − 0,43 (Einspeisung) = 2,58 kW ✓
99 %4,54 kW+2,13 kWImmer noch über 2 kW Ladeleistung, keine Drosselung

Ergebnis: Die Batterie lud bei 88 %, 93 % und 99 % SOC durchgängig mit teils über 2 kW – kein künstlicher Abbruch, keine SOC-abhängige Sperre. Die anfänglichen Ladeaussetzer hingen also mit der vorherigen BMS-Kommunikationsstörung zusammen, nicht mit dem Ladezustand selbst.

Die Einbindung in Home Assistant

Mit stabiler Kommunikation war der Rest für den GoodWe Batteriespeicher in Home Assistant Standard: Die native GoodWe-Integration (lokal, ohne Cloud-Umweg über SEMS) bringt rund 140 Entitäten mit:

  • Live-Leistungsdaten: Wirkleistung je Phase, Back-up-Leistung/-Spannung/-Frequenz, Bus-Spannung
  • Batteriedetails: SOC, SOH, Lade-/Entlademodus, Zellspannungen und -temperaturen, BMS-Status, Fehler-/Warncodes
  • Steuerbare Parameter: Einspeisebegrenzung, Entladungstiefe am Netz, Betriebsmodus
  • Ein Button zum manuellen Synchronisieren der Wechselrichteruhr – ein bekannter GoodWe-Kniff, weil die interne Uhr driftet

Zusätzliches Sicherheitsnetz: PV-Verlust erkennen

Nach der Erfahrung mit unzuverlässigen BMS-Werten wollte ich mich auch bei der PV-Leistungsmeldung nicht blind auf den Wechselrichter verlassen – ähnlich wie schon im Artikel zur realen Leistungsmessung vs. Netzbezug beschrieben. Zwei Template-Sensoren rechnen seitdem unabhängig gegen:

GoodWe Potentielle Leistung – schätzt anhand eines unabhängigen Shelly-Leistungsmessers und des Sonnenstands, wie viel Leistung eigentlich anliegen müsste:

Für diese unabhängige Messung nutze ich einen Shelly 1PM Mini Gen3 mit Leistungsmessung*.

* Affiliate-Link: Wenn du über einen entsprechend gekennzeichneten Link etwas kaufst, erhalte ich möglicherweise eine Provision. Für dich ändert sich der Preis dadurch nicht. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

{% set bkw = states('sensor.shelly1pmminig3_3030f9e503f4_power') | float(0) | abs %}
{% set sun = state_attr('sun.sun', 'elevation') | float(0) %}
{% set norm = (sun + 5) / 65 %}
{% if norm < 0 %}
  {% set norm = 0 %}
{% elif norm > 1 %}
  {% set norm = 1 %}
{% endif %}
{% set faktor = 30 - (norm * 20) %}
{{ (bkw * faktor) | round(0) }}Code-Sprache: JavaScript (javascript)

GoodWe Verlust – vergleicht diese Schätzung mit der tatsächlich gemeldeten PV-Leistung:

{% set pot = states('sensor.goodwe_potentielle_leistung') | float(0) %}
{% set ist = states('sensor.goodwe_pv_power') | float(0) %}
{{ [pot - ist, 0] | max | round(0) }}Code-Sprache: JavaScript (javascript)

Das fertige Dashboard

Alle Werte zu meinem GoodWe Batteriespeicher laufen inzwischen in einem eigenen Home-Assistant-Dashboard zusammen, aufgebaut mit der modernen Sections-Ansicht und durchgängig Tile-Karten statt der alten Entity-Cards. Die Amortisationswerte darin greifen auf dieselbe Berechnung wie im Artikel zur Batteriespeicher-Amortisation zurück:

Meine Home-Assistant-Instanz läuft auf einem Raspberry Pi 4. Für die dauerhaft geschriebenen Verlaufs-, Energie- und Batteriedaten nutze ich zusätzlich eine externe SSD statt einer microSD-Karte.

Meine Home-Assistant-Hardware: Raspberry Pi 4* · externe SSD*

Batteriedashboard
  • Status – SOC mit Balkenanzeige, Batteriemodus, Leistung, Spannung, Strom, SOH und Temperatur auf einen Blick. Genau diese sieben Werte waren es, die während der Fehlersuche wochenlang meine Aufmerksamkeit hatten – jetzt sitzen sie oben links und sind in drei Sekunden geprüft.
  • Verlauf – ein 24h-Graph, der SOC und Leistung übereinander zeigt. Damit lässt sich auf einen Blick nachvollziehen, ob die Batterie dem PV-Verlauf sauber folgt, ohne erst in die Historie einzelner Entitäten zu wechseln.
  • Lade-/Entladegrenzen & Steuerung – die Parameter, an denen ich während der Inbetriebnahme gedreht habe (Entladungstiefe am Netz, Einspeisebegrenzung, Betriebsmodus), jetzt direkt einstellbar, plus der Button zum Synchronisieren der Wechselrichteruhr.
  • Zellen & Diagnose – Zellspannungen, Zelltemperaturen, Diagnosestatus und BMS-Versionen. Wäre dieses Dashboard damals schon vorhanden gewesen, hätte ich BMS-Version, SOH und Temperatur auf einen Blick gesehen, statt sie einzeln in SEMS+ zusammenzusuchen.
  • Amortisation & Ersparnis – die Werte aus der Amortisations-Serie, jetzt direkt neben den technischen Batteriedaten statt in einem separaten Dashboard.
  • PV-Verlust-Kontrolle – die beiden Template-Sensoren aus diesem Artikel (Potenzial vs. Ist) plus ein eigener Verlaufsgraph. Hier sieht man sofort, wenn die gemeldete PV-Leistung wieder von der Schätzung abweicht.

Das komplette Dashboard ist über die Home-Assistant-Sidebar unter „Batteriespeicher“ erreichbar und lässt sich beliebig erweitern, sobald neue Sensoren dazukommen.

Fazit

Wenn Kernwerte wie BMS-Version, SOH und Temperatur bei 0 hängen bleiben, ist das ein starkes Indiz für einen veralteten Firmware-Stand – nicht für ein Kabel- oder Zellproblem. Der Bluetooth-Dongle ist bei GoodWe-Systemen offenbar der einzige Weg an bestimmte Firmware-Updates heran, was in der Doku an keiner Stelle klar herausgestellt wird. Diesen Schritt würde ich beim nächsten Mal als Allererstes prüfen, nicht als letzten Ausweg nach drei Tagen Kabeltausch und Support-Ticket. Und selbst nach dem Fix lohnt sich ein zweiter, unabhängiger Praxistest – hier der Ladezyklus über mehrere Tage – um sicherzugehen, dass beim GoodWe Batteriespeicher kein Folgefehler übrig geblieben ist.

Schreibe einen Kommentar