######################################################################################################
###Script to actually send notifications to the ChromeCast Audios during normal hours and only when we are home! Call like this:
  # action:
    # service: script.speech_engine
    # media_player:
    # speech_message:
# # @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
######################################################################################################

speech_processing:
  sequence:
    - service: mqtt.publish
      data_template:
        topic: 'polly/lastmsg'
        payload: "This message is from {{ now().strftime('%-I') }}:{{ now().strftime('%M') }} {{ now().strftime('%p') }}. {{ speech_message | truncate(220)}}"
        retain: true

    - condition: and
      conditions:
        - condition: or
          conditions:
            - condition: state
              entity_id: group.family
              state: 'home'
            - condition: state
              entity_id: input_boolean.guest_mode
              state: 'on'
        - condition: or
          conditions:
            - condition: and
              conditions:
                - condition: state
                  entity_id: group.bed
                  state: 'off'
                - condition: time
                  after: '08:00:00'
                  before: '20:00:00'
            - condition: state
              entity_id: input_boolean.alert_mode
              state: 'on'
        - condition: state
          entity_id: input_boolean.speech_notifications
          state: 'on'

    - service: switch.turn_on
      entity_id: switch.lr_amp

    - service: media_player.volume_set
      data_template:
        entity_id: >
          {{ media_player }}
        volume_level: >-
          {% if now().strftime('%H')|int < 12 and now().strftime('%H')|int > 6 %}
            0.3
          {% elif now().strftime('%H')|int > 12 and now().strftime('%H')|int < 20 %}
            0.5
          {% else %}
            0.3
          {% endif %}

    # - service: notify.alexa_media
    #   data_template:
    #     data:
    #       type: tts
    #     target: >
    #       {% if states.group.bed.state == 'off' %}
    #       media_player.office
    #       {% else %}
    #       media_player.master_bathroom
    #       {% endif %}
    #     message: >-
    #         {{ speech_message }}

    - service: tts.amazon_polly_say
      data_template:
        entity_id: media_player.livingroomCC
        message: >-
          <speak>
          <amazon:auto-breaths>
            {{ speech_message }}
          </amazon:auto-breaths>
          </speak>
        cache: true

    - service: input_boolean.turn_off
      data:
        entity_id:
          - input_boolean.alert_mode
          - input_boolean.lastmsg