My main question for this thread is whether we should pile on additional features to the v1.5-dev image that went into testing last September. It’s mainly aimed at @HestiaPi since they are the one who decide if/when merge requests get approved to be in the official repositories, but if anyone else who is helping with testing wants to weigh in, I’d be interested to hear your thoughts.
My opinion: we should lump them in to minimize the amount of re-testing. None of us have a lot of time to test things and since we’ve had reports of fundamental things breaking, I think this calls for a full retest of absolutely everything instead of just what’s changed. If we’re going to re-test everything, we might as well just do it once for as many changes as we can get in there.
Heating & Cooling at the same time
First, I was able to reproduce the issue with heating and cooling being on at the same time in the v1.4 image (and this likely applies all the way back to 1.0 and all versions in between). Here’s how it’s done:
- Start in US mode with heating and cooling off
- Adjust the setpoints so when heating is set to auto, it will turn on the heat
- Set heating to auto, then, before it actually activates the heat, press boost on the cooling
- Observe that after a few seconds both heating and cooling are active
This is not merely a display issue, but it actually does activate the relays as well. This can be triggered from the LCD UI, or the web-based UI. It is unrelated to the load averages being high. And finally, it can probably also be triggered without boosting, by activating the heat and then mashing the set points fast enough to cause the cooling to be activated at the same time. I didn’t
Root cause analysis: I believe the root cause of this is because of the delay when the heat kicks on. Instead of activating it immediately, it activates it after a 10 second delay. I don’t know why it does has this delay, but I digress. When the cooling is triggered by the boost command, it looks at the actual state of the heating, accurately concludes that the heat is off and proceeds to activate the cooling (again, on a delay). After each of the delays, the heating and cooling are activated, in that order.
Proposed fix: Have the heating and cooling turn on immediately instead of putting in a delay. The delay for turning off the fan 10 seconds after the heating/cooling is turned off makes sense to me. It’s basically doing what it can to push the residual heat/cool from the radiator into the house. I do not understand the purpose of the delay before turning thing ON.
My opinions on the severity: This bug should be fixed, but I only consider it to be a minor issue due it never happening under normal operations. The only way this is going to happen is if someone is stress testing the thermostat. While it’s possible that someone might turn heating to auto and boost the cooling withing a few seconds, they are not going to do so when the room temperature is below the heating set point.
Heat pump support
I added support for a Heat Pumps mode on the unit I had on the bench and have that working! I was building upon the bookworm (Debian 12) based image (v1.5-dev) and the changes primarily involved updating a bunch of the OpenHAB rules, but also changing some files such as the sitemap, the oneui, the Items file and various other things.
I was expecting the HVAC addition to be a separate release from v1.5-dev, but since we usually only get a round of testing in per year, I’m now wondering if I should bundle it all together for consideration?
I ran that same testing procedure on my local image that supports the heat pump and it didn’t turn the heat on at the same time as the cooling. The way it behaved was it turned on the heat immediately, and when the boost for the cooling came in, it turned off the heat (first and 2nd stage) and then turned on the cooling for 10 minutes. After 10 minutes, the heat turned back on due to the temperature being below the set point.
Now, heat pumps literally can’t do heating and cooling at the same time by design, but I switched modes to “HVAC” and re-ran the test and it also passed the test there. It did behave a little differently in that a split second after I hit boost, the cooling was set back to “off”. So it basically, it wouldn’t let me boost the cooling if the heating should have been active, which seems like a fine way to handle this situation.