Files
fresh-home/automations/people/goodnight_kids.yaml
T
CeeWeasel d60b56b37a Refactor camera cards to use advanced-camera-card format
- Updated garage-card.yaml to use vertical-stack and advanced-camera-card structure.
- Refactored indoor-camera-cycler.yaml to include multiple cameras in advanced-camera-card format.
- Modified kitchen-card.yaml to align with new advanced-camera-card structure.
- Consolidated master-bedroom-card.yaml to include both left and right cameras in a single advanced-camera-card.
- Removed deprecated master-bedroom-left-card.yaml and master-bedroom-right-card.yaml files.
- Updated nursery-card.yaml to follow the new advanced-camera-card format.
- Refactored outdoor-camera-cycler.yaml to utilize advanced-camera-card for multiple outdoor cameras.
- Cleaned up view-ha-floorplan.yaml by removing commented-out code.
- Updated view-overview.yaml to remove unused plant entities.
- Corrected media source paths in wake_up_the_master_bedroom.yaml and take_meds.yaml scripts.
- Added new ESPHome configurations for bed presence sensors.
- Updated full-sized floorplan SVG with new IDs for bed presence sensors.
2025-07-28 20:52:16 -04:00

176 lines
6.3 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.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:
- 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/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:
- 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: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.nursery_asleep
- delay: "00:00:05"
- service: media_player.turn_off
target:
entity_id: media_player.ytube_music_player