OpenDTU: Auslesen von PV-Wechselrichtern
Offizielle DTU von Hoymiles zu teuer? Wir bauen uns selbst etwas! 🔦
Seit ungefähr einem halben Jahr habe ich auch ein kleines Balkonkraftwerk, weil mich das Thema einfach ungemein interessiert hatte und ich wissen wollte, welches Potenzial es bietet.
Komponenten meines Balkonkraftwerks ☀️
Um ehrlich zu sein habe ich kein klassisches Balkonkraft von der Stange, wie es z.B. ALDI und Konsorten es immer mal wieder anbieten. Stattdessen habe ich viel im Internet recherchiert welche Komponenten gut sind und welche Wechselrichter gute und effektive Arbeit leisten.
Vor nicht allzu langer Zeit gab es dann bei Alternate echt gute Angebote. Hier gab es das Trinasolar Solarpanel TSWM-DE09R.08W mit 425W für knapp 146€. Dazu habe ich mir dann einen Hoymiles HM-800 von Offgridtec für knapp 169€ zugelegt. Nach dem ich alles aufgebaut hatte, wollte ich dann natürlich auch den Wechselrichter per Home Assistant auslesen und ggf. automatisieren.
Hoymiles bietet mit der DTU (pro) eine Lösung an, um genau das zu machen. Hier gibt es zwei Varianten. Einmal die DTU-WLite für knapp 59€ (inkl. MwSt) oder die DTU-Pro für 249€ (inkl. MwSt).
Wow, das musste ich erst einmal sacken lassen. Beider Varianten benötigen einen Zugang zur S-Miles Cloud. Uncool und definitiv zu teuer.
Open-Source to the rescue 🆘
Und genau darum liebe ich die Entwickler-Community. Die findet sich nicht mit überteuerten Produkten ab, die einen mageren Funktionsumfang haben. Die reverse-engineeren das Produkt und bauen einfach eine eigene Software. Genau so ist die Software OpenDTU entstanden. Das schöne an OpenDTU ist auch, dass Ihr damit nicht nur Daten auslesen könnt, Ihr könnt damit auch das Limit des Wechselrichters setzen, was manche Versorger/Netzbetreiber fordern.
Dafür werden nur wenige Parts benötigt:
- Ein Mikrocontroller (ESP32 am besten)
- Eine Radioantenne (NRF24L01+ oder CMT2300A je nach Wechselrichter)
- Lötkolben, Litzen etc. (oder für nicht so DIY-Geschädigte Menschen ein fertiges Kit)
- Ein Gehäuse (oder ein Kit mit einem Gehäuse)
Alles in allem dürfte man für DIY so ungefähr 20€ ausgeben inkl. ein Gehäuse aus dem 3D-Drucker. Wenn man alles schon fertig haben will, kann es auch schon sein, dass man seine 30-60€ ausgeben muss, je nach Anbieter. Aber immerhin noch günstiger als der offizielle "Müll".
Verdrahten und Löten: DIY ist angesagt 🥽
Um das Zusammenbauen und Löten werdet Ihr leider nicht drumherum kommen. Egal ob ein Kit oder alle Teile einzeln bestellt.
Dank der Anleitung im GitHub ist das aber gut und schnell gemacht, wenn man Löten kann und man schon die eine oder andere Erfahrung in dem Bereich hat.
Die Pin-Belegungen sind hier alle sehr gut beschrieben (z.B. für das NRF24L01+):
Schaut Euch bitte diese Daten und die Belegungen in der Doku sehr gründlich an und prüft das alles nochmal durch. Ich kann es Euch nur wärmstens empfehlen:
Für das bisschen was ich Löte, reicht so ein 30€ Hobel von Amazon aus, da muss es keine ganze Weller-Lötstation sein. Schaut aber, dass Euer Lötzinn kein Blei enthält. Bleidämpfe sind nicht so ganz gesund und können echt fies werden.
Wenn Ihr alles zusammengelötet habt, dann kann es auch schon direkt zur Software gehen.
Der Mikrocontroller schmeckt nur gebraten 🥩
Damit der Mikrocontroller nun auch weiß, was er tun muss, braucht er die Firmware.
Für das Flashen gibt es mehrere Varianten die bei OpenDTU sehr gut beschrieben sind. Hier solltet Ihr euch für eine Variante entscheiden. Ich persönlich bevorzuge die Variante über das ESP-Flashtool.
Er lebt! 🧟
Wenn alles geklappt hat, baut OpenDTU nun einen Access-Point mit der SSID OpenDTU-*
auf. Den könnt Ihr einfach mit dem Gerät Eurer Wahl nutzen und im Browser über die URL http://192.168.4.1 auf die Web-Oberfläche von OpenDTU zugreifen.
Unter Settings
-> Network
müsst Ihr dann Euer WLAN samt Kennwort angeben. Danach wird der Access-Point nach 3 Minuten beendet und OpenDTU verbindet sich mit dem angegebenen WLAN.
Über die zugewiesene IP-Adresse kommt man dann wieder auf die Adminoberfläche. Diese brauchen gleich noch einmal.
Wechselrichter konfigurieren 🛠️
In der Adminoberfläche kann dann unter den Settings ein Wechselrichter konfiguriert werden:
Dies ist zwingend notwendig, denn ohne das, klappt das Auslesen des Wechselrichters nicht. Die Seriennummer findet Ihr auf dem Gerät selbst. Diese wird verwendet, soweit ich weiß, verwendet um praktisch eine Authentifizierung am Gerät zu ermöglichen und zu validieren, dass die Kommunikation mit dem Gerät erlaubt ist. Sonst könnte ja jeder Nachbar Euren Wechselrichter auslesen.
Anhand der Seriennummer wird auch ermittelt, um welchen Wechselrichtertyp es sich handelt und welche Spezifikationen er besitzt. Ist der Wechselrichter angelegt, könnt Ihr diesen editieren und könnt hier noch ein paar Einstellungen vornehmen. Meine Einstellungen für den HM-800 sieht wie folgt aus:
Passt die Daten bitte entsprechend Eurer String/Panels an. Danach braucht OpenDTU ein paar Minuten um die Verbindung mit Euren Wechselrichter aufzubauen. Hat alles geklappt, sollte es wie folgt aussehen:
Bei mir ist es aktuell abends, weswegen keine Verbindung zum Wechselrichter aufgebaut werden kann. Das ist völlig normal, da der Wechselrichter erst durch den Strom der Panels gespeist wird.
Das war's auch eigentlich schon. Nun habt Ihr erfolgreich Euren Wechselrichter digital angebunden und könnt die Werte immer ablesen.
OpenDTU in Home Assistant einbinden
Wie auch in meinem Artikel "Analoge Gas- und Wasserzähler smart machen" beschrieben, bietet OpenDTU auch eine MQTT-Schnittstelle an. Auch hier gibt es eine Home Assistant Discovery, die eingeschaltet werden kann. Einfach die Daten des MQTT-Brokers eintragen und das war's schon:
Danach sollte der Wechselrichter nun als Gerät im Home Assistant auftauchen und alle Parameter als Entitäten angelegt haben:
Darüber lassen sich dann sinnvolle Automatisierungen fahren und auch der Erzeugung/Einspeisung im Energy-Dashboard von Home Assistant aufzeichnen. So habt Ihr auch immer schön im Blick, was Eure Anlage leistet und was Ihr durch den selbst produzierten Strom ein Energiekosten spart:
Eigener Tab im Home Assistant für die PV-Anlage
Damit ich immer alle Parameter im Blick habe, habe ich mir auch ein schönes Dashboard im Home Assistant dafür gebaut:
Für die Ertragsprognose nutze ich die Integration "Forecast.Solar":
Alles andere düfte mit Boardmitteln von Home Assistant umsetzbar sein. Ich habe Euch das Dashboard mal exportiert und als Gist bei GitHub abgelegt, falls Ihr Interesse daran habt.
Habt Ihr die Einrichtung geschafft und Euren Wechselrichter nun jederzeit ablesbar im WLAN? Lasst es mich in den Kommentaren wissen 👇