27 May 2019

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

Visto 177 veces
Escrito por:5

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Etiquetado como:

¡Escribe el primer comentario!

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

*** introtext ***

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

 

 

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

twitter

Últimos tweets