En esta entrega vamos a continuar con la saga de artículos sobre el hogar domótico y la automatización. Dejaremos a un lado la parte más física (Hardware) y nos iremos con la parte más lógica (Software). Al fin y al cabo, nuestro hogar inteligente solo lo será si es capaz de realizar automatizaciones que nosotros programemos de antemano. Aún queda un poco lejos la automatización mediante Inteligencia Artificial, pero es cuestión de tiempo. Hace algún tiempo hablábamos de Home Assistant, un programa que se encarga de gestionar todos nuestros dispositivos inteligentes. Sin embargo, la programación de automatizaciones no es la más sencilla. Para esto, surge Node-RED.

¿Qué es Node-RED?

Node-RED es un entorno que utiliza un lenguaje visual de flujo para programar nuestras automatizaciones. Su nombre viene del entorno que se utilizó para crearlo (Node.js) y el acrónimo RED (Rapid Event Developer), y se creó como un proyecto secundario en la empresa IBM en 2013. Al poco tiempo decidieron publicarlo como Open Source lo que ha contribuido a su enorme éxito. Como podéis ver, comparándolo con otros lenguajes que llevan más de 50 años con nosotros, es bastante reciente.

Como hemos comentado, este entorno se basa en un lenguaje visual, por lo que no encontramos líneas y líneas de código. En este caso, cada función se representa por un bloque, que está interconectado con otros bloques. Dichos bloques tienen una serie de entradas, una serie de salidas, y se ejecutan cuando todas las entradas están disponibles. Así pues, nos alejamos del concepto de ejecución lineal, donde una línea se ejecuta detrás de otra. Todos aquellos que han programado en LabView saben de qué hablo.

La cantidad de bloques que existen es muy amplia, debido al carácter Open Source del sistema. Se pueden añadir cientos de interfaces con diferentes aplicaciones, así que estaremos limitados únicamente por nuestra imaginación.

Aplicaciones

Entre los bloques que podemos añadir, en el caso de este artículo vamos a centrarnos en los que tiene que ver con la automatización del hogar. Como habéis podido imaginar, existen bloques para controlar sistemas de los que hemos hablado con anterioridad, como Philips Hue, Home Assistant, IKEA Tradfri… Esto significa que tenemos todo el control sobre estos sistemas en la puta de nuestros dedos.

También existen bloques que configuran una especie de Panel de Control (Dashboard), que nos permite mediante nuestro móvil, tableta o navegador, efectuar acciones que repercutirán en nuestro sistema. Por ejemplo, podemos tener un botón que se llame “Ir a dormir”, en el cual se apagan todas las luces de la casa, se comprueba que las ventanas estén cerradas, apagamos todos los electrodomésticos y activamos la alarma.

node-red
Interfaz Node-RED

Dichos bloques se comunican a través de mensajes, que poseen un contenido. Este contenido puede ser de cualquier naturaleza y podemos incluir entre unos y otros bloques de procesamiento, donde podemos escribir nuestras propias rutinas. Como digo, las posibilidades son prácticamente infinitas.

Conclusiones

Sin ser un experto en Node-RED, tengo que reconocer que es bastante potente a la hora de gestionar todo tipo de automatizaciones. En lugar de tener mil ventanas con diferentes menús, y donde no sabemos muy bien dónde hacer qué, tenemos un interfaz visual que a simple vista nos da toda la información.

Después de algunas semanas utilizándolo para reemplazar las automatizaciones presentes en Home Assistant, tengo que reconocer que el sistema es mucho más potente. Con un par de clicks de ratón se pueden hacer “recetas” de automatización que son extremadamente útiles y fáciles de entender para alguien que no esté familiarizado.

Es cierto que la curva de aprendizaje no es tan plana como me hubiese gustado, pero para la gente no acostumbrada a los lenguajes de programación, puede ser una ventaja. Hay que cambiar el paradigma de nuestro enfoque, pero una vez hecho esto, las posibilidades son casi infinitas.

¡Comparte Ésto!

¿Te ha gustado este artículo? Entonces échame una mano para ayudar a más gente compartiéndolo en tus redes sociales. ¡Gracias!