Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The "set preset" action does not turn a thermostat on #868

Open
2 tasks done
puetsch opened this issue Jan 8, 2025 · 5 comments
Open
2 tasks done

The "set preset" action does not turn a thermostat on #868

puetsch opened this issue Jan 8, 2025 · 5 comments
Labels
bug Something isn't working

Comments

@puetsch
Copy link

puetsch commented Jan 8, 2025

Checklist

  • I checked for similar existing issues (both open and closed) before posting.
  • I will participate in further discussion about this issue and can help by testing (if requested).

Card Version

v3.2.13

Component Version

3.3.8

Bug description

  1. The "heat" command in a schedule works as expected: it turns the thermostat (climate entity) on and sets the selected temperature.
  2. The "set preset" command sets the temperature as per the preset but does not switch the thermostat on.

This is consistent with the set_preset_mode method in core / homeassistant / components / generic_thermostat / climate.py but not what the user expects.

The "set preset" command should set the temperature and switch HVAC mode to on or auto.

Steps to reproduce

  1. Create a generic thermostat with temperature presets
  2. Switch thermostat off
  3. Create a schedule that set the generic thermostat to a preset
  4. Wait till it runs. The thermostat will not switch on.

Additional info

I believe this will resolve nielsfaber/scheduler-component#407

@puetsch puetsch added the bug Something isn't working label Jan 8, 2025
@nielsfaber
Copy link
Owner

The 'set preset mode' action will only execute the climate.set_preset_mode action for your climate entity.
If this does not have the desired response, this is related to / caused by your climate entity.
Scheduler cannot figure out which operating mode the climate entity must be set to prior to setting the preset mode, hence it will not do so.

The "set preset" command should set the temperature and switch HVAC mode to on or auto.

Why? And which of the two?
Note that climate devices support many more operating modes, see https://developers.home-assistant.io/docs/core/entity/climate/#hvac-modes.

Note that the available preset modes vary between integration. There is no possibility to integrate a mapping between preset modes and the operating mode within scheduler.

I think your request (you are requesting additional functionality, not reporting a bug) is based on your own use-case, but not possible to implement generically.

If you wish that scheduler sets the mode together with the preset, I can think of the following options:

  1. Insert additional (1 minute) timeslots in your schedule where you set the operation mode. In the next minute you set the preset.
  2. Create a script that executes a sequence of setting operational mode followed by preset mode and have scheduler execute the script entity instead of your climate entity directly.
  3. Create an automation that monitors whenever your climate entity is set to a preset mode, and have it change its operation mode if needed.

@puetsch
Copy link
Author

puetsch commented Jan 9, 2025

Thank you for the added context.

I can follow your reasoning of why you only set the preset and not change the HVAC mode. (From a user perspective, it is a bit counter-intuitive that I can select HEAT+temperature as one action but not HEAT+preset, but I agree that this would be new functionality.)

I like the three options that you give and I'm sure that one of them will work for me. Re: your option 1

Insert additional (1 minute) timeslots in your schedule where you set the operation mode. In the next minute you set the preset.

Is there any way to do this other than to set the time step resolution to 1 min for the whole card?

@puetsch
Copy link
Author

puetsch commented Jan 10, 2025

Other Q: For my thermostats, the "switch off" action is shown but not "switch on" (see screenshot). I do find it as an action in the developer console, though. Is this expected?

image image

@nielsfaber
Copy link
Owner

Is there any way to do this other than to set the time step resolution to 1 min for the whole card?

There is a beta version of the card which shows the time bar together with fields where you can enter the time manually:
image

Other Q: For my thermostats, the "switch off" action is shown but not "switch on" (see screenshot). I do find it as an action in the developer console, though. Is this expected?

I may have not added it as a built-in action. Because for me the purpose of the action is unclear. A climate device is not something that you just turn on, it should regulate temperature (hence the action 'heat'). However if you miss this action you can add it to the card yourself via YAML configuration (as described in the documentation, via customize option).

@puetsch
Copy link
Author

puetsch commented Jan 11, 2025

Thanks, adding it via custom code gives me what I need. 😀

I've wanted to emulate a traditional wall thermostat (like the one shown below) that has (1) an ON/OFF switch, and (2) a temperature setting. (Whether the thermostat is on or off (active or not) is different from whether the underlying heating is on or off.)

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants