Enviando alertas de Telegram con Home Assistant o Hassio
En este post veremos todo lo necesario para que tu Home Assistant o Hassio te envíe notificaciones al móvil mediante Telegram. Algo super interesante si estás poniendo detectores de movimiento o sensores de apertura de puertas/ventanas y quieres que te lleguen avisos, por ejemplo.
Lo primero de todo, en Telegram daremos de alta un bot que lo usaremos para el envío de notificaciones, podremos agregarlo a un grupo de Casa/Familia o directamente que nos mande las alertas a nosotros. En este post ya vimos cómo crear un bot de Telegram, que lo usamos para enviar notificaciones de Centreon. Los pasos para generar el bot son los mismos, así como para obtener los IDs de los chats a los que mandarles las notificaciones. Una vez esto realizado, pasaremos a configurar Hassio, verás que con pocas líneas y 2 minutos lo tenemos listo. Y luego ya mediante las Automatizaciones de Hassio podremos configurar lo que nos interese, que cuando detecte un movimiento y no estemos, pues nos avise, por ejemplo. Empezamos!
Crear un bot en Telegram
Abrimos Telegram y buscamos a @botfather, iniciamos una conversación con “/start”, para crear el bot escribiremos “/newbot”, nos pedirá que le demos un nombre, en este ejemplo le llamo “Notificaciones Hogar”, perfecto, ahora nos dice que indiquemos un usuario para el bot, debe acabar con “_bot” y no debe estar usado, en este ejemplo usaré “NotificacionesHogar_fake_bot”. Si va todo bien, nos dará el Token que deberemos guardar como oro en paño, ya que lo usaremos para autenticarnos y usar su API cuando mandemos los mensajes. Podemos iniciar una conversación para probar el bot…
Si no vamos a crear un grupo con esto nos vale y nos sobra. En caso de preferir tener un grupo para que notifique a más personas de nuestro Hogar, pues deberemos agregar al bot al grupo de Telegram que tengamos creado (o creamos un grupo nuevo y nos metemos además de al bot). Tenemos que añadir al bot con privilegios de administrador para confirmar que tiene visibilidad de los mensajes.
Abrimos un navegador y accedemos a “https://api.telegram.org/botTOKEN_DEL_BOT/getUpdates”, y ahí podremos saber cual es el ID del grupo al que pertenece el bot, o el ID de nuestro usuario de Telegram al que mandarle los mensajes!
Editamos nuestro fichero de configuración de Home Assistant o Hassio, llamado “configuration.yaml”, y si lo tenemos dockerizado, posiblemente su path sea “/usr/share/hassio/homeassistant/configuration.yaml”. Y añadimos al final el siguiente código, modificando y poniendo el TOKEN de cada uno, así como el ID del chat al que enviarle notificaciones, ojo que el ID debe incluir el “-“:
telegram_bot: platform: polling api_key: TOKEN_DEL_BOT allowed_chat_ids: - -ID_CHAT notify: - name: telegram platform: telegram api_key: TOKEN_DEL_BOT chat_id: -ID_CHAT
Crear Automatizaciones
Y luego ya no quedará más que usarlo, ¿como? con las Automatizaciones de Home Assistant! Os dejo un ejemplo para que envíe un mensaje de Telegram en caso que se detecte que se abrió una puerta con uno de los sensores que ya vimos cómo añadirlo a Hassio. Para crear una Automatización, desde Home Assistant > “Configuración” > “Automatizaciones”.
El código que me genera el hacerlo mediante GUI es el siguiente, que quedaría perfectamente definido en nuestro “automations.yaml”:
- id: '1561334211255' alias: Notificación Telegram - Puerta Garaje-Jardin Abierta trigger: - entity_id: binary_sensor.puerta_garaje_jardin from: 'off' platform: state to: 'on' condition: - condition: state entity_id: device_tracker.hector state: not_home - condition: state entity_id: device_tracker.seila state: not_home action: - data: message: La puerta del Garaje-Jardin está abierta service: notify.telegram
Indicamos un nombre a la Automatización, en “Desencadenantes” indicaremos cuando se activará esta Automatización, en mi caso cuando una Puerta pase de estar cerrada a abierta, así que en “Tipo” indicamos “Estado”, en “Entidad” seleccionamos nuestro sensor de puertas/ventanas, y que nos avise cuando pase de “off” a “on”.
Podemos poner alguna condición, como por ejemplo si no estoy en casa, ya que quizá no me interese recibir notificaciones cada vez que se abre dicha puerta/ventana, buscaríamos las personas que componen el Hogar y marcamos “not_home” (esto lo veremos en otro post, cómo dar de alta las personas que componen el Hogar). Y finalmente indicamos que haga una Accion, en Tipo seleccionamos “Llamar servicio” y en Servicio indicamos “notify.telegram”. No quedará más que definir el mensaje que se enviará.
{ "message":"MENSAJE A ENVIAR..." }
Y nada, listo! Como siempre reiniciamos Hassio para recargar la configuración y podemos probar y verificar que ya nos llegan mensajes de Telegram del estado de nuestra casa al teléfono móvil, ya sabremos cuando alguien entra en nuestra casa, se detecta un movimiento, hay humo… Espero os haya interesado!
Posts recomendados:
- Firefly III – Gestor de finanzas personales - 28 de septiembre de 2023
- Monitorizando Eventos de Windows desde Centreon - 26 de septiembre de 2023
- SCAP Compliance Checker - 12 de septiembre de 2023