Os he hablado en Domótica Doméstica, en no pocas ocasiones, de las tecnologías LoRA y Sigfox, redes de comunicaciones especialmente diseñadas para el IoT y los objetos conectados.
Me atrevería a decir incluso que en las últimas semanas os he dado “la chapa”, tanto en el blog como en nuestro canal de Telegram, con TheThingsNetwork, una iniciativa abierta para difundir la tecnología LoRA/LoRaWAN y crear una red LoRa gratuita en cuantos más sitios mejor.
Pero creo que mi entusiasmo ha hecho que me saltara tres o cuatro pasos importantes en la labor didáctica que pretendo llevar a cabo en este blog, compartiendo todo o casi todo lo toco, experimento y pruebo. Así que voy a rebobinar para intentar explicar de forma muy básica y sencilla por qué creo que LoRa es ya hoy, aunque las redes LoRa no estén muy extendidas aún en nuestro país, un complemento muy a tener en cuenta en cualquier instalación domótica doméstica.
¿Por qué LoRa?
Ya sé lo que estáis pensando muchos: tengo en mi casa una buena instalación domótica basada en un controlador como eedomus, Jeedom, Domoticz, Home Assistant… y combino varias tecnologías inalámbricas especialmente diseñadas para la domótíca doméstica, como Z-Wave, EnOcean, ZigBee, Edisio, 433 Mhz… ¿Por qué debería añadir una más si ya estoy más que servido con todo esto?
A mi juicio LoRa tiene dos ventajas básicas con respecto a estas otras tecnologías que acabo de nombrar:
- La gestión de la energía: un nodo/periférico LoRa requiere muy poca energía para funcionar. Ya sé que Z-Wave+ ha mejorado mucho en este aspecto en los últimos años, o que los periféricos EnOcean, en la mayoría de los casos, funcionan sin pilas. Pero hay que subrayar aún así que un nodo LoRa (según el periférico y el uso) puede llegar a funcionar 5 anos o más con las mismas pilas. Para según qué usos/periféricos, puede ser determinante (como la geolocalización, por ejemplo).
- El alcance: En cuestión de protocolos domóticos inalámbricos, yo personalmente no he visto nada igual a Edisio, que supera con creces en alcance a Z-Wave+, EnOcean, ZigBee y todo el que se le ponga por delante, con un alcance de entre 100 y 200 m. en campo abierto, sin despeinarse. Pues bien, con LoRa pensad que podemos estar hablando de un alcance de varios kilómetros en según qué entornos (varias manzanas en ciudad, en función del gateway Lora que estemos usando).
Creo que ya estáis viendo adónde quiero ir a parar: a mi, como usuario de un sistema domótico multiprotocolo, me interesa sin duda alguna disponer de periféricos con un alcance de centenares de metros para algunos usos muy concretos…
LoRa, ¿para qué?
Si habéis leído el apartado anterior de este post, estoy seguro de que ya os habrán surgido un montón de ideas sobre qué usos concretos le podríais dar a un periférico LoRa en vuestras instalaciones domóticas. Y si no, aquí van algunas pistas:
- Caso clásico: Vives en un edificio de viviendas -pongamos en el sexto-, y tienes un trastero en el sótano o en la planta de arriba. Quieres proteger el trastero con un sensor de apertura de puertas porque últimamente se han producido robos y te preocupa. Ni Z-Wave, ni EnOcean, ni siquiera Edisio son opciones por la distancia que separa tu casa, donde tienes tu controlador domótico, del trastero. Y cablear es impensable. En este caso, un simple gateway monocanal y un sensor de apertura LoRa te van a solucionar la papeleta sin problemas.
- Otros caso clásico: Vives en un chalet y tienes la suerte de tener una parcela muy grande. Tienes la caseta del jardín a 250 m de tu casa, sin instalación eléctrica en ella. Quieres protegerla con un sensor de apertura pero ni Z-Wave ni Edisio llegan. Este este caso también LoRa es la solución.
- Otras ideas de casos prácticos en el campo de la domótica doméstica: Piensa que un nodo LoRa se lo puede construir uno mismo con un módulo Arduino y muy poco dinero, y adaptarlo a casi cualquier uso. Si funciona como sensor de apertura, puede hacerlo como contacto seco, como sensor PIR, como sensor de nivel de líquidos, como detector de lluvia… No hay límites. Se me ocurre por ejemplo controlar con un nodo LoRa el nivel de agua de un pozo alejado de la vivienda, o el nivel de un depósito de gasoil también situado lejos de la casa por motivos de seguridad, o la apertura de puertas en una valla perimetral… Ya digo, no hay límites, es cuestión de creatividad y de las necesidades que tengamos.
¿Cómo integrar periféricos LoRa en instalaciones domóticas?
Voy a explicar aquí, paso a paso, cómo integrar en el controlador domótico eedomus un nodo LoRa dado de alta previamente en la red abierta de TheThingsNetwork, pero es válido para cualquier controlador que tenga una API y admita órdenes domóticas por comandos http (Jeedom, Domoticz. Fibaro…).
Lo que no voy a explicar es cómo construir un gateway y un nodo LoRa porque, en primer lugar, sería muy atrevido por mi parte, y en segundo lugar la comunidad TheThingsNetwork Madrid organiza regularmente talleres prácticos para hacer justo eso.
Si te interesa LoRa, te recomiendo que te apuntes a uno de estos talleres, merece muchísimo la pena. Aprenderás mucho, conocerás a gente “maker” que te enseñará mucho también, y te irás a tu casa con un gateway y un sensor de apertura LoRa totalmente operativos y listos para ser integrados en tu sistema domótico (aunque no sepas soldar, te lo aseguro ;)). Y si no estás en Madrid, busca en tu zona, que hay comunidades TheThingsNetwork muy activas en toda la geografía española.
Por tanto, partiremos de la base de que ya tienes tu gateway y tu sensor de apertura LoRa funcionando y operativos.
Pasos a seguir en lo que respecta a eedomus
Lo primero que haremos es crear en eedomus un periférico virtual yendo a Configuración / Añadir o eliminar un periférico / Añadir otro tipo de periférico / Escena / Crear.
Como siempre que añadimos un periférico nuevo en eedomus, completaremos los distintos campos de la ventana de configuración del nuevo periférico, tal y como se puede ver en la siguiente imagen (con la opción “lista de valores”).
Luego nos iremos a la pestaña “Valores” (no sin antes guardar los cambios) y crearemos dos valores: abierto y cerrado (ya que estamos hablando de un sensor de apertura), con los valores brutos 0 y 100 (por ejemplo), y elegiremos iconos de nuestro gusto:
Por otra parte, y por una razón que explicaré más adelante, añadiremos otro periférico en eedomus, a través de la store, concretamente el periférico denominado “Toggle” (ojo, no “Toggle Chain”). Para ello, en el portal eedomus nos iremos a Configuración / Añadir o eliminar un periférico / Store eedomus / Toggle / Crear y rellenaremos los campos de la ventana de configuración de este nuevo periférico, tal y como indico en la siguiente imagen (en el menú desplegable buscaremos y seleccionaremos el periférico virtual que hemos creado en el paso anterior):
A continuación pulsaremos en “Crear”. Como decía, más adelante explicaré por qué es conveniente, en este caso, crear este periférico Toggle.
Ya sólo nos queda un paso. Buscaremos en el portal eedomus este nuevo periférico Toggle (con el nombre que le hayamos puesto), y abriremos su ventana de configuración para poder acceder a su código API, en el apartado “Parámetros experto”, y haremos clic en la llave situada junto a dicho código, tal y como se puede ver en la siguiente imagen:
Al pulsar en dicha llave, se abrirá una ventana nueva donde tenemos que introducir la contraseña de nuestra cuenta eedomus. Al hacerlo y al pulsar “retorno”, se abrirá otra ventana nueva como la que se puede ver en la siguiente imagen, donde seleccionaremos “Cloud” en “Destino”, “SET” en “Dirección”, periph.value” en “Actuador” y “Toggle” en “Valor”, tras lo cual aparecerá justo debajo una URL que copiaremos al portapapeles porque la necesitaremos más adelante.
Pasos a seguir en lo que respecta a TheThignsNetwork
Como decía anteriormente, parto de la base de que tenemos un gateway y un sensor de apertura LoRa dados de alta en la plataforma de TheThingsNetwork.
Lo primero que debemos hacer aquí es logearnos en nuestra cuenta de TheThingsNetwork e ir a Console/Application.
En la ventana que se abre debe aparecer nuestro sensor de apertura LoRa. Hacemos clic en él:
A continuación nos vamos a la pestaña “Payload Formats” para asegurarnos de que tenemos “Cayenne LPP” seleccionado:
Después, nos vamos a la pestaña “Integrations”, pulsamos en “Add Integration” y finalmente elegimos “HTTP Integration” entre las opciones disponibles:
Sobre esto quiero comentar que el apartado “Integrations” ofrece distintas opciones de integración de los nodos LoRa dados de alta en la red de TheTinhgsNetwork a través de distintas plataformas, muchas de ellas muy interesantes que no puedo comentar aquí porque sería demasiado largo, entre ellas IFTTT.
Por consiguiente, podríamos haber elegido otra opción de integración, incluida IFTTT, pero la mejor en este caso es HTTP, ya que nos evita tener que pasar por otra plataforma externa más, lo que generaría más latencia.
Al elegir “HTTP Integration” se abre una ventana nueva en la que debemos rellenar sólo los 4 primeros campos: Process ID (el que nos inventemos), Access key (aquí elegimos en el desplegable el correspondiente al nodo/periférico LoRa que vamos a usar, si tenemos solo uno es fácil), URL (aquí pegamos la URL que hemos copiado antes en eedomus, ¿recordáis?), y Method (elegimos POST).
Guardamos la configuración pulsando en “Add Integration” y ya está.
Ahora, cada vez que nuestro nodo LoRa detecte apertura o cierre de la puerta en la que esté instalado, ese estado se reflejará en nuestro controlador eedomus con una latencia de unos pocos segundos (unos 5-7 segundos aprox.).
¿Por qué usamos el periférico Toggle en eedomus?
Pues simplemente porque a día de hoy, la integración por HTTP que ofrece el back-end de TheThingsNetwork no permite especificar un valor en la URL que usamos. Usando el periférico Toggle, conseguimos que cada vez que Toggle reciba una llamada http desde el back-end de TheThingsNetwork, cambie el estado de nuestro periférico virtual de puerta en eedomus.
La integración que ofrece TheThingsNetwork a través de IFTTT sí que permite distinguir entre abierto y cerrado, pero la integración por HTTP de momento no (próximamente se espera una actualización de esa integración -Stack 3 de TheThingsNetwork-, que quizá permita hacer eso).
Conclusiones
En primer lugar, espero que este post no sea demasiado largo pero sois vari@s los que me habéis preguntado sobre cómo integrar nodos LoRa en eedomus y quería dejarlo documentado todo paso a paso.
Si pensáis que LoRa os puede solucionar una problemática muy concreta en vuestra instalación domótica, por su gran alcance, no lo dudéis, con un simple gateway LoRa monocanal y un nodo adecuado al uso requerido, por muy poco dinero podréis dar respuesta a esa necesidad concreta. Y si no sabéis qué demonios es LoRa, un gateway monocanal o un nodo LoRa, no pasa nada, apuntaos a un taller de la comunidad de TheThingsNetwork de vuestra ciudad o zona.
Si podemos conseguir esto con muy poco en realidad, qué no se podrá hacer cuando tengamos redes LoRa desplegadas en nuestras ciudades: se me ocurren muchos usos relacionados con la domótica, pero eso daría para otro articulo…
El post Por qué, para qué y cómo integrar periféricos LoRa en nuestras instalaciones domóticas aparece primero en Domótica Doméstica.