###############################################################################
#   @author         :   Jeffrey Stone 
#   @date           :   02/19/2019
#   @package        :   Announcements
#   @description    :   Just Normal Announcements. 
###############################################################################

script:
  
  annc_storm_statement:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: input_boolean.vacation_mode
      state: 'off'
    - service: notify.ios_all
      data:
        message: Severe Storm Statement Issued for Anchorage House
  annc_tstorm_watch:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: input_boolean.vacation_mode
      state: 'off'
    - service: notify.ios_all
      data:
        message: Severe Thunderstorm Watch Issued for Anchorage House
  annc_tstorm_warning:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: input_boolean.vacation_mode
      state: 'off'
    - service: notify.ios_all
      data:
        message: Severe Thunderstorm Warning Issued for Anchorage House
  annc_tornado_watch:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: input_boolean.vacation_mode
      state: 'off'
    - service: notify.ios_all
      data:
        message: Tornado Watch Issued for Anchorage House
  annc_security_issue:
    sequence:
    - condition: state
      entity_id: group.family
      state: 'on'
    - service: tts.google_translate_say
      data:
        entity_id: media_player.hass_speaker
        message: Unauthorized Access
  annc_tornado_warning:
    sequence:
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: script.alert_notify
      data_template:
        message: "Tornado Warning has been Issued"
        greeting: "no"

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)) }}"
    condition:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    action:
    - service: script.prebed_routine
  - 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)) }}"
    condition:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    action:
    - service: script.nightly_report
  - 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)) }}"
    condition:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    action:
    - service: script.morning_report
    - service: script.twitter_notify
      data:
        message: 'I just provided a morning briefing including weather, and traffic
          conditions to the residents of Anchorage House. '
  - 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
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    action:
    - service: script.skylar_morning_greeting
  - id: play_weather_report
    alias: Play Weather Report
    initial_state: true
    trigger:
      - entity_id: input_boolean.play_weather_report
        from: 'Off'
        platform: state
        to: 'On'
    action:
    - service: script.turn_on
      entity_id: script.weather_report
    - service: script.voice_reports_off