Seleccionar página

Analizamos openHAB, la plataforma domótica a nuestro alcance

Blog | IoT

Hoy en día existen múltiples dispositivos, sistemas y tecnologías que se encargan de la automatización del hogar. Aunque estas tecnologías se encuentran en un estado bastante avanzado, existe un problema y una limitación a la hora de diseñar sistemas domóticos, debido a la ausencia de interfaces enfocadas a usuarios con diferentes necesidades y a la baja interoperabilidad entre los fabricantes de los distintos sistemas de automatización de viviendas y edificios.

Esta situación en la mayoría de los casos nos obliga a centrarnos en un único fabricante, en lugar de adaptar bajo una misma interfaz y sistema de control diferentes soluciones domóticas según sean nuestras necesidades. Por ejemplo, podríamos necesitar combinar las tecnologías domóticas inalámbricas de un fabricante y las tecnologías cableadas de otro.

Debido a estas necesidades nace la plataforma openHAB, que es una tecnología cuyo software es de código abierto, diseñada para integrar diferentes sistemas de automatización de viviendas, dispositivos y tecnologías dentro de una misma solución. Proporciona interfaces de usuario uniformes, centralizadas y con un enfoque común para las reglas de automatización en todo el sistema.

OpenHAB es independiente del proveedor, del hardware y del protocolo de comunicación que integre. La interoperabilidad es uno de los puntos fuertes de esta plataforma, ya que permite combinar las diferentes soluciones domóticas existentes en el mercado.

 

Otra de las ventajas de la plataforma openHAB es que permite su instalación en dispositivos pequeños y de bajo coste como la Raspberry Pi, por lo que no es necesario realizar una gran inversión para poder trabajar y realizar pruebas con esta tecnología. También es capaz de funcionar en múltiples plataformas como Linux, Windows y OSx.

En cuanto a la arquitectura, la plataforma openHAB ha sido desarrollado en Java y principalmente está basado en el framework de Eclipse SmartHome. Utiliza Apache Karaf junto con Eclipse Equinox para crear un entorno de ejecución OSGi, y es un software altamente modular que se puede extender a través de add-ons. Estos add-ons le dan una amplia gama de competencias, desde la capacidad de crear interfaces de usuario, hasta la de interactuar con un gran número de dispositivos. El entorno de programación de openHAB está basado en un lenguaje de scripting sobre Xbase.

La plataforma openHAB tiene dos puntos de vista acerca de la automatización de los sistemas domóticos, el punto de vista físico y el punto de vista funcional. El punto de vista físico se basa en los dispositivos que componen el sistema, como por ejemplo los cables y el hardware de las tecnologías que lo componen. El punto de vista funcional se centra en cómo se representa la información sobre los dispositivos y las conexiones en la interfaz de usuario. El punto de vista funcional tiene en cuenta como las reglas afectan a las representaciones de software de los dispositivos físicos, es decir, en el comportamiento del software que representa nuestros dispositivos físicos tras una acción en la interfaz del usuario.

 

Entendiendo los conceptos Thing, Channel, Binding e Item en openHAB

En openHAB debemos entender el concepto de Thing, que son las entidades que pueden ser agregadas físicamente a nuestro sistema domótico. los Things pueden proporcionar más de una función, por ejemplo, podemos tener un multisensor que nos proporcione información acerca de la medida de la temperatura de una habitación y a la vez operar como detector de movimiento. El concepto de Thing no solo se centra en los dispositivos físicos, puede representar también un servicio web (que nos proporcione la información meteorológica) o cualquier fuente de información o funcionalidad que se integre en nuestro sistema.

Otro concepto importante de la plataforma openHAB son los Channels, que representan las diferentes funciones que proporcionan los Things. Podemos entender que el Thing representa la entidad física o la fuente de información y el Channel es una función concreta de ese Thing.

