What happened?
I am using OpenDTU-OnBattery with two Growatt batteries connected to a Hoymiles HM-1500 inverter.
Before integrating Home Assistant, the setup worked perfectly. The Dynamic Power Limiter was configured for 0 W grid consumption and the system ran reliably with zero feed-in and no communication issues.
After setting up Home Assistant, I started reading the battery SOC from the Growatt batteries and integrated OpenDTU via MQTT. I then created an automation that changes the Dynamic Power Limiter target depending on the battery charge level:
Battery SOC > 99% → set target to -100 W
Battery SOC drops below 99% → set target back to 0 W
Since introducing this automation, OpenDTU regularly loses communication with the inverter.
When this happens:
The OLED display appears to freeze (OLED protection/screensaver no longer updates).
The web interface remains accessible.
No communication with the inverter is possible anymore.
A restart from the web interface does not restore the connection.
The connection can only be restored by:
Changing and saving any setting in the OpenDTU configuration, or
Power-cycling the OpenDTU.
To Reproduce Bug
Set up OpenDTU-OnBattery with a Hoymiles HM-1500 inverter.
Connect Growatt batteries and verify normal operation.
Integrate OpenDTU into Home Assistant via MQTT.
Create an automation that changes the Dynamic Power Limiter target:
SOC > 99% → target = -100 W
SOC < 99% → target = 0 W
Let the automation run normally.
After some time, OpenDTU loses communication with the inverter and appears to freeze.
Expected Behavior
OpenDTU should continue communicating with the inverter normally when the Dynamic Power Limiter target is changed via MQTT/Home Assistant.
Changing the target value between 0 W and -100 W should not cause the inverter connection to be lost, the OLED display to freeze, or require a configuration save or power cycle to recover communication.
Install Method
Pre-Compiled binary from GitHub releases
What git-hash/version of OpenDTU-OnBattery?
2026.03.31
What is your inverter firmware version?
2.0.1
What firmware variant (PIO Environment)?
generic_esp32s3_usb
Relevant log/trace output
Anything else?
No response
Please confirm the following
What happened?
I am using OpenDTU-OnBattery with two Growatt batteries connected to a Hoymiles HM-1500 inverter.
Before integrating Home Assistant, the setup worked perfectly. The Dynamic Power Limiter was configured for 0 W grid consumption and the system ran reliably with zero feed-in and no communication issues.
After setting up Home Assistant, I started reading the battery SOC from the Growatt batteries and integrated OpenDTU via MQTT. I then created an automation that changes the Dynamic Power Limiter target depending on the battery charge level:
Battery SOC > 99% → set target to -100 W
Battery SOC drops below 99% → set target back to 0 W
Since introducing this automation, OpenDTU regularly loses communication with the inverter.
When this happens:
The OLED display appears to freeze (OLED protection/screensaver no longer updates).
The web interface remains accessible.
No communication with the inverter is possible anymore.
A restart from the web interface does not restore the connection.
The connection can only be restored by:
Changing and saving any setting in the OpenDTU configuration, or
Power-cycling the OpenDTU.
To Reproduce Bug
Set up OpenDTU-OnBattery with a Hoymiles HM-1500 inverter.
Connect Growatt batteries and verify normal operation.
Integrate OpenDTU into Home Assistant via MQTT.
Create an automation that changes the Dynamic Power Limiter target:
SOC > 99% → target = -100 W
SOC < 99% → target = 0 W
Let the automation run normally.
After some time, OpenDTU loses communication with the inverter and appears to freeze.
Expected Behavior
OpenDTU should continue communicating with the inverter normally when the Dynamic Power Limiter target is changed via MQTT/Home Assistant.
Changing the target value between 0 W and -100 W should not cause the inverter connection to be lost, the OLED display to freeze, or require a configuration save or power cycle to recover communication.
Install Method
Pre-Compiled binary from GitHub releases
What git-hash/version of OpenDTU-OnBattery?
2026.03.31
What is your inverter firmware version?
2.0.1
What firmware variant (PIO Environment)?
generic_esp32s3_usb
Relevant log/trace output
Anything else?
No response
Please confirm the following