Notificações do seu Smartphone no Node-red em automações! Ouça nas assistentes quando houver notificações no Smartphone!

Não sei ficaram sabendo mas nas últimas atualizações do aplicativo do Home Assistant para smartphones foi adicionado o suporte a sensores do smartphone! Cada fabricante libera o acesso a um número diferente de sensores, então varia de aparelho e fabricante.

O intuito desse tutorial é demonstrar como utilizar o sensor de notificações do seu smartphone para quando ocorrer alguma notificação seus dispositivos Echo ou Google Home enviarem uma mensagem de voz te avisando que houve notificação de um aplicativo em específico.

Habilite os sensores do seu smartphone seguindo esse tutorial aqui:

Vamos utilizar o sensor last_notification!

Para o sensor last_notification aparecer no Home Asssistant é necessário habilita-lo e ligar o “Disable Allow List Requeriment”.


Para esse tutorial é pré-requisito outros dois tutoriais, um explicando o que é o Payload e outro explicando como descobrir todas as informações do Payload. Neles existem informações que irão ajudar no entendimento desse tutorial.

Já conhecendo o que é o Payload e como achar todas as informações dele vamos ao tutorial.
Para começar esse tutorial vou precisar dos nodes:

1x events:state
1x debug

Vamos montar o fluxo:

O node events:state vamos configurar da seguinte forma, em Entity ID iremos colocar o sensor last notification do seu smartphone, no caso o meu smartphone é um OnePlus 5 por isso o nome no sensor. No sensor de vocês irá aparecer o modelo do smartphone e depois o sensor dele.

O node debug vamos configurar colocando “complete msg object”.

Não esqueça de clicar em Debug messages embaixo do deploy para aparecerem as informações do node debug. Quando houver notificações no seu smartphone irão aparecer os Payload que o Home Assistant recebe com elas.

Escolhi um Payload de uma mensagem do whatsapp e olhando as informações em “package” temos descrito o nome do aplicativo que enviou aquela notificação e o payload para o Home Assistant.

8

É essa informação que queremos para filtrar e separar no node-red cada notificação de cada aplicativo diferente. Então vamos copiar o caminho clicando em Copy path.

9

Já temos o caminho e o nome que o aplicativo do whatsapp aparece no payload. Cada aplicativo envia um nome diferente, não é padronizado, isso você deverá pegar em um payload de cada aplicativo. Agora vamos usar essas informações para filtrar as notificações. Para isso vamos precisar de um node switch.
Copie e cole o node events:state com o sensor de notificação do seu smartphone e link no node switch.

Vamos configurar o node switch dessa forma, em Property vamos colocar o caminho até o whatsapp que pegamos do Payload e embaixo o nome que o payload nos mostrou do whatsapp.

Para cada aplicativo que queremos ser notificados pela Echo ou o Google Home vamos colocar embaixo. Para criar uma opção nova de fluxo é só clicar em Add.

Com todos os aplicativos que queremos ser notificados já preparados só falta configurar o node de notificação a Alexa ou ao Google Home, isso vai da sua escolha.

Para configurar o TTS (text to speech) da Alexa (escrever um texto e a Alexa falar):

Eu configurei o meu dessa forma:

Você pode colocar condições para não ser avisado dentro de uma faixa de horários com o node time range:

Pode colocar uma condição para que as assistentes só te avise quando estiver em casa usando o Life360 ou outro tracker.

Tutorial para instalar o Life360:

Ou também pode filtrar as notificações do whatsapp por amigos ou familiares.

Para filtrar por pessoas, precisa usar um node switch e configurar dessa forma:
O titulo da notificação seria o nome da pessoa que está no seu contato do whatsapp.

18

Copia o caminho clicando em Copy path e configurando assim o switch.

No caso do node switch ficaria no fluxo de cima a mensagem de voz que a pessoa mandou a notificação e no fluxo de baixo que foi qualquer outra pessoa. Com isso você pode ir filtrando mais e mais o payload para deixar do jeito que preferir.

Bom, espero que tenha ajudado.
Um abraço!

8 Likes

