Last active
December 6, 2022 00:13
-
-
Save ondrejbaranek/6fafd0a62a6650c8a849e6320713d8fc to your computer and use it in GitHub Desktop.
Set climate entity temperature based on time in 4 rooms
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: TRV temperature schedule | |
description: Set TRV temperature based on 6 timeframes and for 4 rooms (TRVs) | |
domain: automation | |
input: | |
room1: | |
name: Room 1 | |
selector: | |
entity: | |
domain: climate | |
room2: | |
name: Room 2 | |
selector: | |
entity: | |
domain: climate | |
room3: | |
name: Room 3 | |
selector: | |
entity: | |
domain: climate | |
room4: | |
name: Room 4 | |
selector: | |
entity: | |
domain: climate | |
room4_thermostat: | |
name: Room 4 Thermostat | |
selector: | |
entity: | |
domain: climate | |
time_p1: | |
name: Time Period 1 | |
default: '05:30:00' | |
selector: | |
time: | |
time_p2: | |
name: Time Period 2 | |
default: '10:00:00' | |
selector: | |
time: | |
time_p3: | |
name: Time Period 3 | |
default: '13:30:00' | |
selector: | |
time: | |
time_p4: | |
name: Time Period 4 | |
default: '17:30:00' | |
selector: | |
time: | |
time_p5: | |
name: Time Period 5 | |
default: '22:00:00' | |
selector: | |
time: | |
time_p6: | |
name: Time Period 6 | |
default: '23:59:00' | |
selector: | |
time: | |
temp_room1_p1: | |
name: Temp | |
description: Temp to set for Room 1, period 1. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room1_p2: | |
name: Temp | |
description: Temp to set for Room 1, period 2. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room1_p3: | |
name: Temp | |
description: Temp to set for Room 1, period 3. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room1_p4: | |
name: Temp | |
description: Temp to set for Room 1, period 4. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room1_p5: | |
name: Temp | |
description: Temp to set for Room 1, period 5. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room1_p6: | |
name: Temp | |
description: Temp to set for Room 1, period 6. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p1: | |
name: Temp | |
description: Temp to set for Room 2, period 1. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p2: | |
name: Temp | |
description: Temp to set for Room 2, period 2. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p3: | |
name: Temp | |
description: Temp to set for Room 2, period 3. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p4: | |
name: Temp | |
description: Temp to set for Room 2, period 4. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p5: | |
name: Temp | |
description: Temp to set for Room 2, period 5. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room2_p6: | |
name: Temp | |
description: Temp to set for Room 2, period 6. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p1: | |
name: Temp | |
description: Temp to set for Room 3, period 1. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p2: | |
name: Temp | |
description: Temp to set for Room 3, period 2. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p3: | |
name: Temp | |
description: Temp to set for Room 3, period 3. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p4: | |
name: Temp | |
description: Temp to set for Room 3, period 4. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p5: | |
name: Temp | |
description: Temp to set for Room 3, period 5. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room3_p6: | |
name: Temp | |
description: Temp to set for Room 3, period 6. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p1: | |
name: Temp | |
description: Temp to set for Room 4, period 1. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p2: | |
name: Temp | |
description: Temp to set for Room 4, period 2. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p3: | |
name: Temp | |
description: Temp to set for Room 4, period 3. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p4: | |
name: Temp | |
description: Temp to set for Room 4, period 4. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p5: | |
name: Temp | |
description: Temp to set for Room 4, period 5. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
temp_room4_p6: | |
name: Temp | |
description: Temp to set for Room 4, period 6. | |
default: 23 | |
selector: | |
number: | |
min: 15 | |
max: 25 | |
step: 1 | |
mode: slider | |
variables: | |
time_p1: !input time_p1 | |
time_p2: !input time_p2 | |
time_p3: !input time_p3 | |
time_p4: !input time_p4 | |
time_p5: !input time_p5 | |
time_p6: !input time_p6 | |
temp_room1_p1: !input temp_room1_p1 | |
temp_room1_p2: !input temp_room1_p2 | |
temp_room1_p3: !input temp_room1_p3 | |
temp_room1_p4: !input temp_room1_p4 | |
temp_room1_p5: !input temp_room1_p5 | |
temp_room1_p6: !input temp_room1_p6 | |
temp_room2_p1: !input temp_room2_p1 | |
temp_room2_p2: !input temp_room2_p2 | |
temp_room2_p3: !input temp_room2_p3 | |
temp_room2_p4: !input temp_room2_p4 | |
temp_room2_p5: !input temp_room2_p5 | |
temp_room2_p6: !input temp_room2_p6 | |
temp_room3_p1: !input temp_room3_p1 | |
temp_room3_p2: !input temp_room3_p2 | |
temp_room3_p3: !input temp_room3_p3 | |
temp_room3_p4: !input temp_room3_p4 | |
temp_room3_p5: !input temp_room3_p5 | |
temp_room3_p6: !input temp_room3_p6 | |
temp_room4_p1: !input temp_room4_p1 | |
temp_room4_p2: !input temp_room4_p2 | |
temp_room4_p3: !input temp_room4_p3 | |
temp_room4_p4: !input temp_room4_p4 | |
temp_room4_p5: !input temp_room4_p5 | |
temp_room4_p6: !input temp_room4_p6 | |
trigger: | |
- platform: time | |
at: | |
- !input time_p1 | |
- !input time_p2 | |
- !input time_p3 | |
- !input time_p4 | |
- !input time_p5 | |
- !input time_p6 | |
action: | |
- choose: | |
- conditions: | |
- condition: time | |
before: !input time_p2 | |
after: !input time_p1 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p1 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p1 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p1 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p1 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p1 }}" | |
- conditions: | |
- condition: time | |
before: !input time_p3 | |
after: !input time_p2 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p2 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p2 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p2 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p2 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p2 }}" | |
- conditions: | |
- condition: time | |
before: !input time_p4 | |
after: !input time_p3 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p3 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p3 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p3 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p3 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p3 }}" | |
- conditions: | |
- condition: time | |
before: !input time_p5 | |
after: !input time_p4 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p4 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p4 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p4 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p4 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p4 }}" | |
- conditions: | |
- condition: time | |
before: !input time_p6 | |
after: !input time_p5 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p5 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p5 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p5 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p5 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p5 }}" | |
- conditions: | |
- condition: time | |
before: !input time_p1 | |
after: !input time_p6 | |
sequence: | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room1 | |
temperature: "{{ temp_room1_p6 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room2 | |
temperature: "{{ temp_room2_p6 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room3 | |
temperature: "{{ temp_room3_p6 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4 | |
temperature: "{{ temp_room4_p6 }}" | |
- service: climate.set_temperature | |
data: | |
entity_id: !input room4_thermostat | |
temperature: "{{ temp_room4_p6 }}" | |
mode: single |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment