Skip to content

OpenDTU loses inverter connection after Dynamic Power Limiter target is changed via Home Assistant/MQTT #2560

Description

@DatJakob

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

  • I believe this issue is a bug that affects all users of OpenDTU-OnBattery, not something specific to my installation.
  • I have already searched for relevant existing issues and discussions before opening this report.
  • I have updated the title field above with a concise description.
  • I have double checked that my inverter does not contain a W in the model name (like HMS-xxxW) as they are not supported.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions