Send a TTS greetings to whom opened the door after arriving home

Hi,
This is not working anymore because of a service name change on home assistant. (from tts.google_say to tts.google_translate_say)

Just wanted to inform you :slight_smile:

Thanks, I’ve updated the gist. It also can be changed with configuration:

tts:
  - platform: google_translate
    service_name: google_say
2 Likes

Hello, I am trying to use the blueprint to create an automation for one person and when I try to save the automation I’m getting the following error:

Message malformed: Missing input message-multiple

Is it not possible to use this for a single person or is there something else that needs to be done for it to work with one person?

Just add any kind of message on the message multiple, it’ll never be used.

Thank you for the answer.

One more question
I noticed this morning that if I open the door, close it, and then have to go right back out I’ll get the greeting again as I’m leaving. Is there a way to prevent that from happening?

This will happen if you open the door twice after arriving and you are inside the ammount of minutes you’ve set.

What you can do is add a helper to maintain the last arriving time that have being greeted (that could be added in the “actions”. And use the “conditions” field to check if the time of arrival and the helper is not the same.
If you have many people, that would be a pain to maintain.

Thank you for the idea. I’ll have to figure it out, since I don’t do a whole lot with Home Assistant automation-wise yet. I only have two people that I’m keeping track of.

Hi!
I have set up a binary sensor called "binary_sensor.quiet_mode from the new Helpers integration. Can you help me where in the configuration I should put it in? I don’t want this automation to trigger at night.

// Mattias

You can use this iin the condition.

{{ is_state('binary_sensor.quiet_mode','off') }}

Thank you! :slight_smile:

Is there any way to set volume for the speaker before TTS announcement?

Not with this blueprint. You can create a script that change the volume and do the tts, but you wonÂŽt be able to use it with this blueprint without changing the code, something like this:

alias: Send TTS alert
sequence:
  - repeat:
      while:
        - condition: template
          value_template: '{{ repeat.index <= entity_list|length }}'
      sequence:
        - service: media_player.volume_set
          data_template:
            entity_id: '{{ entity_list[repeat.index-1] }}'
            volume_level: >
              {%- set volume_before = state_attr(entity_list[repeat.index-1],
              'volume_level') -%}  {{ volume|float }}
        - service: tts.google_say
          data:
            entity_id: '{{ entity_list[repeat.index-1] }}'
            message: '{{ message }}'
        - delay:
            hours: 0
            minutes: 0
            seconds: 0
            milliseconds: 500
        - wait_template: '{{ is_state(entity_list[repeat.index-1], ''playing'') }}'
          continue_on_timeout: true
          timeout: '0:0:2'
        - wait_template: '{{ is_state(entity_list[repeat.index-1], ''idle'') }}'
          continue_on_timeout: true
          timeout: '0:0:10'
        - service: media_player.volume_set
          data:
            entity_id: '{{ entity_list[repeat.index-1] }}'
            volume_level: '{{ volume_before|float }}'
mode: queued
fields:
  message:
    description: Message
    example: Hello World!
  turn_on_entity:
    description: MediaPlayer
    example: media_player.something
  volume:
    description: Volume
    example: '0.7'
variables:
  turn_on_entity: media_player.something
  entity_list: '{{ turn_on_entity.split('','') | map(''trim'') | list }}'
  volume_before: 0.5
  volume: 0.7
  message: Hello World!
description: Send a TTS with a specific volume and come back to previous volume
max: 10
2 Likes

I’ve got this too, but there is a very simple fix to prevent this.

In the extra-actions section add:

delay.

And set it to the value you’ve set the slider to. Fixed!

OlĂĄ sempre conseguiu adicionar para ativar com sensor de movimento?

Teste essa versĂŁo:
Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

I’m struggling to set up a condition for this blueprint. Basically, I have 3 doors and I only want the announcement to happen once. So, I have a condition that says if the automation happened in the last 5 minutes for any of the doors, then don’t run it. This is what my yaml looks like right now:

    condition: |-
      now() >=
        state_attr('automation.welcome_home_backyard',                    
        'last_triggered') |           as_local + timedelta(minutes=5) and  now()
        >=       
        state_attr('automation.tts_on_door_opening_with_persons_at_home',                    
        'last_triggered') |           as_local + timedelta(minutes=5)

What am I missing?

Hello there!

I have been playing all day trying to get this thing to work. Its working now, however, I would like to add another item to the algorithm that compiles the , but can’t figure out where.

My previous “welcome home tts” automation used a sensor populated with names using Shortcuts on my iPhone. Obviously there is no need for that anymore with your blueprint - at least for the main users on my system. What I would like to do is still use that Shortcut to populate guests (that are not users), and add their names in the cue of , before the “and” persons-concat - if not empty.

Can you offer a pointer where I may add that sensor?

I have set this, but still I get the error

Error executing script. Service not found for call_service at pos 3: Unable to find service tts.google_translate_say

You can add persons and attach a tracker to them. And you can keep unchecked the enable login.