Ótimo tópico!
Já à algum tempo que ando a pensar em mudar para o telegram, uso o pushbullet. Parece que vai ser desta
Editei porque acho que faltava umas pequenas explicações.
Obrigado @j_assuncao por ter corrigido um pouco o tutorial
Bom dia,
Posso alterar o código de maneira a ser recebido em dois telegram´s?
Obrigado
Sim, crias outro Telegram e adicionas outro “telegram sender” ao flow.
Objectivo não é enviar para outro Bot, mas sim para outro telegram_ID.
Ou seja, eu e a minha esposa receber no bot da que temos criado para interagir com HA.
Nunca testei mas penso que existe a hipótese de colocar dois chatId
ou então criar um grupo com os dois e enviar para o chatId
do grupo. Como te disse nunca testei mas não vejo motivo para não funcionar.
Viva.
Será que me podem ajudar com este tutorial?
Importei o flow e configurei com os meus dados.
A ideia para a utilização é a mesma, avisar quando uma luz estiver ligada mais de 10 minutos.
No meu caso, utilizo um shelly 1L e por isso, no Entity ID tenho switch.luz_alpendre.
Consigo receber as mensagem no telegram que a luz se encontra acesa o problema está na interação. Caso opte por desligar a luz através da mensagem não tenho qualquer reposta na luz.
O que poderei estar a fazer errado?
Anexo algumas imagens para perceberem.

Coloca um debug node depois do callback e vê se tens alguma resposta lá.
E tira a ligação da saida de cima do callback para o function “Para Eliminar”, é a saída do node “Desligar Luz Alpendre” que deve ligar ao function “Para Eliminar”.
Tás a mandar essa mensagem para um grupo, certo?
Experimenta enviar apenas para um utilizador do telegram a ver o resultado.
Tens o node callback bem configurado (mesmo bot)?
Se não aparece nada no debug é porque não sai nada do Telegram ou o callback query está mal configurado.
Sim, estou a mandar para um grupo. É o mesmo bot.
Experimenta en vez de enviar para um grupo, enviar apenas para um user.
Já li sobre a opção de grupos. Mas nunca usei.
Para um user apenas tem que funcionar.
Eu acabei por criar um grupo porque não tinha conseguido fazer com que enviasse para mim.
Vou tentar procucar como é que se faz.
Obrigado @lopitos e @j_assuncao !
Para enviares para ti basta saberes o teu chatID.
Em vez de colocar o chatID do grupo colocas o teu.
@lopitos acabei por criar um novo bot e já consegui, através do @chatid_echo_bot saber o meu chatid.
Agora não envia mensagem nenhuma. Dá erro no telegram sender.
Já descobri o porquê do erro quando estás a usar o grupo. Partilhei a solução no discord, mas é melhor atualizar aqui também.
Quando estás a enviar uma query para um grupo (Chat ID começa por -XXXX), temos que alterar a função que manda a ordem de eliminar a mensagem (questão). Node do exemplo “Para Eliminar”
O Original é:
var id = global.get('portaogaragem');
global.set('portaogaragem', '');
msg.payload.type = 'deleteMessage'; //linha a substituir conforme abaixo
msg.payload.content = id;
return msg;
Em vez deste devemos usar o seguinte:
var id = global.get('luzsesgaragem');
global.set('luzsesgaragem', '');
msg.payload = { type: 'deleteMessage', chatId: -O_TEU_GROUP_CHAT_ID }
//msg.payload.type = 'deleteMessage';
msg.payload.content = id;
return msg;
Espero que isto resolva a tua questão.
Viva. Imaginem que queria aplicar esta configuração a várias luzes. Teria de repetir os flows ou haverá maneira de saber qual a luz que funcionou como trigger e adaptar as ações e mensagens daí em diante? Ou seja no fundo criava um sate node para cada luz que quisesse ter alerta e depois tinha apenas um único fluxo de ação, que seria igual para todas as luzes (só mudaria a entidade e a msg a enviar).