Acredito que pra Android seja mais facil que pra IOS, aqui a quantidade de sensores ficou limitada e a versão atual do App. deu uma mudada em relaçao ao tutorial.

Mas achei Top demais ter uma Automação neste nivel…

1 Like

Sim sim, pra IOS é bem diferente, a Apple é bem chata em liberar as funções do IOS. O app é diferente tbm, são equipes diferentes que fazem os app pra Android e IOS, pra Android ainda é a mesma interface que usei no tutorial, só que agora tenho + sensores liberados!

1 Like

No iOS, não tem este sensor que você usou. Estou limitado!

1 Like

Verificou no app se realmente não tem ele? As vezes tem que habilitar no app!

Realmente não tem, conforme imagem abaixo:

1 Like

Acho que muita coisa mudou desde a ultima atualização deste tutorial.
Eu tenho um Pocophone F1 e no debug não aparece “package”.

1 Like

Não mudou nada desde a ultima atualização deste tutorial. Aqui continuo recebendo as notificações, verifique no seu telefone qual o caminho ele ta reportando!

No meu Pocophone F1 só são criados 2 sensores que eu testei e estão ligados com notificações. São eles:
“sensor.pocophone_f1_active_notification_count”
“sensor.pocophone_f1_last_notification”
Eu debuguei mas não aparece a propriedade “package” como demonstrado no tutorial.

1 Like

É no last notification, coloca print aqui de como ele ta reportando? Vc colocou no complete no debug?

1 Like

Obrigado. Eu reiniciei o celular e deixei o Home Assistant App aberto em segundo plano. Agora as notificações estão vindo normalmente. Show!

1 Like

O aplicativo do Home Assistant mudou, agora é obrigatório ligar sensor por sensor do seu smartphone!
Para o sensor last_notification aparecer é necessário habilitar e ligar o “Disable Allow List Requeriment” porque agora você pode criar uma lista de aplicativos permitidos do seu smartphone que o Home Assistant irá receber as notificações.


Legal!

eu fazia isso de forma manual vou migrar! usava macrodroid+endpoint do nodered

1 Like

Opa. Feliz 2022 para todos.
Retornando agora após as festividades de final de ano e reparei que não tenho mais recebido as notificações.
Onde fica esta configuração de “Sensores” ?

Aqui mostro:

Beleza @LeandroIssa consegui.
Ficou um pouco mais complicadinho agora, né? Criar a lista pelo app…poderia ser pelo Desktop.
Vou testar aqui pra ver se está ok.

1 Like

@LeandroIssa estou quebrando a cabeça aqui para pegar o payload da mensagem (ex. whatsapp e telegram) e literalmente a Alexa ler o que vem escrito. Já tentei usar um nó de switch com o atributo “android.text” e capturar o payload mas não funcionou ainda. Da certo isso? Estou fazendo isso para a Echo Show do quarto da minha mãe pois ela tem dificuldade de leitura.

image

image

image

image

@IceDragon acho que a mensagem não vem via payload, eu so via a mensagem quando eu usava outra alternativa que era o macrodroid enviando para um endpoint no nodered.

O problema é que o whatsapp acumula as mensagens e ao invés de aparecer a mensagem na notificação fica como “2 novas mensagens”, “3 novas mensagens” e por ai vai…
A primeira mensagem tem até como ler, mas o resto não!

Ela é o payload simples!

1 Like

Sim, esta é outra situação. Você ainda tem que fisicamente ir no seu celular e ler todas as mensagens para abrir um novo contador.

Eu consegui criar o fluxo para a Alexa ler mensagens, consegui ler o que vem no Payload e já em algumas situações não le o campo “android.text”.
Por exemplo, um lembrete do Google Calendar ela só “lê” a data e hora pois ele é o payload, quando o desejado seria pegar a string do titulo do lembrete, que vem dentro do android.text.
Eu acredito que alguém com mais conhecimento conseguiria resolver essa questão.

Tem uma terceira situação também, se você desejar filtrar este fluxo, usando um current state node, a alexa só lê o ultimo payload (que é o do current state). Também não consegui resolver isso.

1 Like