261 lines
8.7 KiB
YAML
Executable File
261 lines
8.7 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
|
|
daily_report:
|
|
name: Daily 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: 81bee5ee-6820-4626-aebf-3deb8de69e4d
|
|
alias: Turn On Audible Notifications
|
|
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: input_boolean.turn_on
|
|
entity_id: input_boolean.audible_notifications
|
|
|
|
# Turn off audible notifications if they have't been turned off yet.
|
|
- id: e0e9c774-6abe-42aa-bdab-32108bebb0e9
|
|
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)) }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.audible_notifications
|
|
state: 'on'
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.audible_notifications
|
|
|
|
|
|
- id: cb0063e4-1dfe-4537-8b9e-4f64b2eba35d
|
|
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.skylar_nightly_briefing
|
|
|
|
# - id: 15056866-5ac7-4b33-a371-ab9e449548d1
|
|
# 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.nightly_briefing_report
|
|
|
|
- id: 1d8f396a-f6ec-460d-97e3-d11900418f95
|
|
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)) }}"
|
|
- platform: state
|
|
entity_id: binary_sensor.kitchen_occupancy
|
|
to: 'on'
|
|
condition:
|
|
- condition: time
|
|
after: '06:45:00'
|
|
before: '08:30:00'
|
|
- condition: state
|
|
entity_id: input_boolean.good_morning_report
|
|
state: 'off'
|
|
action:
|
|
- service: script.morning_briefing
|
|
- 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: input_boolean.turn_on
|
|
entity_id: input_boolean.good_morning_report
|
|
|
|
|
|
- id: e8580ba4-fa76-4185-818b-fba3c3cea41c
|
|
alias: Master Bedroom Report
|
|
initial_state: true
|
|
trigger:
|
|
#platform: template
|
|
#value_template: "{{ states('sensor.time') == (state_attr('input_datetime.daily_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
platform: time
|
|
at: input_datetime.daily_report
|
|
condition:
|
|
- condition: time
|
|
weekday:
|
|
- mon
|
|
- tue
|
|
- wed
|
|
- thu
|
|
- fri
|
|
- sat
|
|
action:
|
|
- service: script.morning_wakeup_report
|
|
|
|
- id: 09bf89e7-180c-40fb-9543-5bd862e21049
|
|
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: script.skylar_morning_briefing
|
|
|
|
- id: bbbafc52-eab1-44cd-ac24-4f9b7f4210b6
|
|
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 %}
|
|
06:15
|
|
{% else %}
|
|
07:15
|
|
{% 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:10
|
|
# {% else %}
|
|
# 08:00
|
|
# {% endif %}
|
|
|
|
|
|
|
|
script:
|
|
reset_annc_switches:
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.good_morning_report
|
|
|
|
security_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: '{{ states.sensor.alexa_audio.state }}'
|
|
message: !include ../templates/speech/security_report.yaml
|
|
|
|
event_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: '{{ states.sensor.alexa_audio.state }}'
|
|
message: !include ../templates/speech/event_briefing.yaml
|
|
|
|
skylar_morning_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data:
|
|
who: >
|
|
{%- if is_state('media_player.theater_tv', 'on') %}
|
|
theater
|
|
{%- elif is_state('binary_sensor.skylar_room_occupancy', 'on') %}
|
|
skylar_bedroom
|
|
{% else %}
|
|
main
|
|
{%- endif %}
|
|
message: !include ../templates/speech/skylar_morning_briefing.yaml
|
|
|
|
skylar_nightly_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: main
|
|
message: !include ../templates/speech/skylar_nightly_briefing.yaml
|
|
|
|
nightly_briefing_report:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: main
|
|
message: !include ../templates/speech/nightly_briefing.yaml
|
|
|
|
sundown_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: kitchen
|
|
message: !include ../templates/speech/sundown_briefing.yaml
|
|
|
|
morning_briefing:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: kitchen
|
|
message: !include ../templates/speech/morning_briefing.yaml
|
|
|
|
morning_wakeup_report:
|
|
sequence:
|
|
- service: script.speech_engine
|
|
data_template:
|
|
who: master_bedroom
|
|
message: !include ../templates/speech/morning_wakeup_report.yaml
|
|
|