My Love - OpenDTU
Di, 6. Dezember 2022, Remo
Vor einiger Zeit habe ich meine Plug-&-Play-Photovoltaikanlage vorgestellt. Aus verschiedenen Gründen habe ich mich für einen neuen Wechselrichter entschieden, hauptsächlich um zwei separate MPPT zu haben. Ich habe einen HM-1200 von Hoymiles gekauft. Die Einspeiseleistung muss auf 600 W begrenzt werden, um den normativen Anforderungen gerecht zu werden. Dazu wird aber eine Datenübertragungseinheiten (DTU) vom Hersteller benötigt. Diese kostet je nach Model so viel ein Wechselrichter und für die Ertragsüberwachung ist man von der Cloud des Herstellers abhängig. Bei der Suche nach einer Alternative bin ich auf das Projekt OpenDTU gestossen. OpenDTU stellt eine offene Schnittstelle zu den Hoymiles Wechselrichtern bereit. Ich möchte euch das Projekt kurz vorstellen.
Da das Projekt noch sehr jung ist, gibt es häufig Updates. Es gibt auch noch keine stabile Version. Man installiert immer den main
branch. Allerdings läuft der ESP32 bei mir seit zwei Wochen durch und das absolut stabil. Eine Installationsanleitung findet ihr auf der Projektseite oder in der c’t 24/2022 S. 158.
Technologie
Die Software steht unter der GNU General Public License v2.0
. Der Mikrocontroller Teil wurde mit dem PlatformIO
Framework erstellt. Die Web-Applikation basiert auf Vue.js
und ist in TypeScript
geschrieben.
Das Kommunikationsprotokoll wurde “reverse engineered”, da es keine öffentliche Dokumentation gibt.
Hardware
OpenDTU läuft einem ESP32 und benötigt ein NRF24L01+ Funkmodul. Den ESP32 hatte ich noch in einer Bastelkiste und das Funkmodul habe ich für 2.90.- CHF gekauft. Ich habe beides auf eine Lochrasterplatine gelötet und ich warte noch auf ein 3D gedrucktes Gehäuse. Genauere Beschreibung zur Hardware und Verdrahtung findet ihr auf der Projektseite.
Hinweis: Mit dem Schwesternprojekt Ahoy gibt es auch eine Software für den ESP8266 und für den Arduino.
Unterstützte Wechselrichter
Zurzeit werden die folgenden Wechselrichter unterstützt:
- Hoymiles HM-300
- Hoymiles HM-350
- Hoymiles HM-400
- Hoymiles HM-600
- Hoymiles HM-700
- Hoymiles HM-800
- Hoymiles HM-1000
- Hoymiles HM-1200
- Hoymiles HM-1500
- TSUN TSOL-M350 (Firmware abhängig)
- TSUN TSOL-M800 (Firmware abhängig)
- TSUN TSOL-M1600 (Firmware abhängig)
Sonstige Modulwechselrichter von Hoymiles nutzen einen anderen Funkstandard und womöglich auch ein anderes Protokoll. Wahrscheinlich wird es für diese in absehbarer Zeit kein Support geben.
Funktionen
Auf der Projektseite gibt es eine Liste mit allen Funktionen.
- Live-Daten vom Wechselrichter lesen
- Anzeigen des internen Ereignisprotokolls des Wechselrichters
- Anzeige von Wechselrichterinformationen wie Firmware-Version
- Anzeigen und Einstellen der Leistungsbegrenzung
- Funktion zum Aus- und Einschalten des Wechselrichters
- Multi-Wechselrichter-Unterstützung (bis zu 10)
- MQTT-Unterstützung (mit TLS)
- Home Assistant MQTT Auto Discovery Unterstützung
- Firmware-Upgrade über die Web-UI
- Prometheus API Endpunkt
Für mich war die Möglichkeit die Leistung auf der AC Seite zu begrenzen sowie die Ertragsdaten via MQTT
auszulesen die wichtigsten. Noch nicht aufgeführt, aber vorhanden ist auch eine Web-API.
Erwähnenswert zur Leistungsbegrenzung ist noch, dass dies auch via MQTT
möglich ist. Es ist denkbar, einen Nulleinspeisung zu bauen oder eine Leistungsregelung über mehrere Wechselrichter. Ich habe schon einige Ideen, was ich ausprobieren könnte :-).
Screenshots des Web-Interface kann man sich auf der Projektseite anschauen.
Monitoring
Im vorhergehenden Artikel habe ich bereits meine Ertragsüberwachung beschrieben. Da ich nun viel mehr Daten zur Verfügung habe, habe ich auch mein Grafana Dashboard angepasst.
Dashboard: https://github.com/MrReSc/BlogPosts/blob/main/OpenDTU/Photovoltaik_OpenDTU.json
Grundsätzlich könnte man die ganze Plug-&-Play-Photovoltaikanlage auch ohne Monitoring bereiten. Dann würde man auch OpenDTU nicht benötigen (vorausgesetzt man hat den richtigen Wechselrichter). Der Energie wird ja sowieso erzeugt, man würde sogar seinen Verbrauch senken. Was ich aber festgestellt habe, dass man sein Verhalten plötzlich sehr stark anpassen kann, wenn man die Zahlen, bzw. Kurve vor sich sieht. Auch wurde die Bestrebung die Grundlast zu senken stark angekurbelt, auch wenn es nur ein paar Watt waren. Im letzten Quartal konnten wir den Strombezug vom Netzbetreiber um 30 % senken von 200 kWh/Monat auf 130 kWh/Monat. Zugegeben es waren Sommermonate, aber es ist schon ganz beachtlich, was eine dezentrale Stromerzeugung leisten könnte.