@beowolf
Nach intensiver Tüftelei und etlichen Kaffee-Pausen steht hier die aktuelle neue Version bereit – ohne WebUI-Schalter und ohne direkt angelegte MQTT-Datenpunkte zum Schalten.
Die Steuerung erfolgt komfortabel über Blockly oder Scripts.
Wichtiger Hinweis: Bitte nicht wie ein Hyperaktiv-Blinklicht ständig aus- und einschalten.
Jeder Schaltvorgang schreibt in den Flash-Speicher der Firmware und die Wechselrichter brauchen ein wenig Zeit, um sich auf den neuen Zustand einzupendeln.
Geduld ist hier Gold wert – es soll nicht blinken, sondern sicher schalten! 😉
OpenDTU-onBattery-maxLimit-MQTT-Patch (ESP32) – Schritt-für-Schritt
Patch-Info & Firmware
Basis: OpenDTU-onBattery V: 2025.09.16 (Developer)
Patch-Version: 05.10.2025
ESP32 Firmware: generic_esp32s3.bin
Hinweis: Keine factory.bin, Flashen über Web-Oberfläche möglich.
Rückkehr zur Originalversion: jederzeit über Web-Firmware möglich.
Zweck des Patches:
DPL (Dynamic Power Limiter) Steuerung über MQTT
Automatisches Setzen der maximalen Wechselrichterleistung nach DPL-Deaktivierung
Minimalinvasive Änderungen, stabil und kompatibel
MQTT-Datenpunkte
a) Automatisch angelegt
mqtt.x.<baseTopic>.dpl.dplState
Wird nach einmaligem Umschalten des DPL in der WebUI automatisch erstellt
Liefert aktuellen Status des Dynamic Power Limiters (nur lesbar)
Werte: 0 = aus, 1 = ein
b) Manuell anlegen (Expertenmodus)
mqtt.1.<baseTopic>.dpl.dplCmd
Zwingend manuell anlegen, sonst kann DPL nicht via MQTT gesteuert werden
Typ: number
Rolle: state
Werte: 0 = aus, 1 = ein
Nicht als Boolean anlegen!
Nach einmaligem Umschalten des DPL in WebUI wird der Datenpunkt aktiv.
Hinweis: Der zusätzliche Schritt über WebUI ist bewusstes Design, damit Subscription und Initialisierung korrekt erfolgen.
Schritt-für-Schritt für iobroker-Nutzer
1. WebUI öffnen und Dynamic Power Limiter ein- oder ausschalten.
dplState wird automatisch angelegt.
2. In Objekte Expertenmodus einschalten.
Datenpunkt dplCmd manuell anlegen:
mqtt.x.<baseTopic>.dpl.dplCmd
Typ: Zustand (state)
Zustandstyp: Zahl (number)
Name: dplCmd
3. Dynamic Power Limiter erneut in WebUI umschalten und speichern.
Ab jetzt funktioniert das Ein-/Ausschalten über dplCmd via Blockly oder Scripts.
4. Ablesen des Status:
Nur über dplState → aktueller Zustand des DPL (0/1).
dplCmd spiegelt nicht automatisch den Status.
Verhalten bei solarbetriebenen Wechselrichtern
Nach Ausschalten des DPL wird automatisch die maximale Leistung der Wechselrichter eingestellt.
Kein manuelles Setzen eines 100%-Limits mehr nötig.
Hinweise zu Stabilität & Sicherheit
Patch minimalistisch, Original-Code so unangetastet wie möglich
Keine zusätzlichen HomeAssistant- oder anderen Datenpunkte
Race-Conditions bei MQTT werden verhindert
Firmware kann jederzeit auf Originalversion zurückgesetzt werden
Initialer WebUI-Schalter sorgt für sauberen Start der dplCmd Subscription
Firmware wurde nach bestem Wissen und Gewissen erstellt und getestet.
Keine Garantie für Funktion oder Schäden.
Wer meine Arbeit nützlich findet und sich bedanken möchte:
Ein Klick auf den Pfeil nach oben (unten am Post, neben Zitieren) reicht völlig. Das ist für mich mehr als genug. 🙂
Viel Spaß! ☀
9bd68406-10d5-441e-8276-14555d941880-image.png
Firmware: 2025.09.16DplOff-max-MQTT.generic_esp32s3.firmware.zip