Tecnologia

Configura un bot de Telegram para recibir alertas de Home Assistant

Una de las primeras configuraciones que debemos hacer en Home Assistant son configurar las notificaciones. Al ser un sistema operativo de código libre, tenemos la posibilidad de instalar diferentes formas de notificarnos que ha ocurrido algo, no obstante, creemos que una de las mejores formas para avisarnos de todo lo que ocurre es a través de Telegram. Gracias a que en Telegram podemos crear bots, tenemos la posibilidad de integrarlo directamente en la domótica de nuestra casa, para que nos envíen notificaciones tanto de manera individual (solamente a nosotros) como también a un grupo con más personas (por ejemplo, un grupo con toda la familia). Si quieres saber cómo configurar un bot en Telegram para usarlo como notificaciones en Home Assistant, a continuación, tenéis todos los detalles.

Telegram es la aplicación por excelencia para las notificaciones de diferentes softwares, y es que podemos integrar notificaciones con un bot para nuestro router, servidor NAS, para nuestro sistema de monitorización, y también para nuestro sistema de domótica. Si quieres conocer cómo se crea y configura un bot, y cómo se incorpora a HAOS, os enseñamos todos los pasos que debes hacer.

¿Para qué me sirve esto?

Aunque podríamos lanzar notificaciones push a través de la aplicación de Home Assistant para smartphones, creemos que en Telegram es mucho mejor, porque podemos verlo directamente desde nuestro smartwatch e incluso podemos ver un histórico con todas las notificaciones que nos ha enviado, algo que con las notificaciones push no podríamos. Cuando vamos a configurar el sistema de domótica, no tenemos ninguna limitación a la hora de dar de alta los bots e incluso podemos mandar notificaciones directamente a un grupo donde haya más personas.

Por ejemplo, un uso que hacemos nosotros a estas notificaciones, es que los avisos que tienen que ver con la administración del sistema de domótica, como las actualizaciones de HAOS, actualizaciones de los diferentes dispositivos domóticos como Shelly, o algún problema que tengamos automatizado, automáticamente se enviará una notificación a nuestro smartphone de manera individual. Sin embargo, si hay notificaciones que tienen que ver con los miembros de la casa, como, por ejemplo, si nos hemos dejado la puerta del garaje abierta, si han llamado al timbre, o si hay demasiado consumo de electricidad en un determinado momento, podemos enviar estos avisos directamente a un grupo donde estemos nosotros y también nuestra pareja, hijos etc.

Para poder dar de alta este tipo de notificaciones, lo primero que debemos hacer es crear el correspondiente bot en Telegram, crear un grupo con el bot dentro de dicho grupo, y posteriormente sacar tanto las API KEY como los ID de los diferentes bots y chats que nosotros queramos configurar.

Crear un bot en Telegram para Home Assistant

Lo primero que tenemos que hacer es buscar el popular «BotFather» a través de Telegram e iniciarlo. Siguiendo los pasos, podemos pulsar sobre «newbot» para crear un nuevo bot. Le daremos un nombre al bot y después el nombre de usuario del bot, este último debe terminar en «bot» o bien «_bot», de lo contrario no podremos configurarlo. Es la forma que tiene Telegram de diferenciar un bot del que no lo es. Lo más importante de este paso es el HTTP API KEY que nos proporciona.

Una vez creado, podemos iniciar el bot en nuestro Telegram sin ningún problema. Si volvemos a BotFather podemos ver todo el listado de bots poniendo «mybots» tal y como podéis ver. También tenemos la posibilidad de realizar ciertas configuraciones como añadir una descripción, una fotografía y otros ajustes.

Después de crear el bot, debemos llamar a un bot que se llama «getmyid», hay muchos actualmente, podemos usar cualquiera de ellos. Este bot se encarga de proporcionarnos el ID de nuestro Telegram para que el bot que hemos creado nos pueda enviar mensajes.

Con el ID, ya podremos enviar mensajes de forma individual a nuestro smartphone, pero lo más interesante es crear un grupo para que más personas de nuestra familia puedan recibir dichas notificaciones.

Configurar un grupo con el bot dentro

Para configurar un grupo con el bot dentro, lo único que tenemos que hacer es crear un grupo con varias personas como hacemos normalmente. Después añadiremos al bot de Home Assistant que hemos creado anteriormente, pero también tenemos que añadir el boy de «getmyid» para que nos proporcione el ID del chat de grupo (que es diferente del chat individual). Todos los ID de chats de grupos tienen un signo menos delante del ID, tal y como podéis ver:

