I want to automate changing the preset of my climate entity, which uses the generic thermostat, based on time.
For example, at 1715, switch climate entity preset to “Comfort”, which has a target temperature of 20.5C.
Setup:
- Shelly switch wired to boiler to call for heat - working & integrated in my HA.
- Nest thermostat providing the temperature of my living area to HA - working fine.
- A ‘central heating’ card on my HA dashboard, which works fine to change the desired temp and set the mode (heating or off) and presets (Away, Comfort, Eco, Home, Sleep) manually.
- The ‘central heating’ card controls the entity ‘climate.baxi_central_heating’, and under ‘Generic thermostat options’, I’ve got the sensor as ‘sensor.downstairs_temperature’ and actuator switch set as ‘shelly-boiler switch’, with cold tolerance 0.4 and heat tolerance 0.1. Under ‘Temperature presets’, I’ve set the desired target temps.
-
Using the dashboard card, if I adjust the temperature manually above the current temperature, the boiler switches on as it should, and does switch off once it hits target temp like I’d expect it to.
-
If I manually set the temp lower than current, the boiler switches off as expected.
-
Using the dashboard, I can select a preset e.g. ‘Comfort’ or ‘Sleep’, and it properly sets the desired temp, and turns the boiler on or off appropriately.
So, I’ve then tried writing an automation to switch to ‘Comfort’ preset at time 17:15
alias: Boiler Evening Comfort
description: ""
trigger:
- platform: time
at: "17:15:00"
condition: []
action:
- action: climate.set_preset_mode
metadata: {}
data:
preset_mode: Comfort
target:
entity_id: climate.baxi_central_heating
mode: single
But it doesn’t seem to do anything.
I feel like I’m close, but missing something important. Thoughts & suggestions most welcome!