[Bug] Cannot Un-govern Solar-powered Inverters
Introduction
As a user of OpenDTU-OnBattery, I encountered a critical issue that prevents me from un-governing solar-powered inverters. This bug causes the DPL (Device Power Line) to become unresponsive, rendering it impossible to manage the inverter. In this article, we will delve into the details of this bug, its reproduction steps, and the expected behavior.
What happened?
While setting up the DPL at my parents' house, I deselected the solar-powered inverter as governed. However, this action led to the DPL becoming unresponsive. Upon further investigation, I discovered that a new limit was being sent to the solar-powered inverter in each iteration of trying to remove it from the list of governed inverters. This caused the reloadConfig()
method to never conclude reloading the config.
To Reproduce Bug
To replicate this issue, follow these steps:
- Setup the DPL: Configure the DPL to govern an inverter that is marked as solar-powered.
- Edit the config: Unselect the inverter, i.e., un-govern it.
- Save the config: Save the modified config.
- Observe the DPL: The DPL will become unresponsive.
Expected Behavior
When an inverter is un-governed, its standby()
method should be called and monitored until it reaches the respective target state. This ensures that the inverter is properly managed and controlled.
Installation Method
To reproduce this bug, use the pre-compiled binary from GitHub releases.
System Specifications
- Git-hash/version of OpenDTU-OnBattery: 2025.02.10
- Firmware variant (PIO Environment): generic_esp32s3_usb
Relevant log/trace output
Additional Information
- No response: The DPL becomes unresponsive, making it impossible to manage the inverter.
- Pre-existing issues: I have already searched for relevant existing issues and discussions before opening this report.
- Inverter model: My inverter does not contain a W in the model name (like HMS-xxxW), as they are not supported.
Conclusion
Q&A: Frequently Asked Questions
Q: What is the cause of the bug?
A: The bug is caused by a new limit being sent to the solar-powered inverter in each iteration of trying to remove it from the list of governed inverters. This leads to the reloadConfig()
method never concluding reloading the config.
Q: How can I reproduce the bug?
A: To reproduce the bug, follow these steps:
- Setup the DPL: Configure the DPL to govern an inverter that is marked as solar-powered.
- Edit the config: Unselect the inverter, i.e., un-govern it.
- Save the config: Save the modified config.
- Observe the DPL: The DPL will become unresponsive.
Q: What is the expected behavior when un-governing an inverter?
A: When an inverter is un-governed, its standby()
method should be called and monitored until it reaches the respective target state. This ensures that the inverter is properly managed and controlled.
Q: What are the system specifications required to reproduce the bug?
A: The system specifications required to reproduce the bug are:
- Git-hash/version of OpenDTU-OnBattery: 2025.02.10
- Firmware variant (PIO Environment): generic_esp32s3_usb
Q: What is the relevant log/trace output for this bug?
A: There is no relevant log/trace output for this bug.
Q: Is this bug specific to my installation?
A: No, this bug affects all users of OpenDTU-OnBattery.
Q: Have you searched for relevant existing issues and discussions before opening this report?
A: Yes, I have already searched for relevant existing issues and discussions before opening this report.
Q: Is my inverter model supported?
A: Yes, my inverter model does not contain a W in the model name (like HMS-xxxW), as they are not supported.
Q: What is the next step to resolve this bug?
A: The next step is to investigate the root cause of the bug and implement a fix to ensure that the reloadConfig()
method concludes successfully.
Q: How can I stay updated on the progress of resolving this bug?
A: You can stay updated on the progress of resolving this bug by following the OpenDTU-OnBattery community forums or by subscribing to the project's newsletter.
Conclusion
The Q&A section provides answers to frequently asked questions related to the bug. If you have any further questions or concerns, please feel free to ask. We will do our best to provide you with the necessary information to resolve this issue.