Last active
October 27, 2024 10:16
-
-
Save quallenbezwinger/70097f1a1e3cea543c3b0fa029754725 to your computer and use it in GitHub Desktop.
Homeassistant Blueprint - Sets a climate entity to a specifc temperatures at a set time everyday. If climate entity is off, it is normally not accepting temperature updated. This blueprints checks if climate entity is off and the temperature update will be set when thermostat is going back in heating mode.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Set thermostat temperature at specific times a day | |
description: Sets a climate entity to a specifc temperatures at a set time everyday. If climate entity is off, it is normally not accepting temperature updated. This blueprints checks if climate entity is off and the temperature update will be set when thermostat is going back in heating mode. | |
domain: automation | |
source_url: https://gist.github.com/dirkk1980/70097f1a1e3cea543c3b0fa029754725 | |
input: | |
time_to_set_morning: | |
name: Time for morning | |
description: When should the temperature be set | |
selector: | |
time: | |
temp_to_set_morning: | |
name: Temperature | |
description: Temperature to set for morning | |
default: 19.5 | |
selector: | |
number: | |
min: 10 | |
max: 30 | |
unit_of_measurement: degrees | |
step: 0.5 | |
time_to_set_afternoon: | |
name: Time for afternoon | |
description: When should the temperature be set | |
selector: | |
time: | |
temp_to_set_afternoon: | |
name: Temperature | |
description: Temperature to set for afternoon | |
default: 19.5 | |
selector: | |
number: | |
min: 10 | |
max: 30 | |
unit_of_measurement: degrees | |
step: 0.5 | |
time_to_set_evening: | |
name: Time for evening | |
description: When should the temperature be set | |
selector: | |
time: | |
temp_to_set_evening: | |
name: Temperature | |
description: Temperature to set for evening | |
default: 19.5 | |
selector: | |
number: | |
min: 10 | |
max: 30 | |
unit_of_measurement: degrees | |
step: 0.5 | |
time_to_set_night: | |
name: Time for night | |
description: When should the temperature be set | |
selector: | |
time: | |
temp_to_set_night: | |
name: Temperature | |
description: Temperature to set for night | |
default: 19.5 | |
selector: | |
number: | |
min: 10 | |
max: 30 | |
unit_of_measurement: degrees | |
step: 0.5 | |
climate_entity: | |
name: Thermostat | |
description: Climate entity which will get the temperature update | |
selector: | |
entity: | |
domain: climate | |
trigger: | |
- platform: time | |
at: | |
- !input time_to_set_morning | |
- !input time_to_set_afternoon | |
- !input time_to_set_evening | |
- !input time_to_set_night | |
mode: single | |
action: | |
- choose: | |
- conditions: | |
- condition: state | |
entity_id: !input climate_entity | |
state: "heat" | |
sequence: | |
- choose: | |
- conditions: | |
- condition: time | |
after: !input time_to_set_morning | |
before: !input time_to_set_afternoon | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_morning | |
- conditions: | |
- condition: time | |
after: !input time_to_set_afternoon | |
before: !input time_to_set_evening | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_afternoon | |
- conditions: | |
- condition: time | |
after: !input time_to_set_evening | |
before: !input time_to_set_night | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_evening | |
- conditions: | |
- condition: time | |
after: !input time_to_set_night | |
before: !input time_to_set_morning | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_night | |
- conditions: | |
- condition: state | |
entity_id: !input climate_entity | |
state: "off" | |
sequence: | |
- wait_for_trigger: | |
platform: state | |
entity_id: !input climate_entity | |
from: "off" | |
to: "heat" | |
#delay is necessary to prevents an override by other functions like window/doors sensor control which are restoring the prevoius temperature | |
- delay: 10 | |
- choose: | |
- conditions: | |
- condition: time | |
after: !input time_to_set_morning | |
before: !input time_to_set_afternoon | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_morning | |
- conditions: | |
- condition: time | |
after: !input time_to_set_afternoon | |
before: !input time_to_set_evening | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_afternoon | |
- conditions: | |
- condition: time | |
after: !input time_to_set_evening | |
before: !input time_to_set_night | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_evening | |
- conditions: | |
- condition: time | |
after: !input time_to_set_night | |
before: !input time_to_set_morning | |
sequence: | |
- service: climate.set_temperature | |
entity_id: !input climate_entity | |
data: | |
temperature: !input temp_to_set_night |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment