Home-AssistantConfig/script/voice_notify.yaml
2017-02-10 01:48:24 +00:00

84 lines
2.4 KiB
YAML
Executable File

######################################################################################################
###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: '21:00:00'
- condition: state
entity_id: input_boolean.alert_mode
state: 'on'
- condition: state
entity_id: input_boolean.speech_notifications
state: 'on'
- condition: template
value_template: >
{% if is_state('media_player.livingroomCC', 'playing') %}
false
{% else %}
true
{% endif %}
- 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 %}
0.20
{% elif now().strftime("%H")|int < 18 %}
0.45
{% else %}
0.25
{% 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 %}
"Good morning.
{% elif now().strftime("%H")|int < 18 %}
"Good afternoon.
{% else %}
"Good evening.
{% endif %}
{{ value1 }}"
cache: true