Node-RED - Tirando fotos e enviando para o Telegram

Não estou usando bot no configuration.yaml, mas no node-red ele não está me deixando escolher o bot que estou usando no node-red mesmo para enviar mensagens.
Sender e Payload, não podem usar o mesmo bot?

Implementei por aqui e funcionou perfeitamente. Agradecido pelo tutorial de qualidade.

Valeuuuu…

1 Like

funcionou perfeitamente, obrigado.

1 Like

Pessoal uma duvida, criei outro bot para não dar conflito só pra enviar as imagens, está tudo ok.
Minha câmera tem sensor de movimento, configurei ela pra enviar as fotos quando o sensor ligar, porem só recebo uma foto. Gostaria de receber a foto sempre que o sensor for acionado.
Alguma sugestão?

Não tem muito segredo. Basta colocar o sensor como gatilho, você vai receber sempre que estiver ON por exemplo.

1 Like

Pessoal, como coloco data e hora no nome do arquivo gerado?

@Nilson segue como coloco a data do nome do arquivo.
O arquivo ficará assim: 20210606-202640.jpg
Mas pode aditar para outro formato.

Se não conseguir só me chamar

var now = new Date();

// Create formatted time
var yyyy = now.getFullYear();
var mm = now.getMonth() < 9 ? "0" + (now.getMonth() + 1) : (now.getMonth() + 1); //             
getMonth() is zero-based
var dd  = now.getDate() < 10 ? "0" + now.getDate() : now.getDate();
var hh = now.getHours() < 10 ? "0" + now.getHours() : now.getHours();
var mmm  = now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes();
var ss  = now.getSeconds() < 10 ? "0" + now.getSeconds() : now.getSeconds();

// file path with / at the end
var path = "/config/www/imgs/cameras/";                     // This is the path
var filename = +"Garagem-"+yyyy+mm+dd+"-"+hh+mmm+ss+".jpg";
3 Likes

Bom dia, sei que esse assunto foi a muito tempo, mas olhando agora resolvi mexer no meu. Hoje envio as fotos via Telegram sem data e hora. Observei que muitas vezes o arquivo não é atualizado e o HA me envia a mesma foto em momentos diferente de movimentação do local que monitoro (garagem e portão). Penso que colocando data e hora no nome do arquivo possa resolver.
Minha duvida essa “função” você usa no NR? Poderia postar uma foto como ficar o fluxo.

Coloco em uma function antes de solicitar a imagem com o call.
image

1 Like

Fiquei curioso como ficou a estrutura do nó Tirar Foto, tentei com o meu aqui não deu certo.

Você não pode preencher o data.

A ideia da function é justamente o dado para esse campo.
image

1 Like

A função que copie está com erro na linha 6, poderia me dizer o que fiz errado?!

Se importaria de me enviar o seu fluxo completo pra eu “colar” rsrs

estou tentando usar este no para envio de uma foto dentro do media do HA, usando o caminho que retorna de um payload de eventos do frigate

estou adicionado ao no

{
    "photo" : "/media/frigate/clips/" + msg.payload.after.camera + " - " + msg.payload.after.id + ".jpg",
    "caption" : "Camera Garagem"
}
ou
{
    "photo" : "/media/frigate/clips/{{payload.after.camera}} - {{payload.after.id}}.jpg",
    "caption" : "Camera Garagem"
}

alguem pode me ajudar ?
só quero enviar a snapshot do Frigate para o telegram
já identifiquei como formatar, mais não consigo prosseguir.

agradeço alguma ajuda!

@ARafael pode compartilhar seu nó ?

1 Like

veja se isso aqui não te ajuda, manim. nesse caso os filename tanto da ação que salva a snapshot no hass e a que encontra a snapshot salva na pasta do hass devem ser a mesma… qualquer coisa só avisar aí… mandei só uma parte pra ver se dá pra entender

