185 lines
6.2 KiB
YAML
Executable File
185 lines
6.2 KiB
YAML
Executable File
###############################################################################
|
|
# @author : Jeffrey Stone
|
|
# @date : 02/19/2019
|
|
# @package : Announcements
|
|
# @description : Daily Announcements.
|
|
###############################################################################
|
|
|
|
|
|
###############################
|
|
# input_datetime - So the time report automation fires can be set in the UI
|
|
###############################
|
|
input_datetime:
|
|
morning_report:
|
|
name: Morning Report
|
|
has_date: false
|
|
has_time: true
|
|
nightly_report:
|
|
name: Nightly Report
|
|
has_date: false
|
|
has_time: true
|
|
skylar_morning_report:
|
|
name: Skylar Dressed Announcement
|
|
has_date: false
|
|
has_time: true
|
|
skylar_nightly_report:
|
|
name: Skylar Bedtime Announcement
|
|
has_date: false
|
|
has_time: true
|
|
|
|
################################
|
|
# Announcment Automation - fires at the time of the above input_datetimes
|
|
################################
|
|
automation:
|
|
- id: prebed_routine
|
|
initial_state: true
|
|
alias: Skylar Nightly Announcements
|
|
trigger:
|
|
platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.skylar_nightly_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- service: script.ah_report
|
|
data:
|
|
call_prebed_routine: 1
|
|
|
|
- id: nightly_report
|
|
initial_state: true
|
|
alias: Nightly Report
|
|
trigger:
|
|
platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.nightly_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- service: script.ah_report
|
|
data:
|
|
call_greeting: 1
|
|
call_evening_greeting: 1
|
|
call_weather_alerts: 1
|
|
call_overnight_forecast: 1
|
|
call_freeze_warning: 1
|
|
call_future_forecast: 1
|
|
call_upcoming_holidays: 1
|
|
call_upcoming_events: 1
|
|
call_reminders: 1
|
|
call_chores: 1
|
|
call_full_moon: 1
|
|
|
|
- id: good_morning_report
|
|
alias: Good Morning Report
|
|
initial_state: true
|
|
trigger:
|
|
platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.morning_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- service: script.ah_report
|
|
data:
|
|
call_greeting: 1
|
|
call_morning_greeting: 1
|
|
call_time_annc: 1
|
|
call_weather_alerts: 1
|
|
call_skylar_dressed: 1
|
|
call_school_today: 1
|
|
call_skylar_events: 1
|
|
call_todays_events: 1
|
|
call_current_conditions_outside: 1
|
|
call_clothes_suggestion: 1
|
|
call_current_conditions_inside: 1
|
|
call_daily_forecast: 1
|
|
call_upcoming_birthdays: 1
|
|
call_upcoming_events: 1
|
|
call_reminders: 1
|
|
call_chores: 1
|
|
- service: script.twitter_notify
|
|
data:
|
|
message: >-
|
|
{{ [ "I just provided a morning briefing including weather, and traffic
|
|
conditions, and other things that ensure the residents of Anchorage House know what to expect today.",
|
|
"Time for the daily update. It was like that scene in Ironman where JARVIS gives the daily briefing but no one was listening. ",
|
|
"I have prepared a safety briefing to present to my residents but they would just ignore it.",
|
|
"Do you like to be prepared for the day? So do my residents. So I provided them with an update on whats happening today.",
|
|
"Sometimes I just like to be snarky, but this morning I decided to just tell everyone what is going on in the world.",
|
|
"#Homeassistant gives me the ability to make daily announcements like the one I just did using #Amazon Polly.",
|
|
"Each day at this time I provide the residents of this house an update that includes everything they need to know about the upcoming day. But with more snark."
|
|
] | random }}
|
|
- service: switch.turn_off
|
|
entity_id: switch.0xf0d1b80000052281_switch
|
|
|
|
# - id: skylar_morning_greeting
|
|
# alias: Skylar Morning Greeting
|
|
# initial_state: true
|
|
# trigger:
|
|
# platform: template
|
|
# value_template: "{{ states('sensor.time') == (state_attr('input_datetime.skylar_morning_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
# # condition:
|
|
# # - condition: time
|
|
# # weekday:
|
|
# # - mon
|
|
# # - tue
|
|
# # - wed
|
|
# # - thu
|
|
# # - fri
|
|
# action:
|
|
# - service: script.ah_report
|
|
# data:
|
|
# call_interuption: 1
|
|
# call_skylar_dressed: 1
|
|
# call_school_today: 1
|
|
# call_skylar_events: 1
|
|
# call_clothes_suggestion: 1
|
|
# - service: switch.turn_off
|
|
# entity_id: switch.0xf0d1b80000052281_switch
|
|
|
|
- id: skylar_morning_alarm_announcement
|
|
alias: skylar morning alarm announcement
|
|
trigger:
|
|
- platform: time
|
|
at: '07:00:00'
|
|
condition:
|
|
condition: template
|
|
value_template: '{{ states.calendar.skylar_school.attributes.offset_reached == True }}'
|
|
action:
|
|
- service: notify.alexa_media_skylar_s_bedroom
|
|
data:
|
|
message: Good Morning Skylar. Time to Rise and Shine.
|
|
data:
|
|
type: tts
|
|
- delay:
|
|
seconds: 30
|
|
- service: notify.alexa_media_skylar_s_bedroom
|
|
data:
|
|
message: Good Morning Skylar. You have school today. Time to get up.
|
|
data:
|
|
type: tts
|
|
|
|
- id: set_skylar_morning_report_time
|
|
alias: set skylar morning report time
|
|
trigger:
|
|
- platform: time
|
|
at: '05:50:00'
|
|
action:
|
|
- service: input_datetime.set_datetime
|
|
entity_id: input_datetime.skylar_morning_report
|
|
data_template:
|
|
time: >
|
|
{% if states.calendar.skylar_school.attributes.offset_reached == True %}
|
|
07:00
|
|
{% else %}
|
|
07:58
|
|
{% endif %}
|
|
|
|
- id: set_morning_report_time
|
|
alias: set morning report time
|
|
trigger:
|
|
- platform: time
|
|
at: '05:50:30'
|
|
action:
|
|
- service: input_datetime.set_datetime
|
|
entity_id: input_datetime.morning_report
|
|
data_template:
|
|
time: >
|
|
{% if states.calendar.skylar_school.attributes.offset_reached == True %}
|
|
07:15
|
|
{% else %}
|
|
08:30
|
|
{% endif %}
|
|
|