alias: "Almost Bedtime" id: automation_almost_bedtime initial_state: on trigger: trigger: time at: entity_id: input_datetime.kids_bedtime_announcement_time offset: "-300" 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: input_boolean.turn_on target: 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: media-source://media_source/local/Sounds/tts/almost_bedtime.mp3 volume: 0.7 default: - service: script.make_clever_announcement data: entity_id: media_player.announcements media_content_id: media-source://media_source/local/Sounds/tts/almost_bedtime.mp3 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: - condition: template value_template: "{{states('switch.nursery_bed_lights') == 'off' }}" sequence: - service: input_select.select_option target: entity_id: input_select.nursery_wled data: option: Read