Growatt ShineWiFi-X: Wechselrichter aus chinesischer Cloud befreien

1. Photovoltaik-AnlageGrowatt Shine-WiFi

Balkonkraftwerke sind längst zum Massenprodukt geworden. Seit einigen Wochen arbeitet (auch) bei uns auf dem Balkondach eine kleine Photovoltaikanlage, ein sogenanntes Balkonkraftwerk. Ein solches besteht aus einem oder mehreren Solarmodulen, einem Wechselrichter, der den Gleichstrom in Wechselstrom umwandelt und verschiedenen Anschlusskabeln.

Als Wechselrichter haben wir uns für einen Growatt MIC 800 TL-X entschieden, der über einen zusätzlichen WLAN-, LAN- oder Funk-Dongle überwacht werden kann. Standardmäßig werden alle gesammelten Daten in die Cloud des Herstellers gesendet und können dort über ein Webinterface oder die ShinePhone-App abgerufen werden. Da fremde Clouds für mich ein No-Go sind, habe ich den Growatt ShineWiFi-X mit einer Büroklammer in den Bootloader-Mode versetzt und eine alternative Firmware (OpenInverterGateway) aufgespielt.

Im vorliegenden Beitrag möchte ich den Vorgang kurz erläutern.

Hinweis

Die Einspeiseleistung des Wechselrichters in Hausnetz darf deutschlandweit bisher bei maximal 600 Watt liegen, soll aber noch 2024 auf 800 Watt angehoben werden.

2. Growatt ShineWiFi-X

Der Growatt ShineWiFi-X wird per USB an den Growatt-Wechselrichter angeschlossen und wird anschließend über das 2,4 GHz-Funknetz eures Routers mit dem Netz verbunden. Nach erfolgreicher Inbetriebnahme werden die Leistungsdaten des Balkonkraftwerks an den Endpunkt server.growatt.com übermittelt und dort gespeichert. Je nach technischem Kenntnisstand ist die Inbetriebnahme nicht ganz einfach und nach erfolgreicher Inbetriebnahme treten im Betrieb häufig Probleme auf. Nutzer berichten in Foren von diversen Problemen, wie z.B. der Notwendigkeit, den Stick nach einigen Tagen erneut anstecken zu müssen. Für einen stabilen Betrieb scheint der Growatt ShineWiFi-X – zumindest mit der Standard-Firmware – nicht ausgelegt zu sein. Wer tatsächlich plant, die Leistungsdaten dauerhaft in die Growatt-Cloud zu senden, sollte das 4G-Modell (Shine Link X) oder das LAN-Modell (Shine LAN-X ) in Betracht ziehen.

Ich selbst möchte den Wechselrichter nicht dauerhaft mit der Cloud verbinden, aber dennoch Zugriff auf die Leistungsdaten haben. Mit der alternativen Firmware OpenInverterGateway ist auch das kein Problem. Innerhalb von 15 Minuten ist der Vorgang abgeschlossen und der ShineWiFi-X ist dann nur noch lokal aus dem eigenen Netzwerk erreichbar.

Du kannst den Blog aktiv unterstützen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

2.1 OpenInverterGateway

Das OpenInverterGateway ist eine alternative Firmware, die mit dem Growatt ShineWiFi-S (Serial), ShineWiFi-X (USB) und mit weiteren Sticks (ESP8266/ESP32) kompatibel ist. Die Firmware bietet unter anderem folgende Funktionen:

  • Eingebauter Webserver
  • Der Wechselrichter wird über das Modbus-Protokoll abgefragt
  • Die empfangenen Daten werden per MQTT an einen Server euer Wahl übertragen
  • Die empfangenen Daten werden auch im JSON– und Prometheus-Format bereitgestellt
  • Die empfangenen Daten werden mithilfe von highcharts.com direkt auf dem Stick visualisiert
  • Keine Verbindung mehr mit der Growatt-Cloud
  • […]

Nachfolgend beschreibe ich den Flash-Vorgang für einen ShineWiFi-X.

2.2 Aus Gehäuse befreien

Im YouTube-Video »Growatt ShineWiFi keine Cloud eigene Anbindung« wird ab Minute 3:00 bis 3:48 gezeigt, wie man die Platine aus dem Gehäuse befreien kann. Löten ist hingegen nicht erforderlich, man kann den Stick auch einfach mit einer Büroklammer in den Bootloader-Mode versetzen.

2.3 Überbrücken

