Notificação no celular com o app do Home Assistant: passo a passo
Configure o app Companion, envie notificação para o celular com a ação notify e adicione botões e imagem, conforme a documentação oficial do Home Assistant.
Automação que ninguém vê não serve para muita coisa. O Home Assistant pode desligar a luz, fechar a cortina e ligar o ar-condicionado sozinho, mas é a notificação no celular que transforma a casa inteligente em algo que conversa com você: a porta que ficou aberta, a máquina que terminou de lavar, o sensor de vazamento que disparou enquanto você estava na rua.
Este tutorial monta isso do zero pelo app Companion, o aplicativo oficial do Home Assistant para Android e iOS. Os exemplos seguem a documentação de notificações do Companion e a documentação de automações, conferidas com o Home Assistant 2026.9.3, publicado em 18 de setembro de 2026.
O que você vai montar
Ao fim do tutorial, você terá:
- o celular registrado no Home Assistant, com a ação de notificação disponível;
- uma notificação de teste disparada à mão;
- uma automação real: aviso de que a máquina de lavar terminou, a partir do consumo de energia;
- notificação com título, tag e atalho para abrir o painel;
- notificação com botões que executam ações na casa;
- notificação com imagem anexada.
O que você precisa
- Home Assistant funcionando. Se ainda não tem, comece por Home Assistant no Raspberry Pi: a instalação do zero.
- O app Companion instalado no celular, pela loja do Android ou do iPhone.
- Um sensor que dispare a automação. No exemplo da máquina de lavar, é uma tomada com medição de consumo integrada ao Home Assistant.
- Acesso remoto, só se for mandar imagem. Explicamos adiante por quê, e como configurar em acesso remoto ao Home Assistant sem abrir porta.

