open Home Automation Bus ( openHAB ) es un software de automatización del hogar de código abierto escrito en Java . Se implementa localmente y se conecta a dispositivos y servicios de diferentes proveedores. A partir de 2019, hay cerca de 300 enlaces disponibles como módulos OSGi . [2] Las acciones, como encender luces, se activan mediante reglas, comandos de voz o controles en la interfaz de usuario de openHAB. El proyecto openHAB comenzó en 2010. En 2013, la funcionalidad principal se convirtió en un proyecto oficial de la Fundación Eclipse con el nombre de Eclipse SmartHome. [3] openHAB se basa en Eclipse SmartHome y sigue siendo el proyecto para el desarrollo de enlaces. Según Black Duck Open Hub , está desarrollado por uno de los equipos de código abierto más grandes del mundo. [4] También cuenta con una comunidad de usuarios activa. [5]
OpenHAB requiere una JVM y se puede implementar en servidores que ejecutan varios sistemas operativos, una instancia dedicada de Raspberry Pi o algunos sistemas de almacenamiento conectados a la red . [6] [7] Los enlaces necesarios se pueden agregar en tiempo de ejecución a través de OSGi. OpenHAB admite una serie de backends de persistencia para almacenar y consultar datos del hogar inteligente, incluidas bases de datos relacionales y de series temporales . Por defecto, openHAB usa rrd4j para persistencia. [8]
Después de la instalación, openHAB escanea la red local y descubre dispositivos que pueden incluirse en la solución de hogar inteligente. [9] Los usuarios pueden proporcionar credenciales y nombres de dispositivos significativos a través de una interfaz de usuario de administración.
Desde la versión principal 2 de openHAB, las conexiones a dispositivos físicos se dividen en 2 niveles. Las "cosas" son los elementos de interfaz para un dispositivo físico específico (por ejemplo, una interfaz para una red domótica como KNX , Z-Wave o Zigbee ). Dentro de estas cosas, se pueden definir o descubrir uno o más "Elementos". Estos "Elementos" corresponden a un componente específico, como un relé que controla una luz, la temperatura deseada de un sistema de calefacción o un porcentaje de atenuación.
Los mapas del sitio permiten al usuario determinar cómo están dispuestos los dispositivos en el hogar inteligente. Un mapa del sitio agrupa los dispositivos por piso y habitación y determina cómo se visualizan y controlan. El siguiente ejemplo ilustra cómo podría verse una definición típica de un mapa de sitio:
etiqueta de demostración del mapa del sitio="Mi domótica" { Etiqueta de marco="Fecha" { Elemento de texto=Fecha } Etiqueta de marco="Demostración" { Cambiar elemento=Icono de luces="luz" Elemento de texto=LR_Temperature label="Salón [%.1f °C]" Elemento de grupo=Calefacción Elemento de texto=LR_Multimedia_Summary label="Multimedia [%s]" icon="vídeo" { Elemento de selección=LR_TV_Channel Mappings=[0="off", 1="DasErste", 2="BBC One", 3="Cartoon Network"] Elemento deslizante = LR_TV_Volume } }}
Una vez configurado el sistema, los usuarios de openHAB pueden ver datos y realizar acciones utilizando varias interfaces de usuario. Estos incluyen una interfaz basada en navegador, así como aplicaciones para Android , Windows 10 e iOS . [10] [11] [12] Todas estas UI están definidas por el mecanismo del mapa del sitio.
Se utiliza un sistema basado en reglas de eventos, condiciones y acciones para automatizar el hogar inteligente. El siguiente ejemplo apaga una luz una vez que sale el sol en la ubicación configurada.
regla "Iniciar luz de despertador al amanecer" cuando se activa el canal "astro:sun:home:rise#event" y luego cambia ( ceivedEvent . getEvent ()) { case "START": { Light . enviarcomando ( DESACTIVADO ) } } fin
OpenHAB Cloud es un servicio de nube complementario y backend para openHAB. Proporciona acceso remoto seguro y permite a los usuarios de openHAB monitorear, controlar y dirigir sus hogares de forma remota a través de Internet. La fundación openHAB proporciona un sistema de demostración sin garantías SLA. [13]
En 2020, el código se bifurcó para una revisión importante, separándose de la próxima rama 3.0 a la versión 2.5. [14] Aparte de algunos cambios técnicos en el código (por ejemplo, uso de Java 11 ), se prevén varias mejoras funcionales:
El principal inconveniente es que se elimina la compatibilidad con versiones anteriores de los complementos de openHAB para la versión 1.
La versión 3.0 se publicó el 21 de diciembre de 2020. [15]
Se han planteado muchas preocupaciones sobre la seguridad y la privacidad en relación con la domótica y la IoT en general. El motor local de OpenHAB y su carácter de código abierto son respuestas a estas preocupaciones. [16] Sin embargo, fue criticado por el uso de configuraciones predeterminadas. [17]
OpenHAB ganó el IoT Challenge 2013 [18] y el JavaOne Duke's Choice Award 2013. [19] Fue nominado al JAX Innovation Award 2014 [20] y fue el ganador del People's Choice en los Postscapes IoT Awards 2014/15. [21]