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