Sou fã da NBA e recentemente o canal da NBA Brasil começou a exibir os jogos gratuitamente no youtube. Para não perder mais nenhum jogo, criei uma automação que me notifica na alexa e no telegram quando um jogo está sendo exibido.
Configurando o sensor
Para isso criei um fluxo no Node Red que me notifica no telegram e na alexa quando um jogo está sendo exibido. Se você ficou interessado siga os passos descritos abaixos.
Para começo de conversa, utilizaremos a integração do youtube para o home assistant.
Você pode instalar ela via HACS, basta adicionar a url do repositório do github no “Repositórios personalizados” e instalar.
Feito isso, o sensor é bem simples de configurar, basta no adicionar no seu arquivo de sensores o código abaixo:
- platform: youtube
channel_id: UCsiCOcr5SZAWlJMfcw9P__w
Finalizado essa etapa, reinicie seu home assistant e você verá nas suas entidades um sensor idêntico a esse:
Criando a automação no Node Red
Com o sensor pronto, é hora de configurar a automação no node red, ao finalizar , teremos algo parecido com isso:
O primeiro nó que usaremos, é o de “events state”
nele, você colocará o sensor sensor.nba_brasil no campo de “Entity ID”.
o próximo nó nós usaremos um switch, nele verificamos se o jogo é ao vivo, pois não queremos ser notificados sempre que o canal publicar qualquer vídeo aleatório no canal.
O conteúdo desse nó, será esse:
Basicamente verificamos se o payload contem o texto “NBA AO VIVO”, que é um padrão usado sempre que o canal da NBA Brasil vai exibir um jogo ao vivo.
No próximo nó, usaremos uma função, nela formateremos o nome das equipes que será enviado como notificação na alexa e no telegram.
O conteúdo desse nó, será isso:
E finalmente, desse nó originasse dois nós que chamam o serviço da alexa e do telegram para enviar a notificação do jogo. Usaremos aqui o nó chamado “Call service”:
Os nós serão algo próximos a isso:
Notificando na Alexa
No nó para enviar notificação da alexa, teremos esse conteúdo:
o campo “Data” desse nó, terá esse conteúdo:
{
"message": "Está sendo exibido no canal da NBA Brasil no youtube o jogo {{payload}}!",
"target": [
"media_player.amazon_echo_plus, media_player.amazon_echo_show"
],
"data": {
"type": "announce"
}
}
Aqui colocamos o “message”, que basicamente é o que alexa irá falar na notificação. O payload é justamente a texto que montamos com o nome das equipes, ficará algo como:
Está sendo exibido no canal da NBA Brasil no youtube o jogo Los Angeles Clippers contra Golden State Warriors!
No "target’ indicamos as entidades das alexas que notificarão isso. (Lembrando que essa integração é feita via Alexa Media Player) .
Por fim, no “data” colocamos o parâmetro “type”, que será do tipo “announce”. E usará uma notificão sonora antes de falar o texto que estamos enviando.
Notificando no Telegram
Para notificar no telegram (Se ainda não tem um canal do telegram configurado no seu home assistant, siga esse tutorial), procedimento é bem parecido, usaremos também um nó de “Call service”:
Nele, colocaremos o seguinte conteúdo:
No parâmetro “Data”, colocaremos basicamente o json com a mensagem que queremos enviar, que será a mesma usado na alexa:
{
"message": "Está sendo exibido no canal da NBA Brasil no youtube o jogo {{payload}}!"
}
Bom, é isso pessoal, dúvidas ou sugestões, é só deixar seu comentário, até a próxima.