Thermostat preset mode – not working as expected

I’m using Generic Thermostat with all preset modes set (“away”, “comfort”, “home”, “sleep” and “activity”)

When I set the preset mode, correct target temperature is set, but the problem arises if the target temperature is changed manually (e.g. via the UI), without changing the preset. If I then set the same preset mode again it will not change the target temperature back to the preset modes temperature.

A typical scenario:

  • At a given time an automation sets the preset mode to “sleep”, and target temperature is set correctly to the temperature given by the preset mode “sleep”
  • But I’m not at sleep and decides to put up the temperature by manually changing the target temperature (the preset mode remains at “sleep”)
  • When I finally go to bed, I manually runs a “good night” script, which set the preset mode to “sleep”, but since the preset mode already is set to “sleep” it does not change the target temperature

I would expect the target temperature to be set to the temperature given by the preset mode, regardless of what the current target temperature is.

Is this a bug, or is this how it’s supposed to work?

I have the same issue

Based on the information you provided, it sounds like a bug in the thermostat’s software or in the integration with Home Assistant.

Preset modes are typically designed to automatically set the target temperature to a pre-determined value, so if manually changing the target temperature doesn’t reset when the preset mode is set again, that would definitely be unexpected behavior.

It would be worth checking with the manufacturer of the thermostat or the developer of the Home Assistant integration to see if this is a known issue and if there is a fix or workaround available.

it definitelly does not behave the way it should.

Before this gets solved, you can avoid it very easy. When you decide not to go sleep, select Home mode instead of changing the temp manually :wink:

1 Like

Same here.

I have 5 (zone) thermostats configured and some scripts setting them all to sleep/away/home.
Next to it I want to (WAF) be able to manually set them to a specific temperature… and all this on a smartphone screen without having to navigate or long press or anything.
So the workaround BebeMischa mentioned doesn’t really work for me… maybe I can do something with an automation or changing the scripts to just set temperatures not preset modes…

I have changed some older scripts, which was setting the temperature instead of using “mode”. In addition, I use the “workaround” BebeMischa mentioned as much as possible. It minimizes the problem, but the bug is still there and can have some unfortunate consequences.

Hi, any solution found for this issue?
I’m facing the same issue when used in combination with the scheduler component.
When the scheduler sets the preset mode, and the current preset mode is already the same, the target temperature is not set according to the preset mode.

Is there an issue logged for this, because I can’t seem to find one on github?

That’s likely a feature of the thermostat. When a preset is running and you adjust the temperature that creates a temporary overrride. Reselecting the same preset doesn’t get rid of the override. Both my Honeywell and Lennox thermostats work like that.

So what you can do is if it is already in the target preset mode set it to a different preset mode wait a second then change it to the target.

1 Like

I’m not sure this is a feature. If you set a preset, which is linked to a temperature, I would expect that the temperature is also set when the preset is selected (because it works as expected, as long as there is a real preset change).
Or I would expect that if you change the temperature manually, the preset becomes none, so that next time a preset is set, it’s properly restored…
I’ve just read that the “awesome thermostat” seems to do something like this, so I’m going to try that one out.