Home Assistant #9: Notificaciones en Telegram

Una de las cosas más necesarias, sobretodo cuando se trata de tener una casa inteligente es el hecho de que el sistema nos avise de todo lo que necesitemos estar al tanto, por ejemplo, si algo se ha quedado encendido o abierto cuando nos vamos de casa o bien de alguna anomalía cuando no estamos en ella.

Existen multitud de componentes destinados a esta función como podemos ver en la sección notifications de la web de Home Asisstant, entre los que figuran algunos como son Twitter, Telegram, Kodi, Jabber, Facebook messenger, notificaciones push, etc, es decir que, de una forma u otra, podemos recibir en nuestro dispositivo más usado el aviso para, estar informados o bien, para poder decidir qué hacer, por ejemplo, en el caso de saltar la alarma.

Entre las diferentes formas de notificación, tenemos la posibilidad de mandar por Telegram, un sistema de mensajería que, para aquellos que no lo conozcáis, es un estilo a Whatsapp, solo que, en mi opinión, es mucho mejor en todos los aspectos, entre ellos, con la existencia de los “bots”, es decir, robots con los que podemos interactuar y, en nuestro caso, haremos que sea “la voz” de nuestra casa.

Si ya tenéis Telegram, podéis seguir la guía, pero, para aquellos que no, os recomiendo que busquéis en vuestra tienda de aplicaciones, como Play Store o App Store, para descargarlo y ponerlo en marcha, al igual que se hace en Whatsapp. Una vez que tengáis Telegram en funcionamiento, podemos seguir para crear nuestro bot, el cual, será el que nos informará y más adelante podrá recibir órdenes para poder hacer cosas en casa desde Telegram.

Como crear un bot de Telegram

  • Buscamos el usuario BotFather, que es, como el nombre indica, el padre de todos los bot (además de hacer guiño a la película del Padrino, The GodFather)

  • Ponemos /start y podemos empezar a ver la lista de comandos que necesitaremos, aunque, si queremos ver la lista completa, después de /start, podemos poner / y nos aparecerá la lista completa de los comandos que queremos

  • Escribimos /newbot para que empecemos la creación
  • Para el nombre, escribimos lo que queramos, ya que es el nombre mostrado, no el nombre de usuario, en mi caso he puesto GizchinaHA
  • Posteriormente nos pide el nombre de usuario, y, en este lugar si que Telegram obliga a que acabe en la palabtra “bot”, sea en mayúsculas o minúsculas, en mi caso he puesto GizchinaHABot

  • Ya tenemos nuestro bot y, como veis, botfather nos da una clave (token) para poder hacer uso del bot por web. Si os gusta este tema, os recomiendo buscar información sobre los bots porque tienen mucho potencial.

Obtener nuestro ID de chat para integrar nuestro bot en Home Assistant

Para poder integrar en nuestra instalación necesitamos tan solo un dato, nuestro ID de conversación para que nuestro bot sepa a quien hablar, para eso, buscamos al bot IDBot:

En el, pondremos /start y posteriormente el comando /getid y os contestará un número:

Con ese número apuntado, ya podemos configurar nuestro Home Assistant para comunicarse con nosotros desde Telegram

Integrando Telegram en Home Assistant

Home Assistant tiene diferentes maneras de usar Telegram ya que, el propio Telegram permite varias maneras de interactuar con los bots, nosotros vamos a usar la llamada “Telegram Polling” para poder mandar mensajes a nuestro usuario en Telegram. Para ello, abriremos la configuración y añadiremos lo siguiente:

telegram_bot:
  - platform: polling
    api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
    allowed_chat_ids:
      - CHAT_ID_1
      - CHAT_ID_2
      - CHAT_ID_3

Donde ABCDEFGHJKLMNOPQRSTUVXYZ lo cambiais por el token que os dio el botfather de vuestro bot y CHAT_ID_1, 2, 3…. lo cambiais por vuestro ID de chat (en el caso de solo querer notificar a 1 usuario, podéis borrar CHAT_ID_2, CHAT_ID_3, sin problema, pero, si queréis notificar a, por ejemplo, vuestra pareja, tendréis que poner cada ID de chat en cada linea.

Con ese paso ya tendréis dado de alta el bot y enumerados los usuarios a los que puede comunicarse, ahora, quedaría crear el notificador en si, que sería como el canal por el que mandaría el mensaje. Si queréis mandar notificaciones a más de un usuario, tendréis que poner uno por cada:

notify:
  - name: TelegramDeEdu
    platform: telegram
    chat_id: CHAT_ID_1

En este ejemplo, tendréis que poner el nombre que queráis, en mi caso lo identifico como que es mi Telegram, para saber que notificaciones mando a mi usuario y, ahí vuelvo a poner mi ID de chat (el que hemos obtenido con el bot), pero no el token.

Ahora, solo nos queda reiniciar y esperar que todo esté correcto, si algo falla, recordad mirar el log

Ejemplo de uso de la notificación por Telegram de Home Assistant

Una vez que ya está configurado, necesitamos probarlo, para ello, podemos crear una pequeña automatización para poder notificarnos cuando un dispositivo entra o sale de casa. Por ejemplo, voy a hacer el ejemplo que tengo de cuando mi móvil sale de casa y notifica que me he ido. Lo primero que haríamos sería ir a Configuración y Automations, una vez dentro, le damos al botón + de añadir y empezamos la configuración:

  • La primera parte es la de poner el nombre que queramos.

  • Después, elegimos el dispositivo que queremos controlar, en este caso, cuando mostramos cómo detectar dispositivos en Home Assistant, vimos que en el fichero known_devices podemos asignar nombre, por lo que aquí, lo usaremos, en mi caso, el dispositivo “device_tracker.edu” es mi movil, y, el trigger, será cuando pase de “home” (estoy conectado a la red de casa) a not_home (no me detecta en la red de casa.

  • En conditions, no necesitamos nada ahora, pero, por ejemplo, podríamos poner que solo notifique a ciertas horas o lo que queramos
  • Como Action, tendremos que poner en el service el que hemos configurado como telegram, tal y como hemos visto en el ejemplo.

De esta forma, empezaremos, si todo ha ido bien, a recibir mensajes a través de nuestro bot en Telegram de esta forma:

Estos mensajes mostrados, son reales de la configuración que tengo en casa, en la que detecto si se ha abierto la puerta y avisa, así como para notificar cuando has dejado la casa. Por lo que podéis combinarlo con todos los dispositivos que tengamos, sensores de movimiento, puerta, etc.

Espero que os haya gustado, ¡pronto más!

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

Eduardo Ruiz

Amante de la tecnología, escribo para compartir una de las mayores aficiones que tengo y poder estar al día en el aspecto tecnológico.