Cómo integrar Telegram en Jeedom
- Tutorial paso a paso para integrar Telegram en Jeedom y poder así recibir notificaciones, hacer consultas y dar órdenes domóticas por esa vía.
Telegram se ha convertido poco a poco en mucho más que una simple aplicación de mensajería. Más allá de la cuestión de saber si es una solución más segura y atractiva que otras opciones más conocidas, lo que es innegable es que puede ser, y se ha convertido de hecho, en un sistema de notificación muy efectivo en distintos campos, como el de la domótica, especialmente desde que es compatible con la plataforma IFTTT.
Gracias a su API, es posible integrar Telegram en nuestros controladores domóticos sin depender de IFTTT, construyendo así una suerte de sistema de notificación paralelo que, además de avisarnos de los distintos eventos que se producen en nuestra instalación domótica, es capaz también de contestar a nuestras peticiones de información o órdenes domóticas.
En este tutorial, os vamos a explicar cómo integrar Telegram en Jeedom. Para ello, configuraremos Jeedom para poder hacer uso de las interacciones vía un Bot de Telegram.
Paso 1: Acceso seguro HTTPS
Lo primero que debemos hacer es habilitar el acceso a Jeedom vía el HTTPS al puerto 443. Para ello seguiremos el tutorial de Jeedom, variando los pasos en función del servidor web que tengamos instalado.
Será preciso, por tanto, generar un certificado y tener un dominio de acceso a nuestra IP. Accediendo a la consola de jeedom vía telnet o ssh:
a) Obtener LetsEncrypt.
Éstos son los comandos que hay que ejecutar para instalar LetsEncrypt ante de generar el certificado:
apt-get install -y git cd /opt git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
Para generar una petición de certificado, hay que disponer de un nombre de dominio al que se asociará el certificado.
b) Configuración del servidor web.
Supongamos que tenemos Apache, que es lo más normal:
/opt/letsencrypt/letsencrypt-auto --apache --email tuemail@tuemail.com -d tudominio.com
Es preciso dar un email con objeto de que nos avise el sistema de la caducidad del certificado. Llegado ese momento, tendremos que renovar el certificado mediante:
/opt/letsencrypt/letsencrypt-auto --apache --renew-by-default -d tudominio.com
c) Configuración de Jeedom para que tenga constancia de los puertos de acceso.
Rueda dentada –> Configuración –> Red
Por último, ni que decir tiene que el router debe estar configurado correctamente haciendo las redirecciones pertinentes desde la WAN exterior hacia la IP interna de Jeedom. Cada router es un mundo en este sentido, pero las peticiones externas al puerto 443 deben estar redirigidas a la IP interna de nuestro equipo con Jeedom.
Paso 2. Instalación de Telegram
Instalamos el plugin Telegram desde el market de Jeedom y generamos un nuevo dispositivo por cada Bot que deseemos usar en Jeedom.
Configuramos el nuevo dispositivo, especialmente el Token del Bot:
Para aquellos que no estén familiarizados con la creación de un bot en Telegram, os recomiendo leer la documentación oficial.
a) Desde telegram accedemos al botfather: https://telegram.me/botfather
b) Iniciamos chat con el bot: /start
c) Creamos un nuevo bot: /newbot
Nos pedirá un nombre para el bot. Por ejemplo: Jeedom.
A continuación nos pedirá un nombre de usuario. Por ejemplo: MiNickBot
A continuación Telegram crea el bot y nos facilita el Token que hay que introducir en Jeedom.
d) Por último hay que darle un alias a nuestro usuario de Telegram si no lo teníamos:
Desde el menú principal de Telegram–> Ajustes –> Alias, e introducimos el Alias que nos parezca oportuno.
Ya deberíamos estar en disposición de usar el sistema. Con todos los pasos anteriores habremos conseguido dos cosas:
- Establecer un canal de envío de mensajes o notificaciones desde Jeedom hacia Telegram. Jeedom genera un dispositivo con opción de mandar mensajes a cada usuario y permite su uso en escenas.
Por ejemplo:
Incluso podemos mandar fotos de nuestras cámaras:
- Lo más importante: poder interaccionar entre Telegram y Jeedom vía mensajes de texto. Nos permitirá acceder a la consultas o interacciones que tengamos programadas en Jeedom desde Telegram. Para todos aquellos que no conozcan las interacciones de Jeedom os recomendamos la lectura de su documentación.
Resultados
Como resumen digamos que es un método muy potente de generar consultas de información o acciones mediante lenguaje natural a través de API’s de terceros de forma rápida:
Por ejemplo, supongamos la siguiente interacción de información:
Y hacemos la consulta desde Telegram:
Del mismo modo que hacemos consultas de información, podemos dar órdenes con la interacción adecuada.
Recuerda que si te interesa Jeedom, puedes comprar un kit totalmente configurado en domboo.es, pulsando en la siguiente imagen.
Buenas,
la instalación hay que hacerla como root o con el usuario de jeedom?
muchas gracias por el manual 🙂
un saludo,
En Jeedom solo se pueden instalar plugins como administrador del sistema domotico, que no tiene nada que ver con ser root del sistema Linux que corre debajo. Es decir, instala el plugin como uno más y sigue los pasos.
Un saludo,
Buenas,
Me refería a l parte en la que ejecutas comandos desde la consola en linux.
Gracias y un saludo,
Efectivamente cuando accedes vía terminal o mediante ssh el acceso requerido es el de administrador (root).
Buenas,
no me funciona, creo que porque tengo mi dominio con noir (gratis) y no aceptan SSL si no pagas, en la configuración de jeedom de red no me sale en verde la línea de https.
tu cómo lo has hecho, tienes un dominio en algún sitio gratis que te admita SSL?
gracias,
Es preciso disponer de un dominio para poder autentificarlo vía letsencrypt. Efectivamente en el caso de Alberto es de pago.
Gracias Philippe.
Yo tengo noip (gratuito), voy a estudiar los pros/contras… aunque la idea de conversar con mi jeedom…. me gusta, pero no tanto pagar 😉
no consigo que funcione
vale para la direccion que da jeedom con su service pack??
simepre recibo la misma respuesta “message recu” pero si escribo desde jeedom si que me llega a telegram
La documentación sobre “interacciones” no esta disponbile, podeis poner el nuevo enlace?
Aquí la tienes en francés: https://jeedom.github.io/core/fr_FR/interact
Y en español: https://jeedom.github.io/core/es_ES/interact
Consigo acceder por https a mi jeedom mediante un dominio no-ip dominio.ddns.net pero el plugin no termina de mandar nada al bot, ni el bot tiene comunicación. alguien me podría comentar posibles soluciones??