Para conseguir la interoperabilidad que caracteriza esta tecnología, openHAB se encarga de conectar los diferentes sistemas domóticos, sus correspondientes dispositivos de hardware y sus protocolos a través de Bindings. El concepto de Binding se puede considerar como un adaptador de software, haciendo que los Things estén disponibles para el sistema domótico. Estos enlaces permiten enviar y recibir comandos y actualizaciones de estados a través del bus de eventos de openHAB. Esta arquitectura permite crear interfaces de usuario centralizadas que interconectan sistemas independientes, permitiendo utilizar dispositivos que implementan un gran número de tecnologías. De esta forma podemos trabajar con un mismo controlador domótico sobre tecnologías diferentes.

 

Los Items representan capacidades que las aplicaciones pueden usar, ya sea en las interfaces de usuario o en el software. Los Items tienen un estado y pueden recibir comandos. El vínculo entre Things e Items son Links. Un Link es una asociación entre un Channel y un Item. Si un Channel está vinculado a un Item, está «habilitado». Los Channels pueden estar vinculados a varios Items y los Items pueden estar vinculados a varios Channels.

En openHAB están disponibles diferentes Items como: Color, que representa la información del Color (RGB) y que puede recibir los comandos On / Off, incrementar intensidad, etc. Podemos encontrar también el Item de DateTime que se encarga de recoger la información de la fecha y la hora.

Otro aspecto a tener en cuenta es la privacidad de los datos. En la plataforma openHAB todos los datos que han sido recopilados de los sensores o de los actuadores pertenecen al usuario, que es quien decide como gestionarlos. Además, si no se desea operar de forma remota en nuestro sistema domótico, openHAB permite trabajar dentro de la intranet sin conexión a internet, comportándose como un sistema de la intranet de las cosas.

En cuanto a la interfaz de usuario tenemos HABmin, que ofrece funciones de usuario y administrativas (por ejemplo, mapas de sitio para los usuarios y utilidades de configuración). Esta interfaz de usuario es capaz de funcionar correctamente en múltiples dispositivos, pudiendo utilizarla en Android. A través de HABmin podemos configurar algunos Bindings, Items, redes domóticas, realizar consultas y gráficos desde bases de datos, configurar reglas, etc. Esta interfaz proporciona un entorno gráfico que se ejecuta en cualquier navegador.

Como podemos ver la plataforma openHAB nos proporciona múltiples ventajas a la hora de crear un sistema domótico, ya que nos ofrece una gran interoperabilidad entre las diferentes plataformas existentes sin la necesidad de realizar una gran inversión económica, permitiendo de esta forma desarrollar sistemas flexibles y que integran diferentes soluciones según sean nuestras necesidades.

Si quieres profundizar tecnológicamente en lo relativo a instalaciones domóticas, te recomendamos leer nuestro artículo «Explotando los latidos en instalaciones domóticas» y conocer nuestra solución KALENA para la gestión de los espacios y otros recursos corporativos.

Jose Antonio Amores Durán

Jose Antonio Amores Durán

José Antonio es Ingeniero de Desarrollo en la Factoría de Software y Fabricación ecoLógica en Panel. Puedes visitar su perfil en Linkedin o puedes contactar con él vía e-mail en esta dirección.

Déjanos tu comentario

3 Comentarios

  1. Miguel Angel Nicolao

    Muy interesante… pinta muy, muy bien … casi demasiado bien, ¿De verdad que no tiene truco? 😉

    ¿Incluye también facilidades para el tratamiento del sistema en base a escenas? Es decir, sirve para gente que quiera manejar la domotica de su casa (y lo que venga … lavadoras, etc) pero que no quieran meterse a nivel técnico, manejar desde un móvil y facilito.

    Gracias por compartirnos este estudio.

    Saludos
    MAN

    Responder
    • Pedro Serrano

      Lo que yo conozco acerca de esta iniciativa sí permitiría crear un modelo de escenas de acción que serían representables posteriormente con un interfaz gráfico, que como bien dices , podría ser un teléfono móvil o tablet con una capacidad de manejo accesible para cualquier usuario.

      Saludos!

      Responder
    • Jose Antonio Amores

      Eso es, tal y como comenta Pedro, es posible configurar escenas en nuestro sistema que posteriormente podremos representar mediante la interfaz gráfica, que podremos ver en un smartphone o tablet entre otros dispositivos.

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share This