Home-AssistantConfig/config/automation/Speech/announcements.yaml

63 lines
1.8 KiB
YAML
Raw Permalink Normal View History

#-------------------------------------------
# People Greeting Announcement
# Description: Announces when family members arrive home
#
# Features:
# - Triggers when a person's state changes from 'not_home' to 'home'
# - Waits for specific sensors to confirm entry
# - Uses speech_engine script for personalized welcome messages
# - Includes responsibility reminders and home status checks
#
# Integration: Uses ChromeCast for audio output
# Follow me https://www.vcloudinfo.com/click-here
# More Blog Posts: https://www.vcloudinfo.com
#-------------------------------------------
2018-01-02 00:00:45 +00:00
- alias: 'People Greeting'
id: 29c5c9dd-550a-4761-a224-78cdc3dd9f43
mode: restart
2018-01-02 00:00:45 +00:00
trigger:
- platform: state
entity_id:
- person.carlo
- person.stacey
- person.paige
- person.justin
2018-01-02 00:00:45 +00:00
from: 'not_home'
to: 'home'
action:
# This Group is defined in the groups directory.
- service: group.set
data:
object_id: "arriving"
add_entities: >-
{{ trigger.to_state.entity_id }}
- wait_template: "{{ states.binary_sensor.mcu1_gpio12.state == 'on' }}"
timeout: '00:05:00'
- wait_template: "{{ states.binary_sensor.kitchen_door.state == 'on' }}"
timeout: '00:1:00'
- delay: '00:01:00'
2018-01-02 00:00:45 +00:00
- service: script.speech_engine
data:
2018-01-02 00:00:45 +00:00
personarriving: >
{% set person = expand('group.arriving')|map(attribute='name')|join(' and ') %}
{%- macro greeting_sentence(person) -%}
{{"[Welcome " + person + " home]" }}
2018-01-02 00:00:45 +00:00
{%- endmacro -%}
{{greeting_sentence(person)}}
2018-01-02 00:00:45 +00:00
call_responsibilities: 1
call_no_announcement: 1
call_garage_check: 1
call_window_check: 1
- service: group.set
data:
object_id: "arriving"
entities: []