A tomada do exemplo é a EKAZA de 16 A com medidor de consumo. A medição é o que importa aqui: a máquina de lavar puxa potência enquanto trabalha e cai para quase zero quando termina, e é essa queda que a automação detecta. Uma ressalva honesta: o sensor de potência só aparece no Home Assistant se a integração usada expuser essa medição. Antes de montar a automação, confira se a entidade de potência existe no seu Home Assistant.
Ver na AmazonPasso 1 — Registrar o celular com o app Companion
Instale o app Companion, abra, e ele procura o Home Assistant na rede local. Entre com o seu usuário. Durante a configuração, o app pede algumas permissões. Aceite a de notificações: segundo a documentação, é ela que faz o celular aparecer como destino da ação de notificação.
Com isso, o Home Assistant cria uma ação com o formato:
notify.mobile_app_<id_do_aparelho>
O ID é, por padrão, o nome do celular, com espaços e caracteres especiais trocados por sublinhado. Um aparelho chamado “Galaxy de Ana” vira algo como notify.mobile_app_galaxy_de_ana.
Para conferir o nome exato, abra Ferramentas de desenvolvedor, aba Ações, e digite notify.mobile_app na busca. Aparecem todos os aparelhos registrados. Anote o seu: ele vai em todos os exemplos a seguir.
Passo 2 — A primeira notificação, à mão
Ainda em Ferramentas de desenvolvedor > Ações, escolha a sua ação notify.mobile_app_..., mude para o modo YAML e cole:
action: notify.mobile_app_galaxy_de_ana
data:
message: "Teste do Home Assistant"
Clique em executar. A notificação deve chegar em segundos.
A documentação é clara sobre o mínimo: a chave message é obrigatória. Todo o resto é opcional.
Se não chegou, pule para a seção de problemas no fim do texto antes de seguir. Não adianta montar automação em cima de uma notificação que não funciona no teste manual.
Passo 3 — Aviso de que a máquina de lavar terminou
É o exemplo clássico, e ensina a lógica que serve para quase tudo. A máquina de lavar consome bastante energia enquanto lava e centrifuga, e quase nada quando termina. Mas há pausas no meio do ciclo, como o molho, em que o consumo também cai. Por isso a automação não dispara na primeira queda: ela espera o consumo ficar baixo por alguns minutos seguidos.
Crie uma automação nova, mude para YAML (menu de três pontos > Editar em YAML) e use esta estrutura, trocando a entidade da tomada e o nome do celular:
alias: "Máquina de lavar terminou"
description: "Avisa quando o consumo fica baixo por 3 minutos"
triggers:
- trigger: numeric_state
entity_id: sensor.tomada_lavadora_potencia
below: 5
for: "00:03:00"
conditions: []
actions:
- action: notify.mobile_app_galaxy_de_ana
data:
title: "Lavanderia"
message: "A máquina de lavar terminou o ciclo."
mode: single
Três pontos para ajustar à sua máquina:
below: 5é o limite em watts abaixo do qual a máquina é considerada parada. Olhe o histórico do sensor durante uma lavagem inteira: o valor de repouso depois do fim do ciclo é a referência. Máquinas com painel digital costumam ficar alguns watts acima de zero mesmo paradas.for: "00:03:00"é o tempo que o consumo precisa ficar baixo. Se a notificação chegar no meio do ciclo, aumente esse tempo.sensor.tomada_lavadora_potenciaé um nome de exemplo. Use o nome real da entidade de potência da sua tomada.
Um detalhe sobre a sintaxe: desde a versão 2024.10, as automações usam triggers: com - trigger:, e actions: com - action:. Alguns exemplos da documentação do Companion ainda aparecem com a forma antiga (trigger: e platform:), que continua funcionando. Aqui usamos a forma nova, que é a que o editor visual gera hoje.
Passo 4 — Título, tag e atalho para o painel
Três opções da documentação mudam muito o uso no dia a dia.
Substituir em vez de acumular (tag). Toda notificação enviada com a mesma tag toma o lugar da anterior. Útil para aviso que se repete, como a porta aberta:
action: notify.mobile_app_galaxy_de_ana
data:
title: "Porta da frente"
message: "A porta está aberta há 10 minutos."
data:
tag: "porta-frente-aberta"
E para apagar a notificação quando a porta fechar, a documentação indica enviar clear_notification com a mesma tag:
action: notify.mobile_app_galaxy_de_ana
data:
message: "clear_notification"
data:
tag: "porta-frente-aberta"
Agrupar (group). Junta visualmente notificações do mesmo assunto na tela do celular, como todos os avisos de segurança.
Abrir o painel certo ao tocar. A documentação usa duas chaves diferentes, uma para cada sistema: url no iOS e clickAction no Android. Se a casa tem os dois, envie as duas:
action: notify.mobile_app_galaxy_de_ana
data:
title: "Movimento no quintal"
message: "Toque para ver as câmeras."
data:
url: "/lovelace/cameras"
clickAction: "/lovelace/cameras"
O caminho /lovelace/cameras abre a visão cameras do painel padrão. Troque pelo caminho da sua visão.
Passo 5 — Notificação com botões
É o recurso que mais surpreende: a notificação chega com botões, e tocar num deles executa uma ação na casa. A documentação chama de actionable notifications.
O funcionamento tem duas partes. A notificação carrega uma lista de actions, cada uma com um identificador e um título. Quando você toca num botão, o app dispara no Home Assistant um evento chamado mobile_app_notification_action, com o identificador do botão. Uma automação escuta esse evento e faz o resto.
Limite importante: segundo a documentação, o Android aceita três botões por notificação. O iOS aceita cerca de dez.
O exemplo abaixo segue a estrutura recomendada pela documentação: gera identificadores únicos para cada execução, envia a notificação e espera a resposta. Aqui, a pergunta é se a luz da garagem deve ser desligada:
alias: "Luz da garagem esquecida"
triggers:
- trigger: state
entity_id: light.garagem
to: "on"
for: "00:30:00"
actions:
- variables:
acao_desligar: "{{ 'DESLIGAR_' ~ context.id }}"
acao_manter: "{{ 'MANTER_' ~ context.id }}"
- action: notify.mobile_app_galaxy_de_ana
data:
message: "A luz da garagem está acesa há 30 minutos."
data:
actions:
- action: "{{ acao_desligar }}"
title: "Desligar"
- action: "{{ acao_manter }}"
title: "Manter acesa"
- wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ acao_desligar }}"
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ acao_manter }}"
timeout: "01:00:00"
continue_on_timeout: false
- if:
- condition: template
value_template: "{{ wait.trigger.event.data.action == acao_desligar }}"
then:
- action: light.turn_off
target:
entity_id: light.garagem
mode: single
Por que o context.id no identificador: a documentação alerta que as ações de notificação são compartilhadas entre todas as notificações. Se duas automações usarem o mesmo identificador fixo, como DESLIGAR, o toque num botão pode disparar a automação errada. Amarrar o identificador à execução evita isso.
O timeout de uma hora é um acréscimo nosso ao exemplo da documentação. Sem ele, a automação fica esperando indefinidamente, e, no modo single, uma nova notificação não é enviada enquanto a anterior não for respondida. A própria documentação chama atenção para esse comportamento de bloqueio.
Passo 6 — Notificação com imagem
A notificação pode levar uma imagem, um vídeo ou um áudio, baixado pelo celular quando ela chega. É o que permite receber a foto da câmera junto do aviso de movimento.
A documentação traz um aviso que responde à dúvida mais comum sobre esse recurso: o anexo precisa ser acessível pela internet. O celular baixa o arquivo no momento em que a notificação chega. Se você está fora de casa e o Home Assistant não tem acesso remoto, a notificação chega sem a imagem. Por isso o acesso remoto é pré-requisito deste passo.
O caminho recomendado pela documentação é a integração media_source, porque o acesso exige autenticação e o arquivo não fica público. Um arquivo salvo em /media/foto.jpg no disco é referenciado como /media/local/foto.jpg na notificação:
action: notify.mobile_app_galaxy_de_ana
data:
message: "Movimento na porta da frente."
data:
image: "/media/local/porta_frente.jpg"
Para gerar essa imagem a partir de uma câmera, a documentação indica a ação camera.snapshot, que salva um quadro da câmera num arquivo. Um exemplo de sequência dentro de uma automação:
actions:
- action: camera.snapshot
target:
entity_id: camera.porta_frente
data:
filename: "/media/porta_frente.jpg"
- action: notify.mobile_app_galaxy_de_ana
data:
message: "Movimento na porta da frente."
data:
image: "/media/local/porta_frente.jpg"
Pela página da ação camera.snapshot, o arquivo precisa ser gravado numa pasta que o Home Assistant tem permissão de escrever. A pasta www da configuração e as pastas de mídia configuradas já vêm liberadas, por isso /media/... funciona sem ajuste. Para gravar em outro lugar, a pasta precisa entrar em allowlist_external_dirs.
No Android, a documentação cita ainda um atalho: usar /api/camera_proxy/camera.nome_da_camera direto no campo image, sem salvar arquivo. Se ainda não tem câmera integrada, veja como adicionar uma câmera Wi-Fi ao Home Assistant por RTSP.
Limites de tamanho pela documentação: imagem até 10 MB (JPEG, GIF ou PNG), vídeo até 50 MB e áudio até 5 MB.
Passo 7 — Notificação crítica: a que toca no silencioso
Existe uma categoria de aviso que não pode esperar você olhar o celular: vazamento de água, fumaça, alarme. A documentação do Companion chama isso de notificação crítica, e o comportamento muda entre iOS e Android.
No iPhone, a notificação crítica aparece no topo da tela de bloqueio e toca mesmo com o Não Perturbe ativo ou o celular no silencioso, segundo a documentação. A configuração vai dentro de push:
action: notify.mobile_app_iphone_do_joao
data:
title: "Vazamento na lavanderia"
message: "O sensor detectou água no chão."
data:
push:
sound:
name: "default"
critical: 1
volume: 1.0
A documentação também aceita a forma curta interruption-level: critical, dentro de push.
No Android, a documentação explica que, com o celular parado ou com a tela apagada há muito tempo, a notificação comum pode só tocar quando a tela acende. Para forçar a entrega imediata, use ttl: 0 e priority: high. E para tocar mesmo no modo vibrar ou silencioso, direcione o som para o canal de alarme:
action: notify.mobile_app_galaxy_de_ana
data:
title: "Vazamento na lavanderia"
message: "O sensor detectou água no chão."
data:
ttl: 0
priority: high
channel: alarm_stream
Há ainda uma variante que fala a mensagem em voz alta pelo canal de alarme, com message: TTS, media_stream: alarm_stream e o texto em tts_text. A documentação traz também a opção alarm_stream_max, que toca no volume máximo e depois volta o volume ao nível anterior.
Use com parcimônia. Notificação crítica que dispara por qualquer coisa vira ruído, e o próximo alarme de verdade corre o risco de ser ignorado. Reserve para o que realmente exige ação imediata. Se ainda não tem um sensor de vazamento, mostramos como montar um em sensor de vazamento de água com ESP32 e Home Assistant.
Cinco notificações que valem a pena montar
Depois de dominar a estrutura, estas são as automações de notificação que mais costumam fazer diferença no dia a dia. Todas usam o mesmo esqueleto dos passos anteriores; muda só o gatilho.
| Aviso | Gatilho | Tipo sugerido |
|---|---|---|
| Porta ou portão aberto há muito tempo | estado on do sensor de abertura por 10 minutos | comum, com tag para apagar ao fechar |
| Vazamento de água | sensor de vazamento em on | crítica |
| Máquina de lavar terminou | potência abaixo do limite por alguns minutos (passo 3) | comum |
| Bateria fraca em sensor | nível de bateria abaixo de 20% | comum, uma vez por dia |
| Freezer esquentando | temperatura acima do limite por 15 minutos | comum ou crítica, conforme o que está guardado |
Para a porta, a lógica de tag do passo 4 resolve bem: a notificação avisa que a porta está aberta, e uma segunda automação envia clear_notification quando ela fecha, para o aviso sumir sozinho. Para bateria fraca, vale uma condição de horário, para o aviso chegar num momento em que dá para trocar a pilha, e não às três da manhã.
Enviar para vários celulares
Para avisar a casa toda, a documentação indica criar um grupo de notificação no configuration.yaml, listando os aparelhos:
notify:
- name: casa_toda
platform: group
services:
- action: mobile_app_galaxy_de_ana
- action: mobile_app_iphone_do_joao
Depois de reiniciar o Home Assistant, a ação notify.casa_toda envia para todos de uma vez. Repare que aqui os nomes aparecem sem o prefixo notify., como no exemplo oficial.
Quando a notificação não chega
| Sintoma | O que verificar |
|---|---|
| Nenhuma notificação, nem no teste manual | Permissão de notificação do app no celular; se o nome da ação está certo em Ferramentas de desenvolvedor |
| Chega só quando abre o app (Android) | Otimização de bateria: libere o app Companion para rodar em segundo plano |
| Chega no iPhone, mas sem som | Modo Foco ou Não Perturbe ativo |
| Chega sem imagem fora de casa | Acesso remoto: o anexo precisa ser acessível pela internet |
| Botão aparece, mas nada acontece | Se a automação que escuta o evento está ativa; o identificador do botão bate com o do wait_for_trigger |
| Máquina de lavar avisa no meio do ciclo | Aumente o tempo em for ou ajuste o limite em below |
A ferramenta mais útil para depurar é o rastreamento da automação (menu de três pontos > Rastreamentos). Ele mostra se o gatilho disparou, se a condição passou e o que cada ação devolveu. Na maioria dos casos, o erro aparece ali em segundos.
Quer ir além?
Se você está montando a casa inteligente do zero e quer um caminho estruturado, com instalação, integrações, painel e automações, o curso Casa Inteligente com Home Assistant, Alexa e Mapa 3D cobre esse percurso.
Conhecer o cursoResumo dos produtos avaliados
EKAZA
EKAZA Tomada Inteligente 16A Wi-Fi com medidor de consumo
Confira o preço atualizado na loja
Pontos positivos
- Mede o consumo em tempo real, a base do aviso de fim de ciclo
- 16 A: aguenta máquina de lavar e secadora de uso doméstico
- 6,6 mil avaliações na Amazon
Pontos negativos
- Depende de a integração expor o sensor de potência ao Home Assistant
- Wi-Fi e nuvem do fabricante, sem controle local por padrão