Notificaciones a Telegram desde Home Assistant

A partir de la instalación del servidor de Home Assistant en una Raspberry Pi con ArchLinux, vamos a continuar añadiendo servicios para esta plataforma.

En esta ocasión permitiremos a nuestro Home Assistant comunicarse con nosotros a través de Telegram.

Bot de Telegram

Lo primero que necesitamos es crear un bot de Telegram. Para ello nos conectaremos a BotFather y escribiremos el mensaje /newbot. Nos preguntará por el nombre que deseamos para el nuevo bot.

Alright, a new bot. How are we going to call it? Please choose a name for your bot.

Introduciremos el nombre del bot, tras lo que nos preguntará por el nombre de usuario para el mismo, que tendrá obligatoriamente que terminar con «bot».

Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.

BotFather nos devolverá un mensaje con el token de acceso al bot:

Done! Congratulations on your new bot. You will find it at t.me/XXX_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API:
0123456789:AAAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Keep your token secure and store it safely, it can be used by anyone to control your bot.

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Normalmente querremos que las notificaciones de Home Assistant lleguen a un grupo de usuarios, por lo que crearemos un grupo al que añadiremos a las personas de la familia, el bot que acabamos de crear y un bot adicional llamado IDBot. a este último preguntaremos el identificador del grupo mediante la orden /getgroupid.

Your group ID is: -123456789

En caso de que quisiéramos de que los mensajes llegasen directamente a nuestro usuario, prescindiríamos de crear ningún grupo y escribiríamos en el bot IDBot la orden /getid.

Your own ID is: 12345678

A continuación, podemos eliminar IDBot de nuestro grupo.

Alta del bot en Home Assistant

Ya disponemos del token de nuestro bot y de la ID del grupo o usuario receptor de los mensajes.

Vamos a editar configuration.yaml, donde añadiremos las siguientes líneas:

telegram_bot:
  platform: polling
  api_key: 0123456789:AAAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
  allowed_chat_ids:
    - -123456789
    - 12345678

Donde el campo api_key contiene el token y allowed_chat_ids los identificadores de grupos y usuarios.

Mensaje automatizado

Vamos a generar un mensaje que será enviado por defecto al primer identificador de Telegram de la lista cada día a la hora del amanecer.

- id: 'mensaje_a_telegram'
  alias: aviso de amanecer
  description: 'Aviso de amanecer por Telegram'
  trigger:
  - platform: sun
    event: sunrise
    offset: '0'
  condition: []
  action:
  - service: telegram_bot.send_message
    data:
      message: Amanece que no es poco
  mode: single

3 comentarios

Deja un comentario