Node-RED - Tirando fotos e enviando para o Telegram

telegram

Fala Moçada!

Antes desse tutorial, tenha o Telegram integrado ao Home Assistant!

A quem interessar, disponibilizo um Fluxo onde é possível TIRAR FOTOS (em uma determinada camera do HA) e enviar para o TELEGRAM.

Criei esse fluxo de exemplo, bem simples e instrutivo:

Pulando a parte do INJECT (timestamp) e indo diretamente para o TIRAR FOTO, temos o seguinte node. No campo EntityId você deve colocar a SUA CÂMERA que deseja utilizar para tirar a foto. No campo DATA você deve indicar o caminho (no seu HA) onde quer que a foto seja armazenada.

Lógica:

{
    "filename": "/config/www/imgs/cameras/quintal_esquerda.jpg"
}

Dou um DELAY de 10 segundos para dar tempo ao HA gravar corretamente a IMAGEM…
E em seguida, mando o TELEGRAM enviar a Foto. No campo Bot você deve escolher o SEU Bot. Qualquer dúvida, veja esse post onde ensino a configurar o TELEGRAM no Node-Red: https://forum.homeassistantbrasil.com.br/t/node-red-enviando-mensagens-com-o-telegram/107

No campo Chat ID você deve escolher o SEU Chat_Id.

Lógica:

{
    "photo" : "/config/www/imgs/cameras/quintal_esquerda.jpg",
    "caption" : "QUINTAL ESQUERDA"
}

Segue a lógica do Fluxo:

[{"id":"a85700a8.ecea5","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"672b876f.fd8858","type":"telegrambot-payload","z":"a85700a8.ecea5","name":"TELEGRAM","bot":"7e1e0c2c.846ab4","chatId":"seuChatId","sendMethod":"sendPhoto","payload":"{\n    \"photo\" : \"/config/www/imgs/cameras/quintal_esquerda.jpg\",\n    \"caption\" : \"QUINTAL ESQUERDA\"\n}","x":670,"y":40,"wires":[[]]},{"id":"127dabbc.3bddf4","type":"api-call-service","z":"a85700a8.ecea5","name":"","server":"ef4eb39d.410e6","version":1,"service_domain":"camera","service":"snapshot","entityId":"camera.quintal_esquerda","data":"{\"filename\":\"/config/www/imgs/cameras/quintal_esquerda.jpg\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":300,"y":40,"wires":[["972589c5.5019e8"]]},{"id":"972589c5.5019e8","type":"delay","z":"a85700a8.ecea5","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":500,"y":40,"wires":[["672b876f.fd8858"]]},{"id":"9f021e35.15fb6","type":"inject","z":"a85700a8.ecea5","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":40,"wires":[["127dabbc.3bddf4"]]},{"id":"7e1e0c2c.846ab4","type":"telegrambot-config","z":"","botname":"nomedoseubot","usernames":"","chatIds":"seuChatId","pollInterval":"300"},{"id":"ef4eb39d.410e6","type":"server","z":"","name":"Home Assistant"}]

Por fim, faça o DEPLOY e clique no INJECT para testar!

image

Abraços,
José Henrique.

Recomendo esses tutoriais:

12 curtidas

Legal, tenho planos em fazer algo assim quando detectar movimento e eu não estiver em casa

Puxa! não sei o que fiz errado, revi o artigo umas 10x. A imagem capturada sai toda preta e não envia a msg pro telegram.

oi @rodrigolinhares, boa noite!

Sua câmera funciona corretamente no HA?
Você tem acesso aos seus arquivos? Se sim, você pode verificar se pelo menos o HA está gravando a foto corretamente. (sem estar preta) Entendo que esse é o primeiro passo para partirmos para o próximo.

Abraços,
José Henrique.

Então @jhbcosta, sim a câmera funciona no HA, na verdade é um canal do DVR, está configurado por RTSP.

está assim:

- platform: ffmpeg
    name: garagem
    input: -rtsp_tranport tcp -i rtsp://user:senha@ip_da camera:porta_rtsp/h264/ch02/main/av_stream

@rodrigolinhares implante o fluxo somente até a parte de “bater a foto” e salvar e verifique na pasta se o arquivo está sendo salvo corretamente.
image

Abraço,
José Henrique.

1 curtida

Muito obrigado José, consegui resolver, mudando a url da câmera para:

- platform: ffmpeg
    name: garagem_1
    input: http://user:senha@ip_da camera:porta_rtsp/ISAPI/Streaming/channels/201/picture (sendo 201 para o canal 2 do DVR Hikvision)

já até criei um gatilho pra disparar a imagem de detecção de movimento na garagem, isso, somente se o alarme da casa estiver armado, senão ninguém aguenta tanta msg.
Abraço,
Rodrigo Linhares.

1 curtida

Show!! :clap::clap::clap:

olá jhbcosta, td bem?

o meu esta dando erro, não consegue nem capturar a imagem
utilizo um DVR intelbras e as câmeras ja estão configuradas e funciona normalmente no HA
poderia me dar um auxilio por favor?

obrigado!

Anotação 2020-07-23 182800

Bruno, boa noite.

Faltou uma ASPAS depois do .jpg.

Abraço,
José Henrique.

1 curtida

então, eu já havia corrigido as aspas, é que acabei não tirando um print depois da correção.
mesmo com as aspas corretamente, o erro continua

este é o local certa de cria a pasta?

Anotação 2020-07-23 185647

Z:\www\imgs\cameras

Bruno,

A pasta tem que estar dentro do config do HA…pelo que vi você mapeou um drive…então não sei te dizer…qual o erro que está dando?

Abraço,
José Henrique.

esse drive que esta mapeado é o acesso remoto ao ha !
como assim dentro da config? tenho que adicionar algo ao configuration.yaml
desculpe, mas ainda to aprendendo e estou muito perdido em algumas coisas
rsrs
abaixo está o erro
Anotação 2020-07-23 191414

Bruno,

Não. É uma pasta chamada config. Deve ficar em config/www e por aí vai.

Mas no caso, a mensagem que está dando é que ele não está encontrando a camera que você está indicando. Revise as informações que colocou nos campos. Apaga uma letra e escreve de novo para ver se vai aparecer uma listinha para você selecionar. Se aparecer, é porque está correto o nome que você está colocando.

Abraço,
José Henrique.

1 curtida

José Henrique, consegui resolver!!!
fiz todos os passos do zero novamente e agora foi, deve ter sido algo que deixei passar,
Obrigado pela paciência rsrsrsrs

:+1: :grin:

1 curtida

Boa tarde. Só pra eu ficar ciente: qual a configuração dos equipamentos (raspberry, nuc, pc) que vcs usam? Preciso atualizar meu hardware para não sobrecarregar com as câmeras.

1 curtida

Olá.

Eu rodava em um Rasp mas as camêras não ficavam legais…sempre caíam. Troquei para um Intel NUC e não tive mais problemas.

Abraço,
José Henrique.

Fiz tudo certinho e esta funcionando corretamente, porém a cada 10 segundos, no log, fica aparecendo o seguinte erro:

01

“ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running”

“Unknown error. Trying again.”

Tenho dois fluxos com nodes do telegram: Um com o Node Sender e outro com Node Payload e notei que esse erro aparece apena quando uso os dois nodes, pois se eu deletar um deles, esse erro não aparece mais.

O que fazer para esse erro não aparecer mais?

Conseguiu resolver? o meu está dando o mesmo problema.

Você deve estar usando o mesmo bot no node-red que usa no configuration.yaml, precisa ser bots diferentes, se for o mesmo vai dar esse erro.