[{"id":"5412d4d87316f4c4","type":"template","z":"7cdda3515d0dbf0b","name":"CAMINHO DA IMAGEM SNAPSHOT P/ TELEGRAM","field":"payload_caminho","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"/config/www/dicio_palavras/{{payload_mes_normal}}/{{payload_dia_do_mes}}/{{payload_palavra}}_{{payload_classe}}--(DATA={{payload_data_customizada}}).png","output":"str","x":230,"y":1280,"wires":[["002c3399886c8124"]]},{"id":"711fe700d44a3868","type":"api-call-service","z":"7cdda3515d0dbf0b","name":"Salva Snapshot da Câmera da Imagem do Dia no Hass - Dicio","server":"8f275663.76e378","version":5,"debugenabled":false,"domain":"camera","service":"snapshot","areaId":[],"deviceId":[],"entityId":["camera.imagem_de_hoje_dicio"],"data":"{\"filename\": \"/config/www/dicio_palavras/\"& payload_mes_normal &\"/\"& payload_dia_do_mes &\"/\"& payload &\"--(DATA=\"& payload_data_customizada &\").png\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":750,"y":1280,"wires":[["3fa51f88fa2726fa"]]},{"id":"ab4b49a91fdbd4f6","type":"template","z":"7cdda3515d0dbf0b","name":"LEGENDA DA SNAPSHOT","field":"payload_legenda","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"🆕PALAVRA DE HOJE ({{payload_dia_do_mes}} de {{payload_mes_normal}})🆕: \n--------------------------------------------------------\n🔖  {{payload_palavra}}\n📚  {{payload_classe}}\n💬  Exemplo...\n🔗  https://www.dicio.com.br/{{payload_palavra}}/\n","output":"str","x":160,"y":1400,"wires":[["5b4392a5a2d334fd"]]},{"id":"5c4cecf016fbef4d","type":"api-call-service","z":"7cdda3515d0dbf0b","name":"MANDA SNAPSHOT SALVO NA PASTA DO HASS C LEGENDA AO TELEGRAM","server":"8f275663.76e378","version":5,"debugenabled":false,"domain":"telegram_bot","service":"send_photo","areaId":[],"deviceId":[],"entityId":[],"data":"{\"file\": payload_caminho, \"caption\": payload_legenda}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":1400,"wires":[["3fa51f88fa2726fa"]]},{"id":"5b4392a5a2d334fd","type":"stoptimer","z":"7cdda3515d0dbf0b","duration":"30","units":"Second","payloadtype":"num","payloadval":"0","name":"espera 30s","x":410,"y":1400,"wires":[["5c4cecf016fbef4d"],[]]},{"id":"8f275663.76e378","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30"}]

1 Like

Galerinha, boa tarde!

Será se alguém poderia me ajudar com uma dúvida?
Estou tentando implemnetar no meu Bot Telegram uma imagem com frases do dia para enviar no grupo da Casa

tenho as imagens na pasta do HA e consigo enviar uma a uma com o nó sender

sender

A minha dúvida é o seguinte:
estou criando um node Randon para gerar numeros aleatórios de 1 a 100, o numero que der eu gostaria de buscar essa imagem na pasta e enviar ao telegram

por exemplo: o randon deu “5”
gostaria de mudar no node sender para enviar
{
“photo”: “/config/www/imgs/frases/05.jpg”,
“caption”: “Frase do dia”
}

Se o Randon = 19
{
“photo”: “/config/www/imgs/frases/19.jpg”,
“caption”: “Frase do dia”
}

tem alguma forma facil de fazer isso?
pois pensei em cada randon eu criar um node sender, mas seria “100 nodes sender”, um por numero do randon
exemplo:

queria fazer um formato mais clean
mas não consigo pensar numa function para isso

desculpe se não ficou bem claro a explicação

obrigado a todos!!! :+1: :smile:

Tenta algo assim:

“/config/www/imgs/frases/" + payload + ".jpg”,

Talvez com o nó join fique mais fácil

Obrigado pela dica,
mas eu ja havia tentado isso e da erro no nó,

tinha tendado desta duas formas
“/config/www/imgs/frases/" + payload + ".jpg”

“/config/www/imgs/frases/" + msg.payload + ".jpg”

node

por isso fiquei sem imaginação para criar uma função, pois achei que funcionaria assim

Tenta Assim:

$$.payload

ou assim {{payload}}

Já fiz isso uma vez, mas não estou lembrado como.

Também sem sucesso!

Provavelmente irei ter que deixar da forma mais trabalhosa mesmo, fazendo os 100+ nodes, rsrs

acho que o nó de função poderia fazer essa intermediação, mas não sei como fazer, sou bem leigo nessas programações