Findige Entwickler haben die Open-Source-Steuerungslösung für Hoymiles-Microwechselrichter,OpenDTU, um das Management der Einspeisung im Kontext von Batteriespeichern und Solarreglern erweitert: OpenDTU-on-Battery. Da das alles auf konzeptionell einem einzigen ESP32 (mit mind. 8 MB Flash, Stand Mitte 2024) läuft, habe ich mir das mal näher angesehen.
Mein angemeldetes Balkonkraftwerk besteht aus 4x 425Wp bifazialen sowie 4x 500 Wp Modulen, einem 5 kWh Speicher (48 Volt) sowie max. 600 VA-Wechselrichterleistung (gemäß gesetzlicher Regelung 1Q2024). Die Module – i. d. R. wegen der Spannungserfordernisse eines 48V-Batteriesystems ein String aus 2 Modulen in Reihe – liegen auf Victron Ladereglern, welche ein Victron SmartNetwork per Bluetooth bilden — was einerseits zu einem Wert »Gesamtleistung im Netzwerk« führt – die Momentanleistung aller Solarladeregler wird aufsummiert – und andererseits zu einem homogenen Handling bzgl. der Ladung der Batterie (Spannung und Lademodus werden angeglichen). Sehr schönes und auch nicht überteuertes System, IMHO.
Mein »Victron SmartNetwork« ist schon einmal der erste Stolperstein für OpenDTU-on-Battery: dieses System kann, zumindest in Version 2025.02.10, zwar direkt einen Solarregler per VE.direct abfragen — aber lokal wird ausschließlich der aktuelle Ertrag des verbundenen Solarreglers verwendet.
Den Wert »NetworkTotalDcInputPower« (der nur im HEX-Modus per VE.direct verfügbar ist) kann OpenDTU-on-Battery allerdings per MQTT publizieren. Long story short, während ich i. d. R. Victron-Geräte per ESP-mini-Billo-Interface MQTT-fähig mache, gibt es erstaunlich wenig (ESP-) Software, die (auch) den VE.direct-HEX-Modus unterstützt — der für mein Setup aber elementar ist, denn ohne die aktuelle Netzwerkgesamtleistung haben Einzelwerte der Solarregler nur einen statistischen Wert. Ergo: ich habe einen 4MB-ESP32-D0WD-V3 mit OpenDTU-on-Battery mittels ADUM1201 Levelshifter an einen MPPT 100|20 per VE.direct gehängt, dieser pusht alle 5 Sekunden den Wert von »NetworkTotalDcInputPower« zum MQTT-Broker …
… und die anderen¹ OpenDTU-on-Battery lesen diesen Wert in Einstellungen ⇒ Solarregler ⇒ Ausgangsleistung Topic (weil sie diesen Wert selbst bei VE.direct-Verbindung zu einem smartvernetzten Laderegler nicht verarbeiten könnten² — ist das wirklich ein so seltener Usecase bei Menschen, die Victron Solarregler und Batteriespeicher einsetzen? Ich denke nicht, Tim …).
² Augenscheinlich ist das Problem bekannt und vor ein paar Tagen auch adressiert worden, vgl. PR #1817.
Soweit, so … schön?
Die Werte meiner mME liegen ebenfalls per MQTT vor, sodaß mehrere OpenDTU-on-Battery diese zeitgleich nutzen können.
Und hier lauert das nächste Problem: ich möchte über Wechselrichter 1 die Last auf Phase 1 ausgleichen, durch WR 2 jene auf Phase 2. Ja, der Zähler saldiert, aber meine Rückwirkung aufs Netz darf ja u. a. 600/800 Watt nicht überschreiten, daher lieber die 400-500 Watt Grundlast auf der jeweiligen Phase kontern, statt 900 Watt auf Phase X rückzuspeisen.
Was hingegen gut klappt: Einspeisungsziel vorgeben und OpenDTU-on-Battery regelt die Abgabe von Energie über den Wechselrichter (aus der Batterie) anhand dieses Ziels.
Und es wird offensichsichtlich auch ein relevanter Punkt bei Hoymiles-Wechselrichtern beachtet: eine Begrenzung, z. B. auf 80%, wirkt sich immer auf die Ertragsseite aus, nicht, wie man erwarten würde, auf die Einspeisungsseite aka Export ins Stromnetz: bei einem 2T-System – z. B. HMS-800-2T mit 2 Trackern – bedeutet ein Limit von 50%, daß es maximal 2x 200W von den 2 MPPTs es zum Ausgang schaffen — das klassische Ost-West-System wäre also auf 2x 400W limitiert, obwohl durch den Sonnenlauf niemals Ost- und West-Module gleichzeitig nennenswert Energie liefern würden. Das ist insofern irritierend, als das typischerweise jeder Tracker 800W schaffen könnte, aber schon normalerweise auf 400W limitiert ist.
Kurzum, Zwischenfazit nach wenigen Tagen: OpenDTU-on-Battery ist eine sinnvolle Evolution von OpenDTU — zumindest, wenn man Victron Solarladeregler und/oder Victron SmartShunts und eine Batterie einsetzt. Hardwarerestriktionen lassen eine ›größere‹ Anlage mit mehreren Solarreglern latent kompliziert werden, einzubinden, aber aber mit einem MQTT-Broker läßt sich auch dies lösen. Und OpenDTU-on-Battery ist eine smarte Lösung baserend auf einem ESP32 — gegenüber dem initialen Ansatz, aus einem Node Red heraus den Hoymiles Wechselrichter zu steueren viel schneller und weniger Gebastel 😉 Am besten gefällt mir an der Hoymiles-Lösung, daß man einfach Geräte aus dem Regal nehmen kann — anders als bei Lumentree, wo nur über einen speziellen Vertriebspartner (teurer) verkaufte Geräte per proprietärem ›Trucki-Stick‹ aus der Ferne steuerbar sind. Und auch die Steuerungskomponente, OpenDTU (-on-Battery), ist Open Source und man kann sich die Hardware nötigenfalls billig selbst zusammenlöten …