763 lines
21 KiB
YAML
763 lines
21 KiB
YAML
start_netflix:
|
|
alias: Start Netflix (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: com.netflix.ninja
|
|
mode: single
|
|
icon: mdi:netflix
|
|
stop_netflix:
|
|
alias: Stop Netflix (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: '!com.netflix.ninja'
|
|
mode: single
|
|
icon: mdi:netflix
|
|
give_me_darkness:
|
|
alias: Give Me Darkness
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.give_me_darkness
|
|
alias: Turn on input boolean
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.guest_mode
|
|
state: 'off'
|
|
then:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ is_state(''person.tony_stork'',''home'') and is_state(''person.christina_stork'',''home'')
|
|
}}'
|
|
alias: Both adults are home
|
|
then:
|
|
- service: script.activate_alexa_actionable_notification
|
|
data:
|
|
text: <voice name='Joanna'><prosody rate='150%'>Would you like me to arm
|
|
the security system?</prosody></voice>
|
|
event_id: actionable_notification_night_security_arm
|
|
alexa_device: '{{ states(''sensor.last_alexa_entity_id'') }}'
|
|
alias: Ask to arm security
|
|
alias: Ask to arm security if both adults are home
|
|
alias: If guest mode is off
|
|
- wait_template: '{{ is_state(''input_boolean.give_me_darkness'',''on'') }}'
|
|
continue_on_timeout: true
|
|
timeout:
|
|
seconds: 5
|
|
- service: script.volume_reset
|
|
data: {}
|
|
- service: script.evening_on_first_floor
|
|
data:
|
|
give_me_darkness: 1
|
|
- service: script.evening_on_second_floor
|
|
data: {}
|
|
- service: mqtt.publish
|
|
data:
|
|
qos: '2'
|
|
retain: true
|
|
topic: house/time/give_me_darkness
|
|
payload: 'on'
|
|
mode: single
|
|
icon: mdi:weather-night
|
|
start_youtube:
|
|
alias: Start Youtube (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: com.google.android.youtube.tv
|
|
mode: single
|
|
icon: mdi:youtube
|
|
stop_youtube:
|
|
alias: Stop Youtube (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: '!com.google.android.youtube.tv'
|
|
mode: single
|
|
icon: mdi:youtube
|
|
start_twitch:
|
|
alias: Start Twitch (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: tv.twitch.android.app
|
|
mode: single
|
|
icon: mdi:twitch
|
|
stop_twitch:
|
|
alias: Stop Twitch (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: '!tv.twitch.android.app'
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
mode: single
|
|
icon: mdi:twitch
|
|
start_spotify:
|
|
alias: Start Spotify (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: com.spotify.tv.android
|
|
mode: single
|
|
icon: mdi:spotify
|
|
stop_spotify:
|
|
alias: Stop Spotify (Living Room)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
target:
|
|
entity_id: media_player.living_room_tv
|
|
data:
|
|
source: '!com.spotify.tv.android'
|
|
mode: single
|
|
icon: mdi:spotify
|
|
alexa_tts_test:
|
|
alias: Alexa TTS Test
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
data:
|
|
method: all
|
|
type: announce
|
|
target: Living Room Echo Dot
|
|
message: I farted
|
|
mode: single
|
|
icon: mdi:test-tube
|
|
kallen_timer_cancel:
|
|
sequence:
|
|
- service: timer.cancel
|
|
target:
|
|
entity_id: timer.kallen_timer
|
|
mode: single
|
|
alias: Kallen Timer - Cancel
|
|
icon: mdi:cancel
|
|
global_off:
|
|
alias: Global Off
|
|
sequence:
|
|
- service: light.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: all
|
|
- service: fan.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: all
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.tina_desk_lights
|
|
mode: single
|
|
icon: mdi:earth-off
|
|
global_on:
|
|
alias: Global On
|
|
sequence:
|
|
- service: light.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: all
|
|
mode: single
|
|
icon: mdi:earth
|
|
max_brightness:
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.tina_desk_lights
|
|
data: {}
|
|
alias: Turn on Tina Desk Lights
|
|
- service: switch.turn_off
|
|
target:
|
|
entity_id:
|
|
- switch.adaptive_lighting_basement_studio
|
|
- switch.adaptive_lighting_kallen_bedroom
|
|
- switch.adaptive_lighting_living_room
|
|
- switch.adaptive_lighting_master_bedroom
|
|
- switch.adaptive_lighting_mud_room
|
|
- switch.adaptive_lighting_emma_bedroom
|
|
- switch.adaptive_lighting_upstairs_hallway
|
|
- switch.adaptive_lighting_dining_room_lamp
|
|
- switch.adaptive_lighting_upstairs_bathroom
|
|
- switch.adaptive_lighting_downstairs_bathroom
|
|
- switch.adaptive_lighting_tina_lamp
|
|
data: {}
|
|
alias: Turn off Adaptive Lighting
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 1
|
|
milliseconds: 0
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.shower_mode
|
|
alias: Turn on Shower Mode
|
|
- service: automation.turn_off
|
|
data:
|
|
stop_actions: true
|
|
target:
|
|
entity_id: automation.living_room_night_lighting
|
|
alias: Turn off Living Room night automation
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.front_porch_light_on
|
|
alias: Turn off Front Porch automation
|
|
- service: light.turn_on
|
|
data:
|
|
kelvin: 5000
|
|
brightness_pct: 100
|
|
target:
|
|
entity_id: all
|
|
alias: Turn on ALL LIGHTS to maximum brightness
|
|
mode: single
|
|
alias: Max Brightness
|
|
icon: mdi:brightness-7
|
|
going_upstairs:
|
|
alias: Going Upstairs
|
|
sequence:
|
|
- service: mqtt.publish
|
|
data:
|
|
qos: '2'
|
|
retain: true
|
|
topic: house/time/night_mode
|
|
payload: 'on'
|
|
alias: Tell MQTT that it is night mode now
|
|
- service: input_select.select_option
|
|
data:
|
|
option: Adaptive
|
|
target:
|
|
entity_id:
|
|
- input_select.basement_studio_scenes
|
|
- input_select.tina_lamp_scenes
|
|
- input_select.mud_room_scenes
|
|
- input_select.upstairs_hallway_scenes
|
|
- input_select.living_room_scenes
|
|
alias: Set scenes
|
|
- service: input_boolean.turn_on
|
|
entity_id: input_boolean.night_mode
|
|
alias: Turn on Night Mode
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.studio_quiet
|
|
alias: Turn off Studio Quiet
|
|
- if:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: media_player.basement_tv
|
|
state: playing
|
|
then:
|
|
- service: media_player.turn_off
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
data: {}
|
|
alias: Turn basement TV off, unless something is playing
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.kallen_computer_updates
|
|
state: 'off'
|
|
then:
|
|
- service: script.kallen_desktop_shutdown
|
|
data: {}
|
|
alias: Shut down Kallen desktop
|
|
alias: Shutdown Kallen Desktop, unless it is updating
|
|
- service: script.asus_laptop_shutdown
|
|
data: {}
|
|
alias: Shut down laptop
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sensor.last_alexa_name
|
|
state: Living Room Echo Dot
|
|
alias: If triggered from living room
|
|
sequence:
|
|
- service: script.activate_alexa_actionable_notification
|
|
data:
|
|
text: <voice name='Joanna'><prosody rate='150%'>Would you like me to shut
|
|
down your computer?</prosody></voice>
|
|
event_id: actionable_notification_shutdown_computer
|
|
alexa_device: media_player.living_room_echo_dot
|
|
response_variable: shutdown
|
|
alias: Ask in living room
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sensor.last_alexa_name
|
|
state: Master Bedroom Echo Dot
|
|
alias: If triggered from master bedroom
|
|
sequence:
|
|
- service: script.activate_alexa_actionable_notification
|
|
data:
|
|
text: <voice name='Joanna'><prosody rate='150%'>Would you like me to shut
|
|
down your computer?</prosody></voice>
|
|
event_id: actionable_notification_shutdown_computer
|
|
alexa_device: media_player.master_bedroom_echo_dot
|
|
response_variable: shutdown
|
|
alias: Ask in master bedroom
|
|
default:
|
|
- service: script.activate_alexa_actionable_notification
|
|
data:
|
|
text: <voice name='Joanna'><prosody rate='150%'>Would you like me to shut
|
|
down your computer?</prosody></voice>
|
|
event_id: actionable_notification_shutdown_computer
|
|
alexa_device: media_player.basement_echo_dot
|
|
response_variable: shutdown
|
|
alias: Ask in basement
|
|
alias: Ask about shutting down main computer
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_studio_door
|
|
from: 'off'
|
|
to: 'on'
|
|
id: door
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.goodnight
|
|
from: 'off'
|
|
to: 'on'
|
|
id: goodnight
|
|
- platform: state
|
|
entity_id: light.master_bedroom_lights
|
|
to: 'on'
|
|
id: lights
|
|
timeout:
|
|
hours: 0
|
|
minutes: 30
|
|
seconds: 0
|
|
milliseconds: 0
|
|
alias: Figure out where I am
|
|
- service: light.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: light.basement_studio_lights
|
|
alias: Turn off the lights
|
|
- service: input_datetime.set_datetime
|
|
data:
|
|
datetime: '{% from ''time.jinja'' import set_datetime %} {{ set_datetime(0,2)
|
|
}}
|
|
|
|
'
|
|
target:
|
|
entity_id: input_datetime.tony_night_meds_notify
|
|
alias: Schedule the night meds notification
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ wait.trigger.id in [''goodnight'',''lights''] }}'
|
|
then:
|
|
- stop: Automation steps skipped
|
|
alias: If I was not in the basement, skip the rest
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.upstairs_bathroom_motion
|
|
to: 'on'
|
|
id: bathroom
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.goodnight
|
|
to: 'on'
|
|
id: goodnight
|
|
- platform: state
|
|
entity_id:
|
|
- light.master_bedroom_lights
|
|
to: 'on'
|
|
id: lights
|
|
continue_on_timeout: false
|
|
timeout:
|
|
hours: 0
|
|
minutes: 20
|
|
seconds: 0
|
|
milliseconds: 0
|
|
alias: Wait until I am in the bathroom, or in bed, or the lights are manually
|
|
turned on
|
|
- choose:
|
|
- conditions: '{{ wait.trigger.id == ''bathroom'' }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
data:
|
|
option: Side Nightlight
|
|
target:
|
|
entity_id: input_select.master_bedroom_scenes
|
|
- conditions: '{{ wait.trigger.id in [''lights'',''goodnight''] }}'
|
|
sequence:
|
|
- variables:
|
|
stop_reason: '{{ wait.trigger.id }}'
|
|
- stop: Bedroom lighting not needed
|
|
response_variable: stop_reason
|
|
alias: Turn on lights, or not
|
|
mode: single
|
|
icon: hue:room-stairs
|
|
start_youtube_basement:
|
|
alias: Start Youtube (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: com.google.android.youtube.tv
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:youtube
|
|
stop_youtube_basement:
|
|
alias: Stop Youtube (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: '!com.google.android.youtube.tv'
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:youtube
|
|
start_netflix_basement:
|
|
alias: Start Netflix (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: com.netflix.ninja
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:netflix
|
|
stop_netflix_basement:
|
|
alias: Stop Netflix (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: '!com.netflix.ninja'
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:netflix
|
|
start_twitch_basement:
|
|
alias: Start Twitch (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: tv.twitch.android.app
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:twitch
|
|
stop_twitch_basement:
|
|
alias: Stop Twitch (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: '!tv.twitch.android.app'
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:twitch
|
|
start_spotify_basement:
|
|
alias: Start Spotify (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: com.spotify.tv.android
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:spotify
|
|
stop_spotify_basement:
|
|
alias: Stop Spotify (Basement)
|
|
sequence:
|
|
- service: media_player.select_source
|
|
data:
|
|
source: '!com.spotify.tv.android'
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
mode: single
|
|
icon: mdi:spotify
|
|
max_brightness_cleanup:
|
|
alias: Max Brightness Cleanup
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.shower_mode
|
|
alias: Turn off Shower Mode
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.front_porch_light_on
|
|
alias: Turn on Front Porch automation
|
|
- service: automation.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: automation.living_room_night_lighting
|
|
alias: Turn on Living Room night automation
|
|
- service: script.adaptive_on_first_floor
|
|
data: {}
|
|
- service: script.adaptive_on_second_floor
|
|
data: {}
|
|
mode: single
|
|
icon: mdi:broom
|
|
cleanup_crash:
|
|
alias: Cleanup Crash
|
|
sequence:
|
|
- service: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.presence_simulation
|
|
- switch.basement_echo_dot_do_not_disturb_switch
|
|
- switch.living_room_echo_dot_do_not_disturb_switch
|
|
- switch.master_bedroom_echo_dot_do_not_disturb_switch
|
|
alias: Turn off switches
|
|
- if:
|
|
- condition: time
|
|
after: input_datetime.master_bedroom_wakeup
|
|
before: input_datetime.master_bedroom_cooling
|
|
then:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.master_bedroom_cooling_on
|
|
- service: button.press
|
|
data: {}
|
|
target:
|
|
entity_id: button.master_bedroom_day_mode
|
|
else:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.master_bedroom_cooling_on
|
|
- service: button.press
|
|
data: {}
|
|
target:
|
|
entity_id: button.master_bedroom_night_mode
|
|
alias: Set climate state
|
|
- if:
|
|
- condition: state
|
|
entity_id: sensor.twitch_ironnerd24
|
|
state: online
|
|
then:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.studio_quiet
|
|
else:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.studio_quiet
|
|
alias: Set studio quiet if Twitch stream is live
|
|
- if:
|
|
- condition: state
|
|
entity_id: calendar.family_tinawork
|
|
state: 'on'
|
|
- condition: time
|
|
before: input_datetime.tina_workday_end
|
|
after: input_datetime.tina_workday_start
|
|
then:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.work_today
|
|
else:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.work_today
|
|
alias: Set Tina Work booleans
|
|
- if:
|
|
- condition: state
|
|
entity_id: calendar.kallen_school_days
|
|
state: 'on'
|
|
- condition: time
|
|
before: input_datetime.kallen_school_day_end
|
|
after: input_datetime.kallen_school_day_start
|
|
then:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.kallen_school_today
|
|
- input_boolean.kallen_school_today_extended
|
|
- input_boolean.kallen_at_school
|
|
else:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.kallen_school_today
|
|
- input_boolean.kallen_school_today_extended
|
|
- input_boolean.kallen_at_school
|
|
alias: Set Kallen School booleans
|
|
- if:
|
|
- condition: time
|
|
before: input_datetime.audible_notification_on
|
|
after: input_datetime.audible_notification_off
|
|
then:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.audible_notifications
|
|
else:
|
|
- service: input_boolean.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.audible_notifications
|
|
alias: Set audible notifications
|
|
- service: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.adaptive_lighting_basement_studio
|
|
- switch.adaptive_lighting_dining_room_lamp
|
|
- switch.adaptive_lighting_downstairs_bathroom
|
|
- switch.adaptive_lighting_front_porch
|
|
- switch.adaptive_lighting_kallen_bedroom
|
|
- switch.adaptive_lighting_living_room
|
|
- switch.adaptive_lighting_master_bedroom
|
|
- switch.adaptive_lighting_mud_room
|
|
- switch.adaptive_lighting_tina_lamp
|
|
- switch.adaptive_lighting_emma_bedroom
|
|
- switch.adaptive_lighting_upstairs_bathroom
|
|
- switch.adaptive_lighting_upstairs_hallway
|
|
alias: Turn on all adaptive lighting
|
|
- service: input_text.set_value
|
|
data:
|
|
value: Adaptive
|
|
target:
|
|
entity_id:
|
|
- input_text.basement_studio_selected_scene
|
|
- input_text.downstairs_bathroom_selected_scene
|
|
- input_text.front_porch_selected_scene
|
|
- input_text.kallen_bedroom_selected_scene
|
|
- input_text.living_room_selected_scene
|
|
- input_text.master_bedroom_selected_scene
|
|
- input_text.mud_room_selected_scene
|
|
- input_text.emma_bedroom_selected_scene
|
|
- input_text.tina_lamp_selected_scene
|
|
- input_text.upstairs_bathroom_selected_scene
|
|
- input_text.upstairs_hallway_selected_scene
|
|
- input_text.dining_room_lamp_selected_scene
|
|
alias: Reset input texts to adaptive
|
|
- service: script.volume_reset
|
|
data: {}
|
|
alias: Reset all speaker volumes
|
|
- service: button.press
|
|
data: {}
|
|
target:
|
|
entity_id: button.cleanup
|
|
alias: Run Node-RED cleanup flow
|
|
mode: single
|
|
icon: mdi:truck-snowflake
|
|
basement_shutdown:
|
|
alias: Basement Shutdown
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.studio_quiet
|
|
- input_boolean.recliner_mode
|
|
alias: Turn off any active modes
|
|
- if:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: media_player.basement_tv
|
|
state:
|
|
- playing
|
|
then:
|
|
- service: media_player.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.basement_tv
|
|
alias: If TV is not being used, turn it off
|
|
- service: script.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- script.asus_laptop_shutdown
|
|
alias: Shut down the laptop
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.kallen_computer_updates
|
|
state: 'off'
|
|
then:
|
|
- service: script.kallen_desktop_shutdown
|
|
data: {}
|
|
else:
|
|
- service: script.kallen_desktop_lock
|
|
data: {}
|
|
- service: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.kallen_computer_updates
|
|
alias: Turn off Kallen Desktop unless updates are scheduled
|
|
- service: script.text_notify
|
|
data:
|
|
type: alert
|
|
who: tony
|
|
title: Basement Shutting Down
|
|
message: Would you like to shut down your computer?
|
|
tag: tony-pc-shutdown
|
|
actions:
|
|
- action: TONY_COMPUTER_SHUTDOWN
|
|
title: Shutdown
|
|
- action: TONY_COMPUTER_LOCK
|
|
title: Lock
|
|
- action: TONY_COMPUTER_IGNORE
|
|
title: Do Nothing
|
|
alias: Ask about shutting down main computer
|
|
response_variable: tony_computer
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_studio_door
|
|
to: 'on'
|
|
timeout:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
alias: Wait for the door to open
|
|
- service: fan.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: fan.basement_fan
|
|
- service: light.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: light.basement_lights
|
|
alias: Turn off the lights
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_studio_door
|
|
to: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 10
|
|
timeout:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
milliseconds: 0
|
|
alias: Wait for the door to close
|
|
- service: timer.cancel
|
|
data: {}
|
|
target:
|
|
entity_id: timer.basement_studio_door_timer
|
|
alias: Cancel the door timer since the lights are already off
|
|
mode: restart
|
|
icon: mdi:power
|