Visitas: 78
Hola A todos y bienvenidos a este nuevo artículo en el que os voy a explicar cómo enviar fotos y vídeos a Telegram a modo de notificaciones a vuestra cuenta de Telegram.
Recientemente he publicado un vídeo tratando este tema y otro te lo adjunto aquí abajo para que podáis consultarlo. la idea es que utilicéis este articulo cómo complemento a ese vídeo y podáis realizar lo paso a paso sin ningún tipo de problema .
Lo primero que hay que dejar claro en este manual es que no todas las cámaras van a funcionar correctamente para la función de envío de vídeos cómo ficheros adjuntos a telegram . En el vídeo podéis comprobar que os hago la demostración en vivo y directo de 2 cámaras, uno que si funciona el envío de vídeos cómo archivo adjunto y otra en la que solamente funciona las fotografías.
El envío de vídeos os va a funcionar en los stream que recibáis en vuestro Home Assistant en formato FFMPEG, Es decir los streams a los que os conectéis a través del protocolo RSTP.
Configurar tu Bot para enviar fotos y vídeos a telegram
Lo Primero que debéis de hacer es Configurar vuestro bot de telegram, y para eso tenéis un vídeo en el canal, o este articulo que os dejo enlazado justo aquí abajo.
Es muy importante que realicéis este pasó en primer lugar ya que todo el manual que vamos a tratar en este artículo se basa en ese primer paso.
Cámaras para enviar notificaciones a telegram
Una vez que tengáis integrado el bot de telegram en vuestro Home Assistant, lo siguiente es trabajar con las cámaras que ya tengáis integradas en vuestro sistema.
En mi caso va a ha ser estas cámaras que estáis viendo ahora mismo con las que voy a trabajar. La primera de ellas es una cámara sobre la plataforma ESPHOME, La segunda y la tercera son cámaras sobre la plataforma FFMPEG. Como ya os he dicho antes, estas últimas serán sobre las que pueda utilizar la notificación de vídeo.
Algunas cámaras IP
[amazon box=”B07WCWHY1M, B08GCLV8SC, B087ZMK2Z8, B07MS85YLT,B083GV9TCY” grid=”5″]
Automatizar el envío de videos y fotos a telegram
Esto es tan sencillo que vamos a proceder ya a ver cómo serían las automatizaciones necesarias para poder enviar las notificaciones a vuestra cuenta de telegram, mejor dicho al chat que tengáis con vuestro Bot de telegram. Todo esto del chat con vuestros Bots de telegram ya lo debéis detener configurado, cómo os he mencionado antes en base a este articulo.
Está que os adjunto a continuación sería el script necesario para enviar una fotografía adjunta en vuestro chat con el bot de telegram.
foto_garage_telegram:
alias: foto_garage_telegram
sequence:
- service: camera.snapshot
data:
filename: /config/www/grabaciones/SOTANO_CAMARA01_TLGRM.jpg
entity_id: camera.camara1
- delay: 00:00:10
- service: telegram_bot.send_photo
data:
file: /config/www/grabaciones/SOTANO_CAMARA01_TLGRM.jpg
mode: single
Lo interesante de hacerlo como un script es que vais a poder llamarlo desde cualquier automatización y no tener que estar desarrollando el código de tomar una fotografía para cada automatización en la que quieras usarlo.
Basándome en el mismo concepto os comparto aquí debajo el código que yo he utilizado para crear un script que genere un vídeo de 30 segundos y me lo mande a telegram
video_garage_telegram:
alias: Video_garage_telegram
sequence:
- service: camera.record
data:
filename: /config/www/grabaciones/SOTANO_CAMARA01_TLGRM.mp4
entity_id: camera.garage
- delay: 00:01:00
- service: telegram_bot.send_video
data:
file: /config/www/grabaciones/SOTANO_CAMARA01_TLGRM.mp4
mode: single
Con estos simples Scripts podréis enviar Fácilmente imágenes y vídeos a través de vuestro chat con vuestro bot de telegram, recordar siempre que no todas las cámaras van a soportar el envío de vídeos adjuntos ya lo habéis podido comprobar en el vídeo de youtube.
Enviar las fotos y los vídeos con Node-Red
Ahora un bonus para los que habéis llegado hasta el final del articulo. voy a compartir con vosotros mis flow de Node-Red.
Este de arriba es el diagrama, de como lo veríais en Node-Red. Si os interesa importarlo, aquí abajo os pongo el código.
[
{
"id": "8498dec5.d50b5",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": ""
},
{
"id": "57fbcc62.7201a4",
"type": "poll-state",
"z": "8498dec5.d50b5",
"name": "movimiento_garage",
"server": "180cef91.7fc76",
"version": 1,
"exposeToHomeAssistant": false,
"haConfig": [
{
"property": "name",
"value": ""
},
{
"property": "icon",
"value": ""
}
],
"updateinterval": "2",
"updateIntervalUnits": "seconds",
"outputinitially": false,
"outputonchanged": false,
"entity_id": "binary_sensor.sotano_motion_puerta",
"state_type": "str",
"halt_if": "true",
"halt_if_type": "bool",
"halt_if_compare": "is",
"outputs": 2,
"x": 240,
"y": 180,
"wires": [
[
"97f90a6b.74df38",
"a61ea5fa.1e6d08"
],
[]
]
},
{
"id": "97f90a6b.74df38",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "Encender_sotano",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "light",
"service": "turn_on",
"entityId": "light.sotano_luzgeneral",
"data": "",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 490,
"y": 100,
"wires": [
[
"bf840a9b.cdad18"
]
]
},
{
"id": "f1733f44.7d16e",
"type": "inject",
"z": "8498dec5.d50b5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 260,
"y": 280,
"wires": [
[
"97f90a6b.74df38",
"a61ea5fa.1e6d08",
"e094623e.1979a"
]
]
},
{
"id": "8a8dc160.27c21",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "Apagar_sotano",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "light",
"service": "turn_off",
"entityId": "light.sotano_luzgeneral",
"data": "",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 940,
"y": 100,
"wires": [
[]
]
},
{
"id": "bf840a9b.cdad18",
"type": "delay",
"z": "8498dec5.d50b5",
"name": "",
"pauseType": "delay",
"timeout": "30",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 740,
"y": 100,
"wires": [
[
"8a8dc160.27c21"
]
]
},
{
"id": "a61ea5fa.1e6d08",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "camera",
"service": "record",
"entityId": "camera.garage",
"data": "{"filename":"/config/www/grabaciones/SOTANO_CAMARA01_TLGRM.mp4"}",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 490,
"y": 160,
"wires": [
[
"6dbce1f5.88791"
]
]
},
{
"id": "6dbce1f5.88791",
"type": "delay",
"z": "8498dec5.d50b5",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 740,
"y": 160,
"wires": [
[
"91e790db.d504e"
]
]
},
{
"id": "91e790db.d504e",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "telegram_bot",
"service": "send_video",
"entityId": "",
"data": "{"file":"/config/www/grabaciones/SOTANO_CAMARA01_TLGRM.mp4"}",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 990,
"y": 160,
"wires": [
[]
]
},
{
"id": "e094623e.1979a",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "camera",
"service": "snapshot",
"entityId": "camera.delante",
"data": "{"filename":"/config/www/grabaciones/SOTANO_CAMARA01_TLGRM.jpg"}",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 500,
"y": 220,
"wires": [
[
"594b062e.cfc4e8"
]
]
},
{
"id": "594b062e.cfc4e8",
"type": "delay",
"z": "8498dec5.d50b5",
"name": "",
"pauseType": "delay",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 740,
"y": 220,
"wires": [
[
"438c27d6.b064a8"
]
]
},
{
"id": "438c27d6.b064a8",
"type": "api-call-service",
"z": "8498dec5.d50b5",
"name": "",
"server": "180cef91.7fc76",
"version": 1,
"debugenabled": false,
"service_domain": "telegram_bot",
"service": "send_photo",
"entityId": "",
"data": "{"file":"/config/www/grabaciones/SOTANO_CAMARA01_TLGRM.jpg"}",
"dataType": "json",
"mergecontext": "",
"output_location": "",
"output_location_type": "none",
"mustacheAltTags": false,
"x": 990,
"y": 220,
"wires": [
[]
]
},
{
"id": "180cef91.7fc76",
"type": "server",
"name": "Home Assistant",
"addon": true
}
]
Si deseas utilizar este flow en tu sistema vas a tener que realizarle algunos ajustes, como por ejemplo los nombres de las entidades, pero como base de va a servir para realizar el trabajo que tiene como cometido este artículo.