Der Ursprung stammt aus dem Wunsch, den kleinen 1000er Growatt Wechselrichter meines Schuppens in meine Hausautomatisierung einzubinden. Da ich einen IOBroker nutze, wollte ich über MQTT oder Modbus die Daten gesendet bekommen. Dies war leichter als gedacht. Doch dann packte mich der Ehrgeiz und ich wollte wissen, ob es noch besser geht 😉 Daher hier ein paar Hinweise zu der WLan-Anbindung der Growatt Wechselrichter. Viel Spaß.


Das Auslesen der Daten aus einem Growatt Wechselrichter ist standardmäßig über eine App möglich, welche die Daten über einen WLan-Stick des Herstellers gesendet bekommt. Die App ist (wie üblich) eine Cloudlösung, die ohne Verbindung zu externen Servern nicht so wirklich funktioniert. Ebenso ist es nicht möglich einzelne Daten weiter zu verarbeiten. Natürlich könnte man die Daten abgreifen, parsen und aufbereiten. Aber das ist sicher der schlechteste Weg.
Im Forum von Iobroker.net hat der User „smartboart“ einen super Beitrag geschrieben, mit dem Growatt-Wechselrichter über Wlan ausgelesen werden können. Dazu hat er die ESP-Link-Lösung einer Wifi-Serial-Bridge von Jeelab genutzt, die sich hervorragend zum Senden und Empfangen über einen ESP8266 eignet. Damit werden über den Port 23 die Modbusregister abgefragt und gesendet.
Ich habe dies mit einem WEMOS D1-Mini nachgebaut. Es klappt ausgezeichnet. Smartboart hat hier ganze Arbeit geleistet, da die Hauptschwierigkeit ist, die Registereinträge zusammenzusuchen und die Geschwindigkeit herauszufinden. Die Anleitung im IOBroker-Beitrag werde ich hier nicht abschreiben – Das macht keinen Sinn, ABER:
Nachdem ich den Original-Wlan-Stick von Growatt nicht mehr brauchte, habe ich den einmal zerlegt und geschaut, was darin steckt. Der Wlan-Stick ist im Grunde nichts anderes, als die Schaltung von Smartboard, mit ein paar zusätzlichen Features. Der Growatt-Stick besteht im Großen und Ganzen aus einem ESP-Chip, einem Zeitgeber, einem Spannungsregler, einem Speicher und einem Kalendergenerator. Das Beste daran ist, dass die Pins zum Flashen herausgeführt sind und die Randbeschaltung des ESP für das Flashen vorgerüstet ist! Man kann daher auch die ESP-Link-Lösung einfach auf den original Stick flashen und spart sich den Eigenbau. Ebenso kann man die Softwarelösung ESP-Easy nehmen. Diese hat den Vorteil, dass die übrigen GPIOs auch noch genutzt werden können, um z.B. die Luftfeuchtigkeit zu messen, oder etwas zu schalten. Zudem kann man natürlich auch das Originalgehäuse verwenden und sich das Basteln oder 3D-Drucken sparen.
Her ein paar Tipps dazu:
Die Platine ist nur mit ein wenig „Silikon“ im Gehäuse verklebt und lässt sich super herauslösen.
Bei dem ESP07s handelt es sich im Grunde um einen 8266er mit einem Flashsize von 1Mb. Die Daten zur Randbeschaltung sind super dokumentiert und auch bei Youtube gut zu finden. Dieser lässt sich super mit einem ESP-Easy oder ESP-Link flashen. https://www.mikrocontroller.net/attachment/338570/Ai-thinker_ESP-07_WIFI_Module-EN.pdf

Der D9329 ist ein DC-DC-Stepper. Er sitzt direkt neben der Batterie und versorgt das Bord mit 0.9V… Wozu? Weiß ich noch nicht genau 😉 Ein Datenblatt dazu gibt es zum Beispiel hier: https://datasheetspdf.com/pdf-file/775318/Rohm/BD9329AEFJ/1

Bei dem NXT8563 auf der anderen Seite handelt es sich um einen Timer mit Datumsformat. Er dient dazu, die Werte mit Zeitstempeln zu verschlagworten und in den Speicher zu bringen. Hier ein Datenblatt: https://www.nxp.com/docs/en/data-sheet/PCF8563.pdf

Der Winbond Chip neben dem ESP ist ein Flashspeicher mit 64Bit Weite. Er speichert die Daten zwischen, bevor diese gesendet werden: https://www.winbond.com/resource-files/w25q64fw_revd_032513.pdf

Diese Chips braucht man nicht, da die UART-Schnittstelle und der ESP direkt über Wlan laufen und diese Randbeschaltung nur für die Originalapp erforderlich ist. Vielleicht hat ja jemand Lust etwas damit anzustellen und postet hier das Ergebnis? Ich bin gespannt!
Hat schon jemand den Original-Growatt-Stick geflasht, um den WR direkt per Wlan auszulesen?
Wie muss ich da vorgehen, gibt es dazu vielleicht eine Anleitung?
Moin… Ich habe es probiert und bin noch nicht fertig geworden. Die einzelnen Komponenten auf dem Stick sind recht eindeutig. Ein Echtzeitgeben, ein Speichermodul, ein ESP fürs WLan… Eigentlich ziehmlich easy… Aber bisher habe ich das Original noch nicht geflasht bekommen.
ABER: Es gibt mit einer Handvoll Bauteilen eine andere schöne Lösung.. Siehe hier:
https://forum.iobroker.net/topic/20014/growatt-wechselrichter-%C3%BCber-modbus-auslesen-gel%C3%B6st/14
Da wird das ganze mit einem ESP8266 / oder einem Wemos Mini gelöst.. Schönes Projekt. Läuft bei mir tadellos!
Viel Erfolg
OK, ich habe gestern den Original Growatt-Stick geflasht mitz der „Shine-X Custom FIrmware“ von higo.crank aus dem PV-Forum. Läuft wunderbar und liefert mir einen JSON-Datenpunkt den ich dann mit einem Javascript in dier einzelnen Datenpunkte umwandle. Hat auf Anhieb funktioniert und ist, denke ich die einfachste Lösung ohne selbst groß basteln zu müssen. Ich habe nun alle Daten von einem Growatt MIC 1200 TL-S.
Hallo Stephan, ich bin auf der suche nach einen Javascript der den JSON-Datenpunkt in einzelne Datenpunkte umwandelt. würdest du mir dein Javascript zur Verfügung stellen?
Ich habe inzwischen den Original-Stick geflasht bekommen mit der „Shine-X Custom Firmware“ aus dem PV-Forum von user hugo.crank. Den Stick sehe ich auch in meinem WLAN-Netzwerk und unter MQTT-Broker von iobroker hat er sich auch eingelogt – nur noch keine Daten habe ich. Ich vermute, dass wird an den Registeradressen liegen. Ich habe einen MIC1200TL-X und die geflshte Firmware ist für einen SPH TL3 getestet. Das Problem muss ich noch weiter analysieren.