If you have a big drafty home with no insulation, you know that while the thermostat may say that it is at the correct temperature, but it is in the center of the house and all the other rooms may be up to 10 degrees hotter or colder.
This blueprint uses data from OpenWeather to find out what the high temperature for the day is and adjust your internal temperature based on that data.
blueprint:
name: Climate Thermostat Schedule
description: Set climate based on time of day and Daily high temperature
domain: automation
input:
thermostat_selection:
name: Select Thermostat
description: Which Thermostat will you be controlling
selector:
entity:
domain: climate
set_time:
name: Set Time
description: This is the time the automation will trigger
selector:
time:
below_65_heat:
name: below 65 heat
description: set heater when below 65 outside
default: '70'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
below_65_cool:
name: below 65 cool
description: set A/C when below 65 outside
default: '78'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
65_80_heat:
name: 65-80 heat
description: set heater when between 65 and 80 outside
default: '70'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
65_80_cool:
name: 65-80 cool
description: set A/C when between 65 and 80 outside
default: '78'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
80_95_heat:
name: 80-95 heat
description: set heater when between 80 and 95 outside
default: '70'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
80_95_cool:
name: 80-95 cool
description: set A/C when between 80 and 95 outside
default: '78'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
above_95_heat:
name: above 95 heat
description: set heater when above 95 outside
default: '70'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
above_95_cool:
name: above 95 cool
description: set A/C when above 95 outside
default: '78'
selector:
number:
min: '59'
max: '95'
step: '1'
mode: slider
variables:
# thermostat_selection: !input thermostat_selection
set_time: !input set_time
below_65_heat: !input 'below_65_heat'
below_65_cool: !input 'below_65_cool'
65_80_heat: !input '65_80_heat'
65_80_cool: !input '65_80_cool'
80_95_heat: !input '80_95_heat'
80_95_cool: !input '80_95_cool'
above_95_heat: !input 'above_95_heat'
above_95_cool: !input 'above_95_cool'
trigger:
platform: time
at: !input set_time
action:
choose:
- conditions:
- condition: numeric_state
entity_id: sensor.openweathermap_forecast_temperature
below: '65.0'
sequence:
- service: climate.set_hvac_mode
data:
hvac_mode: heat_cool
target:
entity_id: !input thermostat_selection
- service: climate.set_temperature
data:
target_temp_high: !input 'below_65_cool'
target_temp_low: !input 'below_65_heat'
target:
entity_id: !input thermostat_selection
- conditions:
- condition: numeric_state
entity_id: sensor.openweathermap_forecast_temperature
above: '65.0'
below: '80.0'
sequence:
- service: climate.set_hvac_mode
data:
hvac_mode: heat_cool
target:
entity_id: !input thermostat_selection
- service: climate.set_temperature
data:
target_temp_high: !input '65_80_cool'
target_temp_low: !input '65_80_heat'
target:
entity_id: !input thermostat_selection
- conditions:
- condition: numeric_state
entity_id: sensor.openweathermap_forecast_temperature
above: '80.0'
below: '95.0'
sequence:
- service: climate.set_hvac_mode
data:
hvac_mode: heat_cool
target:
entity_id: !input thermostat_selection
- service: climate.set_temperature
data:
target_temp_high: !input '80_95_cool'
target_temp_low: !input '80_95_heat'
target:
entity_id: !input thermostat_selection
- conditions:
- condition: numeric_state
entity_id: sensor.openweathermap_forecast_temperature
above: '95.0'
sequence:
- service: climate.set_hvac_mode
data:
hvac_mode: heat_cool
target:
entity_id: !input thermostat_selection
- service: climate.set_temperature
data:
target_temp_high: !input 'above_95_cool'
target_temp_low: !input 'above_95_heat'
target:
entity_id: !input thermostat_selection
mode: single