- Anúncios de casa inteligente em alto-falantes Google Home com Home Assistant
- O que é um script no Home Assistant?
- Meu problema e a ideia por trás do script
- Estrutura do script
- Exemplo: anúncio TTS em alto-falantes Google Home
- Exemplo: anúncio TTS com imagem em telas Google Nest Hub
- Uso no dia a dia
- Vantagens do script
- FAQ
- Glossário
Anúncios de casa inteligente em alto-falantes Google Home com Home Assistant
Há muito tempo eu queria usar meus alto-falantes Google Home no Smart Home não só para música ou temporizadores, mas também para anúncios automáticos. Se o cozedor de ovos terminou, o dia de coleta de lixo chegou ou alguém toca a campainha – um breve anúncio de voz no momento certo pode tornar a vida diária muito mais fácil.
Com o Home Assistant, isso pode ser implementado excelentemente através do serviço integrado de Text-to-Speech (TTS). Depois de uma saída de voz, o alto-falante fica preso no modo de reprodução e exibe permanentemente o ícone TTS ou a última imagem reproduzida. Apenas depois de algum tempo ou manualmente a tela padrão – por exemplo, o tempo – é exibido novamente.
Isso me incomodou, então desenvolvi dois scripts personalizados do Home Assistant que resolvem o problema de uma vez por todas.
O que é um script no Home Assistant?
Em Home Assistant, automações e processos podem ser controlados não só com gatilhos e condições, mas também como Scripts Loja. Os scripts são sequências de ação predefinidas que podem ser iniciadas manualmente ou chamadas de outras automações. Isso permite que tarefas recorrentes, como anúncios ou controles de iluminação, sejam gerenciadas centralmente e facilmente adaptadas.
Meu problema e a ideia por trás do script
Uso cerca de 15 dispositivos do Google Home em casa, incluindo vários displays do Google Nest Hub e Google Home Minis, espalhados pelo meu apartamento e apartamento dos meus pais (todos em uma mesma rede e no mesmo prédio).
Nas minhas automações, por exemplo, para lembretes, o cozedor de ovos ou avisos de porta, sempre tive dois problemas:
- A reprodução da mídia permaneceria ativa depois que a mensagem TTS terminasse.
- Tive que criar várias ações de “parada de mídia” para cada alto-falante.
Isso rapidamente se tornou confuso. Portanto, eu criei dois scripts universais que combinam todas as funções desejadas em um único fluxo:
- Script “Anúncio – TTS”
Reproduz uma mensagem de Text-to-Speech em alto-falantes selecionados do Google e automaticamente interrompe a reprodução em seguida. - Script “Anúncio – Mídia”
Além disso, exibe uma imagem — por exemplo, um símbolo de aviso ou o ícone da lixeira a ser coletada (verde, amarelo ou preto) — e então para a reprodução também.
Estrutura do script
Ambos os scripts são modulares e usam variáveis que podem ser personalizadas quando executadas:
- Varmessage: A mensagem a ser dita
- Varspeaker: lista de alto-falantes do Google Home
- Varrepeat: Número de repetições
- Vardelay: atraso entre anúncios
- Varimage (opcional): Arquivo de imagem para exibir em telas Nest Hub
Isso permite que o mesmo script seja usado em muitas automações – por exemplo, para lembretes de calendário, notificações de dispositivos ou alertas de segurança.
Exemplo: anúncio TTS em alto-falantes Google Home
sequence:
- sequence:
- repeat:
count: "{{varrepeat}}"
sequence:
- repeat:
for_each: "{{ varspeaker }}"
sequence:
- action: tts.speak
metadata: {}
data:
cache: true
message: "{{varmessage}}"
media_player_entity_id: "{{ repeat.item }}"
target:
entity_id: tts.google_translate_de_de
- delay: "{{ vardelay }}"
- repeat:
for_each: "{{ varspeaker }}"
sequence:
- action: media_player.media_stop
metadata: {}
data: {}
target:
entity_id: "{{ repeat.item }}"
alias: Durchsage - TTS
description: ""
fields:
varmessage:
selector:
text: null
name: varMessage
description: Nachricht für die Sprachausgabe
varspeaker:
selector:
entity:
multiple: true
name: varSpeaker
description: Lautsprecher für Sprach und Bild ausgabe
required: true
default:
- media_player.eg_wohnzimmer
varrepeat:
selector:
number:
min: 1
max: 100
name: varRepeat
default: 3
required: true
vardelay:
selector:
duration: {}
name: varDelay
default:
hours: 0
minutes: 1
seconds: 0
description: Wartezeit zwischen Druchsagen, Standard 1min
O script reproduz o texto em todos os alto-falantes especificados e então automaticamente pára a reprodução. Como resultado, os dispositivos mudam imediatamente para o modo inativo.
Exemplo: anúncio TTS com imagem em telas Google Nest Hub
O segundo script expande a funcionalidade exibindo uma imagem em suas telas Nest Hub – perfeito para alertas visuais ou lembretes.

