OpenHAB


open Home Automation Bus is an open source home automation software written in Java. It is deployed on premise and connects to devices and services from different vendors. As of 2019, close to 300 bindings are available as OSGi modules. Actions, such as switching on lights, are triggered by rules, voice commands, or controls on the openHAB user interface.
The openHAB project started in 2010. In 2013, the core functionality became an official project of the Eclipse Foundation under the name Eclipse SmartHome. openHAB is based on Eclipse SmartHome and remains the project for the development of bindings.
According to Black Duck Open Hub, it is developed by one of the largest open-source teams in the world. It also has an active user community.

Features

Installation and runtime

openHAB requires a JVM and can be deployed on servers running various operating systems, a dedicated Raspberry Pi instance, or some network-attached storage systems. The required bindings can be added at runtime via OSGi. openHAB supports a number of persistence backends for storing and querying the smart home data, including relational and time series databases.

Discovery and configuration

After installation, openHAB scans the local network and discovers devices that can be included in the smart home solution. Users can provide credentials and meaningful device names via an administration user interface.

Sitemaps

Sitemaps allow the user to determine how the devices in the smart home are arranged. A sitemap groups devices by floor and room and determines how they are visualized and controlled. The following example illustrates what a typical sitemap definition might look like:

sitemap demo label="My home automation"

User Interface

Once the system is configured, openHAB users can view data and perform actions using a number of user interfaces. These include a browser based interface as well as apps for Android, Windows 10, and iOS. All of these UIs are defined by the sitemap mechanism. A screenshot of the browser based UI can be seen on .

Rules

An event, condition, action rule-based system is used to automate the smart home. The following example turns off a light once the sun rises at the configured location.

rule "Start wake up light on sunrise"
when
Channel "astro:sun:home:rise#event" triggered
then
switch)
end

openHAB Cloud

openHAB Cloud is a companion cloud service and backend for openHAB. It provides secure remote access and enables openHAB users to remotely monitor, control and steer their homes through the internet. The openHAB foundation provides a demo system without SLA guarantees.

Security

Many security and privacy concerns have been raised with home automation and IoT in general. openHAB’s on-premise engine and open source character are answers to these concerns. However, it was criticized for its use of default configurations.

Reception

openHAB won the IoT Challenge 2013 and the JavaOne Duke’s Choice Award 2013. It was nominated for the JAX Innovation Award 2014 and was the People's Choice Winner at the Postscapes IoT Awards 2014/15. openHAB was also included in a number of product and platform comparisons but has been criticized for forcing users into a tedious file based setup procedure.