Created
November 7, 2021 16:05
-
-
Save martintamare/2e92d7cd1bd8d275c2c197e8208eba0a to your computer and use it in GitHub Desktop.
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: Blueprint - Vacation Mode | |
description: Vacation Mode - Replay Sensors to Light & Cover Behavior | |
domain: automation | |
input: | |
vacation_mode_toggle: | |
name: Vacation Mode - Input Boolean | |
selector: | |
entity: | |
domain: input_boolean | |
replay_sensor_1: | |
name: Replay Sensor (1) | |
selector: | |
entity: | |
domain: sensor | |
target_1: | |
name: Target (1) | |
selector: | |
entity: | |
replay_sensor_2: | |
name: Replay Sensor (2) | |
selector: | |
entity: | |
domain: sensor | |
target_2: | |
name: Target (2) | |
selector: | |
entity: | |
replay_sensor_3: | |
name: Replay Sensor (3) | |
selector: | |
entity: | |
domain: sensor | |
target_3: | |
name: Target (3) | |
selector: | |
entity: | |
replay_sensor_4: | |
name: Replay Sensor (4) | |
selector: | |
entity: | |
domain: sensor | |
target_4: | |
name: Target (4) | |
selector: | |
entity: | |
replay_sensor_5: | |
name: Replay Sensor (5) | |
selector: | |
entity: | |
domain: sensor | |
target_5: | |
name: Target (5) | |
selector: | |
entity: | |
replay_sensor_6: | |
name: Replay Sensor (6) | |
selector: | |
entity: | |
domain: sensor | |
target_6: | |
name: Target (6) | |
selector: | |
entity: | |
replay_sensor_7: | |
name: Replay Sensor (7) | |
selector: | |
entity: | |
domain: sensor | |
target_7: | |
name: Target (7) | |
selector: | |
entity: | |
replay_sensor_8: | |
name: Replay Sensor (8) | |
selector: | |
entity: | |
domain: sensor | |
target_8: | |
name: Target (8) | |
selector: | |
entity: | |
replay_sensor_9: | |
name: Replay Sensor (9) | |
selector: | |
entity: | |
domain: sensor | |
target_9: | |
name: Target (9) | |
selector: | |
entity: | |
replay_sensor_10: | |
name: Replay Sensor (10) | |
selector: | |
entity: | |
domain: sensor | |
target_10: | |
name: Target (10) | |
selector: | |
entity: | |
# Declare blueprint inputs as variables for use in {{templates}} | |
variables: | |
replay_sensor_1: !input replay_sensor_1 | |
target_1: !input target_1 | |
replay_sensor_2: !input replay_sensor_2 | |
target_2: !input target_2 | |
replay_sensor_3: !input replay_sensor_3 | |
target_3: !input target_3 | |
replay_sensor_4: !input replay_sensor_4 | |
target_4: !input target_4 | |
replay_sensor_5: !input replay_sensor_5 | |
target_5: !input target_5 | |
replay_sensor_6: !input replay_sensor_6 | |
target_6: !input target_6 | |
replay_sensor_7: !input replay_sensor_7 | |
target_7: !input target_7 | |
replay_sensor_8: !input replay_sensor_8 | |
target_8: !input target_8 | |
replay_sensor_9: !input replay_sensor_9 | |
target_9: !input target_9 | |
replay_sensor_10: !input replay_sensor_10 | |
target_10: !input target_10 | |
# Automation Mode - Parallel | |
mode: parallel | |
# Trigger when replay sensor changes state | |
trigger: | |
- platform: state | |
entity_id: !input replay_sensor_1 | |
- platform: state | |
entity_id: !input replay_sensor_2 | |
- platform: state | |
entity_id: !input replay_sensor_3 | |
- platform: state | |
entity_id: !input replay_sensor_4 | |
- platform: state | |
entity_id: !input replay_sensor_5 | |
- platform: state | |
entity_id: !input replay_sensor_6 | |
- platform: state | |
entity_id: !input replay_sensor_7 | |
- platform: state | |
entity_id: !input replay_sensor_8 | |
- platform: state | |
entity_id: !input replay_sensor_9 | |
- platform: state | |
entity_id: !input replay_sensor_10 | |
# As long as Vacation Mode is on | |
condition: | |
- condition: state | |
entity_id: !input vacation_mode_toggle | |
state: 'on' | |
action: | |
- variables: | |
corresponding_target: > | |
{% if trigger.entity_id == replay_sensor_1 %} | |
{{ target_1 }} | |
{% elif trigger.entity_id == replay_sensor_2 %} | |
{{ target_2 }} | |
{% elif trigger.entity_id == replay_sensor_3 %} | |
{{ target_3 }} | |
{% elif trigger.entity_id == replay_sensor_4 %} | |
{{ target_4 }} | |
{% elif trigger.entity_id == replay_sensor_5 %} | |
{{ target_5 }} | |
{% elif trigger.entity_id == replay_sensor_6 %} | |
{{ target_6 }} | |
{% elif trigger.entity_id == replay_sensor_7 %} | |
{{ target_7 }} | |
{% elif trigger.entity_id == replay_sensor_8 %} | |
{{ target_8 }} | |
{% elif trigger.entity_id == replay_sensor_9 %} | |
{{ target_9 }} | |
{% elif trigger.entity_id == replay_sensor_10 %} | |
{{ target_10 }} | |
{% endif %} | |
- choose: | |
# Replay turned on && entity_id is "LIGHT" | |
- conditions: | |
condition: and | |
conditions: | |
- condition: template | |
value_template: '{{ trigger.to_state.state == "1" }}' | |
- condition: template | |
value_template: '{{ corresponding_target.split(".")[0] == "light" }}' | |
sequence: | |
- service: light.turn_on | |
data: | |
entity_id: '{{ corresponding_target }}' | |
- service: system_log.write | |
data: | |
message: 'Vacation - Replay Lighting (Blueprint): {{trigger.to_state.entity_id}}: turning on: {{ corresponding_target }}' | |
level: info | |
# Replay turned on && entity_id is "COVER" | |
- conditions: | |
condition: and | |
conditions: | |
- condition: template | |
value_template: '{{ trigger.to_state.state == "1" }}' | |
- condition: template | |
value_template: '{{ corresponding_target.split(".")[0] == "cover" }}' | |
sequence: | |
- service: cover.open_cover | |
data: | |
entity_id: '{{ corresponding_target }}' | |
- service: system_log.write | |
data: | |
message: 'Vacation - Replay Cover (Blueprint): {{trigger.to_state.entity_id}}: opening:{{ corresponding_target }}' | |
level: info | |
# Replay turned off | |
- conditions: | |
condition: and | |
conditions: | |
- condition: template | |
value_template: '{{ trigger.to_state.state == "0" }}' | |
- condition: template | |
value_template: '{{ corresponding_target.split(".")[0] == "light" }}' | |
sequence: | |
- service: light.turn_off | |
data: | |
entity_id: '{{ corresponding_target }}' | |
- service: system_log.write | |
data: | |
message: 'Vacation - Replay Lighting (Blueprint): {{trigger.to_state.entity_id}}: turning off:{{ corresponding_target }}' | |
level: info | |
# Replay turned off | |
- conditions: | |
condition: and | |
conditions: | |
- condition: template | |
value_template: '{{ trigger.to_state.state == "0" }}' | |
- condition: template | |
value_template: '{{ corresponding_target.split(".")[0] == "cover" }}' | |
sequence: | |
- service: cover.close_cover | |
data: | |
entity_id: '{{ corresponding_target }}' | |
- service: system_log.write | |
data: | |
message: 'Vacation - Replay Lighting (Blueprint): {{trigger.to_state.entity_id}}: closing:{{ corresponding_target }}' | |
level: info |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment