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 “-“:
[sourcecode]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[/sourcecode]
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”:
[sourcecode]- 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[/sourcecode]
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á.
[sourcecode]{
"message":"MENSAJE A ENVIAR…"
}[/sourcecode]
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!