579 lines
16 KiB
YAML
579 lines
16 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='Brian'><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
|
|
- service: script.activate_alexa_actionable_notification
|
|
data:
|
|
text: <voice name='Brian'><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
|
|
alias: Ask about shutting down main computer
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_studio_door
|
|
from: 'off'
|
|
to: 'on'
|
|
timeout:
|
|
hours: 0
|
|
minutes: 20
|
|
seconds: 0
|
|
milliseconds: 0
|
|
alias: Wait until the door opens
|
|
- service: light.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: light.basement_studio_lights
|
|
alias: Turn off the lights
|
|
- wait_template: '{{ is_state(''binary_sensor.upstairs_bathroom_occupied'',''on'')
|
|
or is_state(''input_boolean.goodnight'',''on'') }}'
|
|
timeout: '{{ wait.remaining }}'
|
|
alias: Wait until I'm in the bathroom or in bed
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.goodnight
|
|
state: 'off'
|
|
then:
|
|
- service: input_select.select_option
|
|
data:
|
|
option: Side Nightlight
|
|
target:
|
|
entity_id: input_select.master_bedroom_scenes
|
|
alias: Turn on dim lighting in master bedroom, unless I am in bed
|
|
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
|