Balkonkraftwerk / Photovoltaik Wechselrichter Ertrag auslesen – ESP32 Micro Controller mit OpenDTU

Nach einer längeren Pause hatte ich mal wieder die Zeit mich mit etwas Bastelarbeit zu befassen. Um die aktuell hohen Strompreise zumindest etwas zu minimieren habe ich mich dazu entschieden mein Flachdach mit einem 300 Watt Balkonkraftwerk / Photovoltaikanlage auszustatten. Wichtig war mir auch den erzeugten Strom messen zu können um die optimale Ausrichtung meines Balkonkraftwerks sicherzustellen und eine Übersicht über den Ertrag zu haben. Aufgebaut habe ich ein QJ Solar 340Wp Panel mit Hoymiles HM300 Wechselrichter, die Halterung habe ich aus übrigen Vierkant Stahlrohren 25×25 selbst konstruiert.

Was mich bei der Suche nach Möglichkeiten den erzeugten Strom meines Balkonkraftwerks zu messen enorm störte waren die hohen Anschaffungskosten. Die Lösung des Herstellers meines Hoymiles HM-300 Wechselrichters, Hoymiles Datenlogger DTU, kostete über 100€, eine günstige Bastellösung mit Zwischensteckdose hätte über 60€ gekostet und somit die Amortisation meiner PV-Anlage um 0,75 bis 2 Jahre verlängert.

Durch Zufall bin ich bei meiner Suche nach einer günstigen Lösung dann auf das Projekt OpenDTU gestoßen. Einige findige Entwickler aus der Community auf Mikrocontroller.net haben das Protokoll der Hoymiles Micro-Wechselrichter analysiert und daraus die Software OpenDTU entwickelt, mit OpenDTU kann recht kostenneutral via Microkontroller die Leistungsdaten der Anlage ausgelesen werden.

Mein OpenDTU

OpenDTU war für mich also die perfekte Möglichkeit an die Leistungsdaten meines Hoymiles HM-300 Wechselrichters zu kommen. Hier die Materialaufstellung:

Für knapp 20€ also die perfekte Lösung um den erzeugten Strom des Wechselrichters auszulesen.

Das Setup meiner Lösung war recht simpel, einzige Herausforderung war die ESP32 mit dem Funkmodul zu verkabeln da unter Umständen die Belegung der PINs am ESP32 anders ist als auf der Webseite des Projekts angegeben. Ich bin wie folgt vorgegangen.

Verkabelung des ESP32 mit dem Funkmodul

Die Verkabelung kann verwirrend sein, ich habe mir daher erst mal einen Belegungsplan meines ESP32 mit Wroom32 besorgt und dann anhand des Verkabelungsplans von der OpenDTU Projektseite immer anhand der GPIO Bezeichnung den ESP32 mit dem Funkmodul verkabelt. Hier der die Belegung der PINs eines Wroom32.

Inbetriebnahme der Software OpenDTU auf dem ESP32

Leider noch etwas Frickelei ist das Aufspielen der Software. Wenn man kein spezielles ESP32 Modell hat würde ich empfehlen, wie es auf der Projektseite angegeben ist, die fertig kompilierten Programmdateien mit dem Espressif Flash Tool auf den ESP32 zu übertragen. Anderfalls muss man wie beschrieben den Code herunterladen und ggf. die PIN-Belegung anpassen und selbst kompilieren.

Zum Download der aktuellsten Firmware von der Projektseite öffnet den Link (WICHTIG! Ihr müsst bei Github angemeldet sein, sonst ist kein Download möglich):

Dann könnt ihr die Dateien wie auf den Screenshots der Projektseite übertragen. Wählt beim starten des Tools folgende Einstellungen.

Tool Einstellungen

Nach dem Start wählt ihr dann die entpackten Dateien aus die ihr von Github heruntergeladen habt und setzt die Einstellungen wie zu sehen. Eine detaillierte Anleitung dazu gibt es auf GitHub.

Abschluss des Setup von OpenDTU

Nachdem die Software auf den ESP32 übertragen wurde könnt ihr mit der Einrichtung starten. Diese ist auch sehr simpel, ihr benötigt eigentlich nur die Serien Nummer eures Wechselrichters, diese ist hinten auf dem Wechselrichter aufgedruckt.

Beim ersten Start wird ein WLAN sichtbar das „OpenDTU-XYZ“ heißt. Verbindet am besten via Smartphone, das Passwort ist „OpenDTU42“. Führt dann die Grundkonfiguration aus, das System ist via http://192.168.4.1 im Browser erreichbar.

Während der Grundkonfiguration tragt ihr die Daten eures Wechselrichters und die Zugangsdaten zu eures regulären WLANs ein. WICHTIG! Ich wähle als Hostname „OpenDTU“. Nach dem Neustart ist OpenDTU in eurem regulären WLAN zu erreichen via http://opendtu im Browser.

Ich lasse den ESP32 nicht immer laufen, alle Daten werden nur vom Wechselrichter ausgelesen und nicht auf dem ESP32 gespeichert, daher ist es auch nicht notwendig des er die ganze Zeit läuft.

Viel Spaß beim Auslesen der Leistungsdaten eures Balkonkraftwerks bzw. eurer Photovoltaik Anlage mit Hoymiles Wechselrichter!