Files
2025-12-03 23:21:30 -05:00

169 lines
5.9 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:
- action: 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:
- action: script.make_clever_announcement
data:
entity_id:
- media_player.bathroom_mini
- media_player.kitchen
- media_player.great_room
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/tts/goodnight_emmett_bridget_ebin.mp3
{% else %}
media-source://media_source/tts/goodnight_emmett_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home','on') %}
media-source://media_source/tts/goodnight_emmett_ebin.mp3
{% else %}
media-source://media_source/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/tts/goodnight_bridget_ebin.mp3
{% else %}
media-source://media_source/tts/goodnight_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/tts/goodnight_ebin.mp3
{% endif %}
volume: 0.7
default:
- action: 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/tts/goodnight_emmett_bridget_ebin.mp3
{% else %}
media-source://media_source/tts/goodnight_emmett_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home','on') %}
media-source://media_source/tts/goodnight_emmett_ebin.mp3
{% else %}
media-source://media_source/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/tts/goodnight_bridget_ebin.mp3
{% else %}
media-source://media_source/tts/goodnight_bridget.mp3
{% endif %}
{% elif is_state('input_boolean.ebin_home', 'on') %}
media-source://media_source/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:
- action: homeassistant.turn_off
entity_id: media_player.front_room_tv
- choose:
- conditions: "{{is_state_attr('media_player.downstairs_roku','source','YouTube')}}"
sequence:
- action: media_player.select_source
data:
source: Home
target:
entity_id: media_player.downstairs_roku
# - action: homeassistant.turn_off
# entity_id: switch.shelly_projector
- action: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: Dimmed
- delay: "00:00:01"
- choose:
- conditions: "{{is_state('input_boolean.ebin_home','on')}}"
sequence:
- action: input_select.select_option
target:
entity_id: input_select.girls_room_wled
data:
option: "Off"
- action: input_select.select_option
target:
entity_id: input_select.girls_room_mode
data:
option: "Nightlight"
- delay: "00:05:00"
- choose:
- conditions: "{{is_state('input_boolean.bridget_home','on')}}"
sequence:
- action: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.girls_room_asleep
- action: input_button.press
data: {}
target:
entity_id: input_button.girls_room_bedtime
- action: input_select.select_option
data:
option: Running Rainbow
target:
entity_id: input_select.girls_room_wled
- choose:
- conditions: "{{is_state('input_boolean.emmett_home','on')}}"
sequence:
- action: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.boys_room_asleep
- delay: "00:25:00"
- action: input_select.select_option
target:
entity_id: input_select.boys_room_mode
data:
option: "Nightlight"