Blog

No pretendo ser un gurú. En la red hay muchos y muy buenos.

28 May 2019

Servidor domótico: 3 - Añadir un bot de Telegram en OpenHAB2

Según la wikipedia, un bot es un programa informático que efectúa automáticamente tareas. En nuestro caso, el bot que vamos a crear a continuación en Telegram, será el responsable de informarnos puntualmente, mediante mensajes, de los eventos que vayan sucediendo en openHAB

El primer paso, es ser usuario de esta plataforma de mensajería. Si no lo eres todavía, instalaremos la aplicación en nuestro smartphone desde Google Play y en nuestro ordenador mediante:

sudo pacman -S telegram-desktop

Una vez finalizada la instalación, abriremos BotFather que nos guiará en la creación de nuestro bot.

Telegram BotFather

Comenzaremos enviándole el mensaje /start y recibiremos como respuesta todos los comandos que estén disponibles.

Start BotFather)

El primer comando que utilizaremos será /newbot

New Bot

BotFather nos pedirá un nombre y un usuario para nuestro Bot. El usuario debe terminar obligatoriamente en 'bot' y no debe estar en uso. Una vez elegido y enviado, BotFather nos confirmará la creación y nos facilitará un código token que utilizaremos más adelante.

Token

Por último, vamos a personalizar el bot con una foto de perfil, y lo haremos mediante /setuserpic

Añadiendo una foto de perfil al bot

Además de la clave token anterior, necesitaremos nuestro chat_id, Para obtener esta información utilizaremos IDBot, un bot que nos retornará nuestro ID.

Telegram MyIDBot

La operación es muy sencilla. Únicamente debemos empezar el chat con /start y a continuación /getid. Con estos dos comandos conoceremos nuestro ID.

Obteniendo mi chat_id en MyIDBot

Regresaremos a OpenHAB, e instalaremos action-telegram desde Add-ons:

Añadiendo una foto de perfil al bot

Con la clave token y el chat_id, es hora de crear el fichero telegram.cfg en la Raspberry

sudo nano /etc/openhab2/services/telegram.cfg
# Read http://www.instructables.com/id/Telegram-Bots-for-beginners/ 
# to see how to set up bots and find your chat ids
#
# bots=bot1,bot2
# bot1.chatId=22334455
# bot1.token=xxxxxx
# bot2.chatId=654321
# bot2.token=yyyyyyyyyyy

bots=openhabrpi
openhabrpi.chatId=9999999
openhabrpi.token=123456789:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`

Y con ésto habremos terminado. Para comprobar que todo funcione correctamente, crearemos una regla muy simple para que OpenHAB envíe un mensaje a nuestro chat.

Creamos el fichero de la regla:

sudo nano /etc/openhab2/rules/test-telegram.rules

Utilizaremos una tarea cron para que, a una hora determinada nos envíe el mensaje. Si no estamos habituados a las expresiones de cron, podemos ayudarnos en la página web cronmaker.com

En el ejemplo, voy a poner que me envíe el mensaje a las 10:37, y el texto del mensaje será, como no, ¡Hola Mundo!

La accion sendTelegram se compone del bot que hemos reseñado en /etc/openhab2/services/telegram.cfg y del mensaje propiamente dicho.

rule "Prueba de mensajería Telegram"

when
    Time cron"0 37 10 1/1 * ? *"
then
    sendTelegram("openhabrpi", "¡Hola Mundo!")
end

Si todo esta correcto, recibiremos un mensaje puntualmente en nuestro smartphone cada día a las 10:37

Mensaje en nuestro smartphone de openHAB

No olvidemos eliminar la regla cuando hayamos confirmado que funciona correctamente el bot

 

 

Visto 19 veces
Valora este artículo
(0 votos)

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.

Twitter

Últimos tweets