Ahora ya está Telegram listo para recibir las notificaciones, y solamente necesitaremos configurar Home Assistant para enviarlas.

Configuración de Home Assistant

Lo primero que os recomendamos instalar en Home Assistant es el «File Editor«, si nos vamos a la sección de «Ajustes / Complementos» podemos irnos a la tienda de «Complementos» e instalar este software tan útil que nos permitirá navegar por los archivos internos de Home Assistant de manera muy sencilla.

Es recomendable que este complemento siempre arranque en el inicio, y también que el propio sistema vigile si en algún momento se cae. Otra configuración recomendable es seleccionar la opción de «Mostrar en el panel lateral«.

Una vez que lo tengamos todo listo, ya podemos empezar a utilizarlo. Si pinchamos en «File Editor» y luego en el icono de la carpeta, podemos navegar por los diferentes archivos que tenemos de manera predeterminada creados. Los dos archivos que vamos a tratar en este tutorial son:

  • /config/secrets.yaml: aquí se almacenarán todas las contraseñas o API KEY que no queramos que aparezcan directamente en el archivo de configuración general.
  • /config/configuration.yaml: aquí tendremos el archivo de configuración general de Home Assistant, es fundamental que esté todo bien escrito porque podría hacer que el sistema no arrancase. No obstante, el propio HAOS verifica siempre este archivo y nos avisará si hay algo erróneo para que lo arreglemos.

Lo primero que debemos hacer es entrar en el archivo de secrets.yaml y poner la siguiente línea:

telegram_bot_api_key: "API_KEY"

En API_KEY debemos pegar directamente la API KEY que hemos obtenido de Telegram, es importante que esta información no se la pasemos a nadie porque debe ser secreta.

Una vez que lo hayamos hecho, ahora debemos irnos al archivo de configuración configuration.yaml y poner abajo del todo lo siguiente:

#Configuracion del bot de Telegram e integracion en Home Assistant.
telegram_bot:
- platform: polling
api_key: !secret telegram_bot_api_key
allowed_chat_ids:
- ID
- -ID

Es muy importante que el ID del grupo pongamos un guion delante (-), es decir, en el archivo de configuración debería aparecer un guion, espacio y un guion más luego el ID correspondiente. Más abajo adjuntamos una captura para que lo veáis.

Una vez que hemos dado de alta el bot de Telegram, ahora vamos a crear el servicio notify con dos tipos de notificaciones diferentes, las individuales que solamente nos las enviará el bot a nosotros, y también las de grupo donde está el bot con más personas.

# Notificacion individual y en el grupo
notify:
- platform: telegram
name: Telegram_Notificacion_Individual
chat_id: ID
- platform: telegram
name: Telegram_Notificacion_Grupo
chat_id: -ID

En este caso también debemos poner el guion antes del ID del grupo. La configuración quedaría así:

Es muy importante identar correctamente el archivo de configuración siguiendo la sintaxis de YAML, a medida que vais escribiendo el texto, nos irá diciendo si hay un fallo de sintaxis o no, por lo que no hay problema a la hora de hacerlo.

Tal y como habéis visto, configurar un bot de Telegram en Home Assistant es muy sencillo, ahora vamos a probarlo a través del propio sistema para comprobar que funciona correctamente, para ello simplemente debemos irnos a «Herramientas para desarrolladores» y en la pestaña de «Servicios» ponemos lo siguiente:

Una vez que tengamos esto, pinchamos en el botón de «LLAMAR SERVICIO» y de forma instantánea recibiremos una notificación por Telegram en nuestro smartphone. Esta es la mejor forma para comprobar que efectivamente funciona todo correcto, también podéis probar con la notificación de grupo, y así comprobáis las dos formas de notificación. A continuación, podéis ver capturas de los mensajes enviados directamente desde nuestra instancia de Home Assistant.

Tal y como podéis ver, el proceso de crear un bot y añadirlo a Home Assistant es bastante sencillo, podemos crear diferentes bots y grupos, no hay ningún tipo de limitación en este aspecto. De esta forma, podemos enviar ciertos mensajes a un usuario en concreto, y otros mensajes a otro.

El artículo Configura un bot de Telegram para recibir alertas de Home Assistant se publicó en RedesZone.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.