sequence:
- sequence:
- alias: TTS
if:
- condition: template
value_template: "{{ varmessage != '' }}"
then:
- repeat:
for_each: "{{ varspeaker }}"
sequence:
- action: tts.speak
metadata: {}
data:
cache: true
message: "{{varmessage}}"
media_player_entity_id: "{{ repeat.item }}"
target:
entity_id: tts.google_translate_de_de
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- alias: Bild
repeat:
for_each: "{{ varspeaker }}"
sequence:
- target:
entity_id: "{{ repeat.item }}"
data:
media:
media_content_id: >-
media-source://media_source/local/Media/Nachrichten/{{varimage}}
media_content_type: image/jpeg
metadata:
title: "{{varimage}}"
thumbnail: null
media_class: image
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- media_content_type: ""
media_content_id: media-source://media_source/local/Media
- media_content_type: ""
media_content_id: media-source://media_source/local/Media/Nachrichten
action: media_player.play_media
- delay:
hours: 0
minutes: 1
seconds: 0
milliseconds: 0
- alias: Media Player - Stop
repeat:
for_each: "{{ varspeaker }}"
sequence:
- action: media_player.media_stop
metadata: {}
data: {}
target:
entity_id: "{{ repeat.item }}"
alias: Durchsage - Medien
description: ""
fields:
varmessage:
selector:
text: null
name: varMessage
description: Nachricht für die Sprachausgabe
varspeaker:
selector:
entity:
multiple: true
name: varSpeaker
description: Lautsprecher für Sprach und Bild ausgabe
required: true
default:
- media_player.eg_wohnzimmer
varimage:
selector:
text: {}
name: varImage
description: Pfad zum Bild
required: true
default: Achtung.jpg
vardelay:
selector:
duration: {}
name: vardelay
description: Anzeigedauer des Bildes
default:
hours: 0
minutes: 1
seconds: 0
Uso no dia a dia
Eu uso esses scripts para uma ampla gama de automações, como:
- Lembretes de coleta de lixo ou compromissos.
- Mensagens de status no início ou no final da cozedor de ovos (automação com tomada inteligente Tasmota) (*)
- Avisos quando portas, garagem ou janelas ainda estiverem abertas à noite ()Sensor de contato da janela com bateria AAA para facilitar a instalação) (*)
- Anúncios para visitantes ou chamadas (Google Home Mini, Google Nest Hub)
- Anúncios automáticos para eventos em Home Assistant
Os scripts são flexíveis o suficiente para serem usados em quase qualquer automação. As mudanças só precisam ser feitas uma vez no script – não mais em cada automação.
Vantagens do script
- Anúncios de TTS centralizados em vários alto-falantes.
- Interrompe automaticamente a reprodução após o anúncio.
- Visualização opcional de imagens nas telas do Google Nest Hub
- Repetição configurável de anúncios várias vezes.
- Personalização simples por variáveis.
- Configuração limpa, reutilizável e escalável.
FAQ
Posso também usar outros idiomas?
Sim, você pode ajustar o serviço TTS na ação, por exemplo, tts.google_translate_en_us Para inglês.
Funciona com Alexa ou Sonos?
Sim, com pequenas modificações – você só precisa mudar o serviço TTS e os nomes das entidades.
As imagens precisam ser armazenadas localmente?
Não, você também pode usar URLs de imagens externas ou arquivos de sua pasta de mídia.
O que acontece se um alto-falante estiver desligado?
Home Assistant automaticamente pula essa entidade e continua com os outros.
Glossário
Assistente: Plataforma para automatizar dispositivos e rotinas.
TTS: Converte texto em áudio falado.
Entidade de reprodutor de mídia: Um dispositivo de reprodução em Home Assistant, como um alto-falante ou tela.
Automação: Um conjunto de ações desencadeadas por eventos ou condições.
YAML: Uma linguagem de configuração estruturada usada para scripts e automações.
(*) Links de Afiliados
Este artigo foi traduzido com a ajuda de IA.

