###################################################################################################### ###Script to send notifications to the ChromeCast Audios during normal hours and only when we are home! Call like this: # action: # service: script.Voice_notify # data_template: # value1: 'Startup: Home Assistant is Up and Running!' # OR # value1: "{{ trigger.to_state.state }}" ###################################################################################################### voice_notify: sequence: - 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: time after: '09:00:00' before: '22:00:00' - condition: state entity_id: input_boolean.alert_mode state: 'on' - condition: or conditions: - condition: template value_template: > {% if is_state('media_player.livingroomCC', 'playing') %} false {% else %} true {% endif %} - 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.living_room_amp # - delay: '00:00:05' - service: media_player.turn_on entity_id: media_player.livingroomCC - service: media_player.volume_set entity_id: - media_player.livingroomCC data_template: volume_level: > {% if now().strftime("%H")|int < 12 and now().strftime("%H")|int > 6%} 0.25 {% elif now().strftime("%H")|int > 12 and now().strftime("%H")|int < 20%} 0.45 {% else %} 0.20 {% endif %} - service: mqtt.publish data_template: payload: '{{ value1 }}' topic: 'polly/lastmsg' retain: true - service: tts.amazon_polly_say entity_id: media_player.livingroomCC data_template: message: > {% if now().strftime("%H")|int < 12 and now().strftime("%H")|int > 6%} "Good morning. {% elif now().strftime("%H")|int > 12 and now().strftime("%H")|int < 17%} "Good afternoon. {% else %} "Good evening. {% endif %} {%- macro responsibilities() -%} {%if now().strftime("%a") == 'Wed' or now().strftime("%a") == 'Sun'%} Today is {{now().strftime("%A")}} and {{now().strftime("%A")}} is garbage day. {%endif%} {%if now().strftime("%a") == 'Wed'%} Both Recycling and regular Garbage goes out. Please take out all of the garbage cans tonight. {%endif%} {% if now().strftime("%j")|int % 2 != 0 %} Today is Justin's day to do the chores. {% else %} Today is Paige's day to do the chores. {%endif%} {%- endmacro -%} {% if is_state('input_boolean.responsibilities', 'on') %} {{responsibilities()}} {%endif%} {{ value1 }}" cache: true - service: input_boolean.turn_off entity_id: - input_boolean.last_message - input_boolean.alert_mode - input_boolean.responsibilities