Como configurar o Telegram

telegram

Para utilizar o Telegram no Home Assistant você não precisa instalar nenhum componente ou add-on, porém você precisará seguir os passos abaixo.

Essa integração necessita da internet para utiliza-la.

nuvem

Você pode ver mais detalhes na página oficial do home assistant:

Primeiro você precisa abrir o seu telegram na plataforma que achar melhor (android, web, iphone…)
Com o telegram aberto, procurem o bot chamado BotFather como na imagem abaixo:

Criando um bot:

Feito isso, será necessário criar um novo bot para você. Então clique na opção /newbot .

1) Irá vir uma pergunta questionando qual o nome do seu bot. Você digita um nome apropriado para você.
Exemplos: Watson, Home Assistant, Morpheus, MyBot, etc…

2) A segunda pergunta é o nome de usuário. Perceba que deverá acompanhar a palavra “ bot ” no final do username.
Exemplos: watsom_bot, homeassistant_bot, morpheus_bot, mybot, etc…

Logo em seguida você receberá as informações de finalizado junto com o token para acesso via API.

Copie esse código e salve em um documento, bloco de notas para ser utilizado mais para frente.

Após criar seu bot, você precisará procurar seu bot nos seus contatos do Telegram. Você irá procurar pelo mesmo nome que você deu no “username”. E clicar para falar com ele. Irá abrir a tela de conversa com um botão START, clique nesse botão.

3) Será necessário resgastar o “chat_id”. Para você obter essa informação você precisará copíar o token gerado anterior, copiar a url a seguinte URL https://api.telegram.org/bot YOUR_API_TOKEN /getUpdates e trocar a parte “YOUR_API_TOKEN” pelo token que você gerou do seu bot criado.
Exemplo: http://api.telegram.org/bot578745016:AAFvUqqEPEjeBgW40IhwO_TZgGJS3QitdXQ/getUpdates

E colocar no seu navegador (chrome, firefox, ie, safari…). O resultado se tudo ocorrer bem deve ser esse:

4) Agora volte ao telegram, e no seu bot digite qualquer coisa para ele. Exemplo: Olá meu bot.
Volte para a url da api com seu token e atualize a página. Irá mostrar o valor do chat_id. Copie conforme a imagem abaixo e guarde num documento ou bloco de notas.

esse é o chat_id!

Se não conseguir dessa forma, mande alguma mensagem para o @RawDataBot que ele vai retornar um código que vai aparecer o seu chat_id.

Configurando o telegram no configuration.yaml:

Coloque as duas configurações!

Configurando o bot no configuration.yaml:

telegram_bot:
  - platform: polling
    api_key: YOUR_API_KEY #aqui você coloca o token gerado no bot
    allowed_chat_ids:
      - CHAT_ID_1 #aqui você coloca o chat_id que você pegou após conversar com o bot.
      - CHAT_ID_2
      - CHAT_ID_3

Configurando o configuration.yaml para notificações:

notify:
  - platform: telegram
    name: SEU NOME #nome que achar melhor
    chat_id: CHAT_ID #aqui você coloca o chat_id que você pegou após conversar com o bot.

Video:

Exemplo de automação:

Para notificar quando o seu HA é iniciado:

automation:
  # alias = Nome da sua automação
  - alias: 'Teste de telegram'
    # trigger = São os gatilhos que definem quando sua automação irá ser executada
    trigger:
      platform: homeassistant
      event: start
    # action = São as ações que sua automação irá executar ao iniciar
    action:
      service: notify.NOTIFIER_NAME # aqui você coloca o nome que você definiu no notify no campo "name" na configuração anterior.
      data:
        title: 'Olá Douglas'
        message: "O seu home assistant foi iniciado."       

Com isso configurado você poderá agora usar o serviço do Telegram em suas automações, testes, scripts, etc.

Recomendo esses tutoriais aqui utilizando o Node-red:

16 curtidas

Como faria para mandar mensagem para um grupo ao invés de um contato em particular?

1 curtida

Eu fiz a configuração e funcionou certinho, enviando pra meu celular, mas caso eu queira enviar pra mais pessoas da casa, eu devo criar um bot pra cada um? Ou existe alguma configuração no telegran para que o bot envie mensagens pra outras pessoas além de mim?

1 curtida

Descobriu como fazer, tenho essa dúvida também

1 curtida

Um bot pode enviar para quantas pessoas quiser.

