Home Assistant #9: Notificaciones en Telegram

Tutoriales

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.

¿Quieres montarte tu propio sistema Smart Home?

¿Te gustaría empezar poco a poco teniendo Google Home, Alexa o Home Assistant para controlar las luces, calefacción y otros electrodomésticos de la casa? ¡Te ayudamos! Entra en nuestro Grupo de Telégram de Domótica y también puedes entrar a nuestro Foro de Domótica donde podrás empezar a leer y preguntar tus dudas. Además, si quieres estar al tanto de las ofertas de domótica que salen a diario para poder hacerte un sistema de domótica low cost, entra a nuestro Canal de ofertas de domótica y no te perderás ni una o si lo prefieres y no tienes Telegram, puedes entrar a nuestra página de ofertas de domótica o Smart Home en Facebook. ¡Síguenos también en nuestro Facebook, Twitter o Instagram! ¡Te esperamos!

Si también buscas otro tipo de ofertas, puedes echar un ojo a nuestros otros canales:
* Tecnología en general *
* Juguetes / consolas / Juegos de mesa *
* Manualidades *
Si no tienes Telegram puedes consultar todas las ofertas en Megabazar.es

8 Comentarios

  1. xequinfretfa

    Muchas gracias por vuestra información. La web tiene tutoriales muy buenos que me han ayudado a configurar mi Hassio.

    Falta un pequeño detalle, que si no se realiza, las notificaciones no se lanzaran, y es que cuando hemos creado nuestro bot, en vuestro ejemplo se llama GizchinaHABot, debemos buscarlo en Instagram e iniciarlo, porque es que se encarga de enviar los mensajes a los chat_id que hayamos definido en la configuración del Home Assistant.

    De nuevo agradezco vuestras aportaciones.

    saludos

    Reply
  2. Enrique Blanco Esteve

    Para recibir llamas telefónica desde Hassio a Telegram

    En #/config/configuration.yaml

    notify:
    – name: telegram
    platform: telegram
    chat_id: Numero_chat_id_que_corresponde

    # Hay que añadir estas lineas……..

    – name: TelegramCall
    platform: command_line
    command: ‘wget $(cat) -O /dev/null’

    A la hora de hacer la automations.yaml

    añadir la acción: notify.telegramcall

    message: http://api.callmebot.com/start.php?user=+34Numero_de_movil&text=Mensaje_que_quieres_que_te_dicte&lang=es-ES-Standard-A

    Sustituir:
    * Numero_de_movil es tu numero de móvil
    * Mensaje_que_quieres_que_te_dicte

    Saludos

    Reply

Contestar

Tu e-mail no será publicadoRequired fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Lost Password

Registro