Files
fresh-home/automations/people/goodnight_kids.yaml
T
2024-07-04 14:46:31 -04:00

176 lines
6.4 KiB
YAML

alias: "Goodnight Kids"
id: automation_goodnight_kids
initial_state: on
trigger:
platform: time
at: input_datetime.kids_bedtime_announcement_time
condition:
- condition: state
entity_id: input_boolean.announce_bedtime
state: "on"
- condition: or
conditions:
- condition: state
entity_id: input_boolean.emmett_home
state: "on"
- condition: state
entity_id: input_boolean.bridget_home
state: "on"
- condition: state
entity_id: input_boolean.ebin_home
state: "on"
action:
- service: homeassistant.turn_on
entity_id: input_boolean.kids_bedtime
- choose:
- conditions:
- condition: template
value_template: "{{states('media_player.announcements') == 'unknown' or states('media_player.announcements') == 'unavailable' }}"
sequence:
- service: script.make_clever_announcement
data:
entity_id:
- media_player.bathroom_mini
- media_player.kitchen
- media_player.utility_room_clock
media_content_id: >-
{% if is_state('input_boolean.emmett_home', 'on') %}
{% if is_state('input_boolean.bridget_home', 'on') %}
{% if is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_bridget_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home','on') %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_emmett.mp3
{% endif %}
{% elif is_state('input_boolean.bridget_home', 'on') %}
{% if is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_bridget_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_ebin.mp3
{% endif %}
volume: 0.7
default:
- service: script.make_clever_announcement
data:
entity_id: media_player.announcements
media_content_id: >-
{% if is_state('input_boolean.emmett_home', 'on') %}
{% if is_state('input_boolean.bridget_home', 'on') %}
{% if is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_bridget_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home','on') %}
media-source://media_source/local/Sounds/tts/goodnight_emmett_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_emmett.mp3
{% endif %}
{% elif is_state('input_boolean.bridget_home', 'on') %}
{% if is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_bridget_ebin.mp3
{% else %}
media-source://media_source/local/Sounds/tts/goodnight_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/local/Sounds/tts/goodnight_ebin.mp3
{% endif %}
volume: 0.7
# Because of how we're calling the script, the automation won't continue until the script is done, so we don't need a delay here
#- delay: '00:00:10'
- choose:
- conditions: "{{is_state_attr('media_player.front_room_tv','source','YouTube')}}"
sequence:
- service: homeassistant.turn_off
entity_id: media_player.front_room_tv
- choose:
- conditions: "{{is_state_attr('media_player.downstairs_roku','source','YouTube')}}"
sequence:
- service: media_player.select_source
data:
source: Home
target:
entity_id: media_player.downstairs_roku
- service: homeassistant.turn_off
entity_id: switch.shelly_projector
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: Dimmed
- delay: "00:00:01"
# - service: media_player.play_media
# target:
# entity_id: media_player.front_room_hub
# data:
# media_content_id: camera-casting-yml/nursery-camera
# media_content_type: lovelace
# metadata:
# title: Nursery Camera
# thumbnail: https://brands.home-assistant.io/_/lovelace/logo.png
# media_class: app
# children_media_class: null
# navigateIds:
# - {}
# - media_content_type: lovelace
# media_content_id: ""
# - media_content_type: lovelace
# media_content_id: camera-casting-yml
- choose:
- conditions: "{{is_state('input_boolean.ebin_home','on')}}"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.nursery_wled
data:
option: "Off"
- service: input_select.select_option
target:
entity_id: input_select.nursery_mode
data:
option: "Nightlight"
- delay: "00:05:00"
- choose:
- conditions: "{{is_state('input_boolean.emmett_home','on') or is_state('input_boolean.bridget_home','on')}}"
sequence:
- service: input_button.press
data: {}
target:
entity_id: input_button.nursery_bedtime
- delay: "00:45:00"
- choose:
- conditions: "{{is_state('input_boolean.emmett_home','on') or is_state('input_boolean.bridget_home','on')}}"
sequence:
- service: media_player.turn_off
target:
entity_id: media_player.ytube_music_player
- delay: "00:00:05"
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.nursery_asleep