Primeiro você colocar os id dentro da configuração do telegram_bot
image

Depois na notificação (notify) você cria/configura as notificações para quem você deseja enviar.

image

Depois você configura nas suas automações para quem desejar enviar.

image

1 curtida

Para cada pessoa que eu deseje enviar as mensagens devo criar o chatID seguindo seu primeiro tutorial?
A obtenção do chatID para pessoas diferentes é minha dúvida
Obrigado pela atenção

Sim, para obter o chat id tem que fazer a mesma coisa que foi feito para conseguir o seu chat id. Não tem segredo.

1 curtida

Bom, eu consegui fazer de uma forma que ficou bem simples.
1 - Criei o bot do Telegram como no artigo
2 - Chamei um bot pré existente no Telegram chamado (@get_id_bot) no celular de cada pessoa da familia. Esse bot, quando vc o chama para uma conversa, ele responte com com chat_id da pessoa que o chamou.
3 - Não preenchi nada no arquivo configuration.yaml, fiz minhas automações conforme o artigo, no node-red
4- No node [function], eu criei um nod pra cada id de usuario da familia, :

msg.payload = {}
msg.payload.chatId = 88000004
msg.payload.type = “message”
msg.payload.content = “Todos sairam de casa!!!”
return msg;

msg.payload = {}
msg.payload.chatId = 88000999
msg.payload.type = “message”
msg.payload.content = “Todos sairam de casa!!!”
return msg;

5 - no celular de cada pessoa da familia vc chama o bot que vc criou e clica em start

2 curtidas

Aqui não deu certo… como eu ja usava o telegram com meu usuario…criei outro chat_id para minha esposa…
mas onde coloco o API_token que foi gerado pra ela? junto com o meu API separado por virgula.?
se eu deixar meu API eu recebo mensagens, e ela não. qdo coloco o api dela, ela recebe as mensagens e eu não, mesmo que os 2 chat_ids estejam configurados

#################################################################
SOLUÇÃO
#################################################################

Só passei para deixar registrado que consegui. Não tinha me atentado que deveria iniciar o bot q eu criei pra mim no telegram da minha esposa. Eu criei um bot pra ela e iniciei do telegram dela por isso não funcionava…

obrigado srs

@douglas parabéns e obrigado pelo tutorial!

1 curtida

Fiz toda a configuração como descrito e nada funcionou pra mim. O erro:
Unable to prepare setup for platform telegram.notify: Could not set up all dependencies.

1 curtida

Amigo boa noite, como fica a configuração para status? Tipo, ao ligar o dispositivo ele enviar uma mensagem que ligou e aí desligar enviar que desligou. Se puder me ajudar ficarei grato. Obrigado

No caso você vai ter que criar uma automação com isso! Pra cada dispositivo que quiser receber notificação no Telegram.
Segue aqui o tutorial usando o Node-RED!

1 curtida

Pessoal Bom dia!!!
Antes de mais nada, já conferi o token várias vezes, mas mesmo assim nao consigo acessar o link para resgatar meu chat_id, tomo um 404…

{“ok”:false,“error_code”:404,“description”:“Not Found”}

Tenho certeza q meu token esta correto na url e também iniciei o bot no meu smartphone…

Alguma dica??

A tempos atrás eu tb estava com problema para enviar mensagens para diferentes usuarios/canais, até que achei o mqttwarn. Esse cara recebe a notificação via mqtt e dispara para onde vc quiser (tem um monte de opções: telegram, pushover, growl, email, etc…). Talvez complique ter mais uma coisa rodando no seu sistema, mas aqui deu muito certo.

Dá uma olhada no link, como esta colocando… pode está faltando algo no link para validar

Olá Douglas. Criei o BOT mas não consigo resgatar o ID. Está aparecendo a seguinte mensagem: {“ok”:false,“error_code”:404,“description”:“Not Found” . Já criei outros dois BOTs e a falha persiste!

Boa tarde Danilo ! blz ?
Tenta isso aqui, sem espaço no caso.
https://api.telegram.org/bot SEU TOKEN /getUpdates

Obrigado, funcionou perfeitamente, parabens pelo post

1 curtida

@douglas , no tutorial, você comentar para fazer as “2 configurações”. Fiz dessa forma e funcionou certinho. Porém, os logs “debug” ficam apontando "serviço TEGRAM em conflito (duplicidade). Sabe me dizer se isso ocorre devido ás 2 configurações

1 curtida