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

280 lines
9.1 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
audible_notification_on:
name: Audible Notifications On
has_date: false
has_time: true
audible_notification_off:
name: Audible Notifications Off
has_date: false
has_time: true
################################
# Announcment Automation - fires at the time of the above input_datetimes
################################
automation:
- id: turn_off_audible_notifications
alias: Turn Off Audible Notifications
initial_state: true
trigger:
platform: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.audible_notification_off', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
action:
- service: input_boolean.turn_off
entity_id: input_boolean.audible_notifications
- id: turn_on_audible_notifications
alias: Turn On Audible Notifications at 7am
initial_state: true
trigger:
platform: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.audible_notification_on', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
action:
- service: script.turn_on_ha_speaker
- id: turn_on_ha_receiver
alias: Turn on HA Receiver
initial_state: true
trigger:
- platform: time
at: '06:45:00'
action:
- service: media_player.turn_on
data:
entity_id: media_player.tsr_6750_a3ed2f
- service: media_player.volume_set
data_template:
entity_id: media_player.tsr_6750_a3ed2f
volume_level: .80
- id: turn_off_ha_receiver
alias: Turn off HA Receiver
initial_state: true
trigger:
- platform: time
at: '23:30:00'
action:
- service: media_player.turn_off
data:
entity_id: media_player.tsr_6750_a3ed2f
- id: set_audible_time_off_guest
alias: set audible time off guest
trigger:
- platform: state
entity_id: input_boolean.guest_mode
to: 'on'
action:
- service: input_datetime.set_datetime
entity_id: input_datetime.audible_notification_off
data_template:
time: >
{% if states.binary_sensor.school_tomorrow.state == 'on' %}
19:30
{% else %}
20:30
{% endif %}
- id: set_audible_time_off_normal
alias: set audible time off normal
trigger:
- platform: state
entity_id: input_boolean.guest_mode
to: 'off'
- platform: state
entity_id: binary_sensor.school_tomorrow
action:
- service: input_datetime.set_datetime
entity_id: input_datetime.audible_notification_off
data_template:
time: >
{% if states.binary_sensor.school_tomorrow.state == 'on' %}
19:30
{% else %}
20:45
{% endif %}
- 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: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.skylar_morning_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
condition:
condition: template
value_template: '{{ states.calendar.skylar_school.attributes.offset_reached == True }}'
action:
- service: scene.turn_on
entity_id: scene.skylar_room_morning
- 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:00
{% else %}
08:00
{% endif %}