428 lines
11 KiB
YAML
428 lines
11 KiB
YAML
# Kids routines, school prep, and announcement automations.
|
||
|
||
- id: '1743380000904'
|
||
alias: Jordyn-Bedtime-Snack-Notification-Weekend
|
||
description: Triggers an Alexa notification at 8:00 PM if the Google Calendar event
|
||
is 'Girls at Home'
|
||
triggers:
|
||
- at: '20:00:00'
|
||
trigger: time
|
||
enabled: true
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- sat
|
||
- sun
|
||
- condition: state
|
||
entity_id: calendar.family_events
|
||
state: 'on'
|
||
- condition: template
|
||
value_template: '{{ state_attr(''calendar.family_events'', ''message'') == ''Girls
|
||
at Home'' }}'
|
||
actions:
|
||
- data:
|
||
message: Jordyn, time to put away screens and get a bedtime snack.
|
||
action: notify.alexa_media_living_room
|
||
mode: single
|
||
|
||
- id: '1743381226135'
|
||
alias: Jordyn-Bedtime-Snack-Notification
|
||
description: Triggers an Alexa notification at 7:30 PM if the Google Family Calendar
|
||
event is 'Girls at Home'
|
||
triggers:
|
||
- trigger: time
|
||
at: '20:00:00'
|
||
enabled: true
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- condition: state
|
||
entity_id: calendar.family_events
|
||
state: 'on'
|
||
- condition: template
|
||
value_template: '{{ state_attr(''calendar.family_events'', ''message'') == ''Girls
|
||
at Home'' }}'
|
||
actions:
|
||
- target:
|
||
entity_id: media_player.living_room
|
||
data:
|
||
media:
|
||
media_content_id: Jordyn Weekday Bedtime Routine
|
||
media_content_type: routine
|
||
metadata: {}
|
||
action: media_player.play_media
|
||
mode: single
|
||
|
||
- id: '1743385356527'
|
||
alias: Jordyn’s Light on at 7PM
|
||
description: ''
|
||
triggers:
|
||
- trigger: time
|
||
at: '19:00:00'
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
actions:
|
||
- type: turn_on
|
||
device_id: ef731a5e6e666bf4fc20cc321f596029
|
||
entity_id: 9629035816fddf7de8926e4e4c29aa34
|
||
domain: switch
|
||
mode: single
|
||
|
||
- id: '1743385432089'
|
||
alias: Jordyn’s light on weekend
|
||
description: ''
|
||
triggers:
|
||
- trigger: time
|
||
at: '19:00:00'
|
||
conditions:
|
||
- condition: and
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- fri
|
||
- sat
|
||
- sun
|
||
- condition: template
|
||
value_template: '{{ now().strftime(''%U'') | int % 2 == 1 }}'
|
||
actions:
|
||
- type: turn_on
|
||
device_id: ef731a5e6e666bf4fc20cc321f596029
|
||
entity_id: 9629035816fddf7de8926e4e4c29aa34
|
||
domain: switch
|
||
mode: single
|
||
|
||
- id: '1744560941050'
|
||
alias: Jordyn’s Lamp on at 730
|
||
description: ''
|
||
triggers:
|
||
- trigger: time
|
||
at: '19:30:00'
|
||
conditions: []
|
||
actions:
|
||
- type: turn_on
|
||
device_id: ef731a5e6e666bf4fc20cc321f596029
|
||
entity_id: 9629035816fddf7de8926e4e4c29aa34
|
||
domain: switch
|
||
mode: single
|
||
|
||
- id: '1744503044129'
|
||
alias: Set Alexa Announcement Volume
|
||
description: Set Alexa announcement volume for structured daily routine
|
||
triggers:
|
||
- at: 08:15:00
|
||
trigger: time
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
actions:
|
||
- data:
|
||
media:
|
||
media_content_id: Set kids speakers to 6
|
||
media_content_type: routine
|
||
metadata: {}
|
||
action: media_player.play_media
|
||
target:
|
||
device_id: 7c55da01c1d0e4ee7900852bb7621b1e
|
||
mode: single
|
||
|
||
- id: '1744503044809'
|
||
alias: Daily Alexa Announcements for Kids
|
||
description: Schedule of Alexa announcements for structured daily routine
|
||
trigger:
|
||
- platform: time
|
||
at: 09:00:00
|
||
- platform: time
|
||
at: '10:00:00'
|
||
- platform: time
|
||
at: '10:15:00'
|
||
- platform: time
|
||
at: '11:00:00'
|
||
- platform: time
|
||
at: '12:00:00'
|
||
- platform: time
|
||
at: '12:30:00'
|
||
- platform: time
|
||
at: '13:00:00'
|
||
- platform: time
|
||
at: '13:30:00'
|
||
- platform: time
|
||
at: '14:00:00'
|
||
- platform: time
|
||
at: '14:30:00'
|
||
- platform: time
|
||
at: '19:29:00'
|
||
condition:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
action:
|
||
- service: calendar.get_events
|
||
target:
|
||
entity_id: calendar.family_events
|
||
data:
|
||
start_date_time: '{{ today_at(''00:00'') }}'
|
||
end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||
response_variable: agenda
|
||
- condition: template
|
||
value_template: "{{ (agenda['calendar.family_events']['events'] | default([]))\n
|
||
\ | selectattr('summary', 'defined')\n | map(attribute='summary')\n | map('lower')\n
|
||
\ | select('search', 'camp')\n | list | count == 0 }}\n"
|
||
- variables:
|
||
messages:
|
||
08:00:00: Time for breakfast and a little TV!
|
||
09:00:00: Outside play time! If it’s bad weather, do your learning activities
|
||
inside.
|
||
'10:00:00': Snack time!
|
||
'10:15:00': Time for quiet play or outside fun.
|
||
'11:00:00': Creative time! Draw, color, or write something cool!
|
||
'12:00:00': Lunch time! Wash up and head to the table.
|
||
'12:30:00': Happy Helper Time! Do your chores like a champ!
|
||
'13:00:00': TV break — relax and enjoy.
|
||
'13:30:00': Time to read a book or listen to a story.
|
||
'14:00:00': Let’s move! Try a Minecraft brain break!
|
||
'14:30:00': Time to relax with mindfulness or yoga.
|
||
- service: notify.alexa_media
|
||
data:
|
||
target:
|
||
- media_player.living_room
|
||
- media_player.jordyn_s_room
|
||
- media_player.chloe_s_room
|
||
- media_player.declan_s_room
|
||
- media_player.kitchen
|
||
message: '{{ messages[now().strftime(''%H:%M:%S'')] }}'
|
||
data:
|
||
type: announce
|
||
method: all
|
||
mode: single
|
||
|
||
- id: '1744503044813'
|
||
alias: Announce day camp preparation and pause TV
|
||
triggers:
|
||
- at: 08:25:00
|
||
trigger: time
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
actions:
|
||
- service: calendar.get_events
|
||
target:
|
||
entity_id: calendar.family_events
|
||
data:
|
||
start_date_time: '{{ today_at(''00:00'') }}'
|
||
end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||
response_variable: agenda
|
||
- condition: template
|
||
value_template: "{{ (agenda['calendar.family_events']['events'] | default([]))\n
|
||
\ | selectattr('summary', 'defined')\n | map(attribute='summary')\n | map('lower')\n
|
||
\ | select('search', 'camp')\n | list | count > 0 }}\n"
|
||
- target:
|
||
entity_id: media_player.hisense_g204x_cd41
|
||
action: media_player.media_pause
|
||
data: {}
|
||
- data:
|
||
target:
|
||
- media_player.living_room
|
||
- media_player.declan_s_room
|
||
- media_player.jordyn_s_room
|
||
- media_player.kitchen
|
||
message: 'Time to prepare for day camp. Please do the following: Fill water
|
||
bottles, put on deodorant, brush teeth, and Jordyn, brush your hair.
|
||
|
||
'
|
||
action: notify.alexa_media
|
||
mode: single
|
||
|
||
- id: '1744503044814'
|
||
alias: Announce time to leave for day camp and turn off TV
|
||
triggers:
|
||
- at: 08:40:00
|
||
trigger: time
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
actions:
|
||
- service: calendar.get_events
|
||
target:
|
||
entity_id: calendar.family_events
|
||
data:
|
||
start_date_time: '{{ today_at(''00:00'') }}'
|
||
end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||
response_variable: agenda
|
||
- condition: template
|
||
value_template: "{{ (agenda['calendar.family_events']['events'] | default([]))\n
|
||
\ | selectattr('summary', 'defined')\n | map(attribute='summary')\n | map('lower')\n
|
||
\ | select('search', 'camp')\n | list | count > 0 }}\n"
|
||
- target:
|
||
entity_id: media_player.basement_show
|
||
data:
|
||
media_content_id: Turn Kids TV Off
|
||
media_content_type: routine
|
||
action: media_player.play_media
|
||
- data:
|
||
target:
|
||
- media_player.living_room
|
||
message: 'It is time to leave for day camp. Please do the following: Put on
|
||
shoes, get lunch, get water bottle, and grab your bag if needed.
|
||
|
||
'
|
||
action: notify.alexa_media
|
||
- target:
|
||
entity_id: media_player.hisense_g204x_cd41
|
||
action: media_player.turn_off
|
||
data: {}
|
||
mode: single
|
||
|
||
- id: '1744503044145'
|
||
alias: Reset Alexa Announcement Volume - Camp Days
|
||
description: Set Alexa announcement volume for structured daily routine
|
||
trigger:
|
||
- platform: time
|
||
at: 09:15:00
|
||
condition:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
action:
|
||
- service: calendar.get_events
|
||
target:
|
||
entity_id: calendar.family_events
|
||
data:
|
||
start_date_time: '{{ today_at(''00:00'') }}'
|
||
end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||
response_variable: agenda
|
||
- condition: template
|
||
value_template: "{{ (agenda['calendar.family_events']['events'] | default([]))\n
|
||
\ | selectattr('summary', 'defined')\n | map(attribute='summary')\n | map('lower')\n
|
||
\ | select('search', 'camp')\n | list | count > 0 }}\n"
|
||
- service: media_player.play_media
|
||
data:
|
||
media_content_id: Reset Alexa Volume
|
||
media_content_type: routine
|
||
target:
|
||
entity_id: media_player.basement_show
|
||
mode: single
|
||
|
||
- id: '1744503044146'
|
||
alias: Reset Alexa Announcement Volume - No Camp Days
|
||
description: Set Alexa announcement volume for structured daily routine
|
||
trigger:
|
||
- platform: time
|
||
at: '19:17:00'
|
||
condition:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
action:
|
||
- service: calendar.get_events
|
||
target:
|
||
entity_id: calendar.family_events
|
||
data:
|
||
start_date_time: '{{ today_at(''00:00'') }}'
|
||
end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||
response_variable: agenda
|
||
- condition: template
|
||
value_template: "{{ (agenda['calendar.family_events']['events'] | default([]))\n
|
||
\ | selectattr('summary', 'defined')\n | map(attribute='summary')\n | map('lower')\n
|
||
\ | select('search', 'camp')\n | list | count == 0 }}\n"
|
||
- service: media_player.play_media
|
||
data:
|
||
media_content_id: Reset Alexa Volume
|
||
media_content_type: routine
|
||
target:
|
||
entity_id: media_player.basement_show
|
||
mode: single
|
||
|
||
- id: '1756211568290'
|
||
alias: School Prep Announcement
|
||
description: ''
|
||
triggers:
|
||
- at: 08:20:00
|
||
trigger: time
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
actions:
|
||
- target:
|
||
entity_id: media_player.hisense_g204x_cd41
|
||
action: media_player.media_pause
|
||
data: {}
|
||
- data:
|
||
target:
|
||
- media_player.living_room
|
||
- media_player.declan_s_room
|
||
- media_player.jordyn_s_room
|
||
- media_player.kitchen
|
||
message: This is your reminder to pack your snack, fill your water bottles,
|
||
put on deodorant, socks, and brush your teeth. Jordyn please make sure your
|
||
hair is brushed nicely.
|
||
action: notify.alexa_media
|
||
mode: single
|
||
|
||
- id: '1756211855375'
|
||
alias: Time for School Announcement
|
||
description: ''
|
||
triggers:
|
||
- at: 08:42:00
|
||
trigger: time
|
||
conditions:
|
||
- condition: time
|
||
weekday:
|
||
- mon
|
||
- tue
|
||
- wed
|
||
- thu
|
||
- fri
|
||
actions:
|
||
- target:
|
||
entity_id: media_player.hisense_g204x_cd41
|
||
action: media_player.turn_off
|
||
data: {}
|
||
- data:
|
||
target:
|
||
- media_player.living_room
|
||
- media_player.declan_s_room
|
||
- media_player.jordyn_s_room
|
||
- media_player.kitchen
|
||
message: Time for school! Last call for water bottles, snacks, and socks. Have
|
||
a great day!!
|
||
action: notify.alexa_media
|
||
mode: single
|