Verbindet vorübergehend die Pins GPIO0 und GND mit einer Büroklammer:

Shine WiFi-X Büroklammer

Danach wird der Stick bzw. die »nackte Platine« in den USB-Port des Rechners gesteckt. Wenn die rote und die blaue LED gleichzeitig leuchten, kann der Chip neu beschrieben/programmiert werden:

Shine WiFi-X Flash

2.4 Flashen

Vor dem Flashen müssen die entsprechenden Treiber (USB Serial Driver for USB to UART) für den Chip CH340/CH341 (Windows/Mac) installiert werden. Bei einer aktuellen Linux-Distribution müsst ihr keinen Treiber installieren, dort sind die ch341 linux serial driver seit Kernel 2.6.24 bereits integriert. Nach der Installation des Treibers muss noch die alternative Firmware von der OpenInverterGateway-Projektseite heruntergeladen werden. Derzeit aktuell ist die Version 2.0.1, die unter Releases angeboten wird: firmware-ShineWifiX.bin

Der Flash-Vorgang erfolgt dann über die WebGUI ESPHome – bitte eine aktuelle Version von Chrome/Chromium verwenden. Klickt auf Connect und wählt den Stick aus. Bei mir ist das USB Serial (ttyUSB0) - Paired. Eine Verbindung hat allerdings nicht auf Anhieb funktioniert, ich musste zunächst Lese- und Schreibrechte vergeben:

sudo chmod a+rw /dev/ttyUSB0

ESPHome

Danach hat die Verbindung mit dem Stick/der Platine funktioniert. Nach Auswahl der Firmware kann dann der eigentliche Flash-Vorgang gestartet werden:

Flash OpenInverterGateway-Firmware

2.5 Inbetriebnahme

Nachdem der Flash-Vorgang erledigt ist, entfernt die Platine, zieht die Büroklammer ab und steckt die Platine erneut in den USB-Port des Rechners. Das OpenInverterGateway wird ein WiFi-Netz mit der Bezeichnung GrowattConfig aufspannen, mit dem ihr euch verbinden könnt. Das Passwort ist growsolar. Über ein Webinterface unter http://192.168.4.1 kann man dann den Stick weiter konfigurieren bzw. in sein WiFi-Netzwerk integrieren.

Nach der Konfiguration kann die Platine wieder aus dem USB-Port entfernt werden. Steckt die Platine vorsichtig wieder in das Gehäuse und schließt den ShineWiFi-X anschließend an den USB-Port des Growatt-Wechselrichters an. Er wird nun booten und sich an eurem Router anmelden. Danach könnt ihr direkt das Webinterface (IP-Adresse des Sticks bspw. http://192.168.1.50) aufrufen und die aktuellen Werte anzeigen lassen:

Growatt-Inverter

3. Grafana

Mittels Grafana habe ich mir dann noch ein kleines Dashboard gebastelt. Ich lese dazu einfach alle 10 Sekunden die JSON-Werte (http://<IP-Adresse>/status) des Sticks aus. Alternativ können die Daten auch per MQTT (Beispielkonfiguration Home Assistant) an einen Server übermittelt werden und werden ebenfalls im Prometheus-Format bereitgestellt. Mir reicht die Darstellung im Dashboard, da ich keine Langzeitwerte speichern möchte:

Grafana Dashboard

4. Fazit

Cloud? Nein, danke. Die Platine des ShineWiFi-X lässt sich mit wenigen Handgriffen aus dem Gehäuse nehmen und mit wenig Aufwand mit der alternativen Firmware OpenInverterGateway bespielen. Anschließend stehen die Leistungsdaten der Photovoltaikanlage bzw. des Growatt-Wechselrichters in verschiedenen Formaten zur Verfügung und können beliebig weiterverarbeitet werden.

Seit Wochen läuft unser Setup reibungslos und zuverlässig. Mit der Möglichkeit, die Leistungsdaten lokal zu überwachen, haben wir die Kontrolle über unsere Photovoltaikanlage. Zudem können wir durch den gezielten Einsatz von elektrischen Geräten wie Geschirrspüler oder Waschmaschine je nach Tageszeit die eine oder andere Kilowattstunde einsparen.

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

Ich freue mich auf Deine Beteiligung zum Artikel

HilfeWenn du Ergänzungen oder konkrete Fragen zum Beitrag hast, besuche das offizielle Forum. Dort kann der Beitrag diskutiert werden. Oder besuche den Chat, um dein Anliegen zu besprechen. zur Diskussion ➡

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.