home-assistant-configuration/config/packages/announcements.yaml

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 %}