openHAB 2 has arrived!

Kai Kreuzer posted on Monday, 23 January 2017

Three years after initiating the Eclipse SmartHome project, I am proud to finally announce the general availability of openHAB 2.0, the first openHAB release that is based on Eclipse SmartHome (opens new window)!

This release replaces openHAB 1.8 as the officially recommended runtime, only the openHAB 1 compatible add-ons will be further maintained. They are now available in version 1.9.0 (opens new window) and can be used on existing openHAB 1.8 installations. We have reached far more than 200 add-ons in this package by now and most of them can also be used in conjunction with openHAB 2 (see below).

Back in 2014, our goals for openHAB 2 were the following:

  1. Better support for low-end embedded hardware
  2. Simpler setup and configuration possibilities for "regular" i.e. not tech-savvy users

So what have we achieved?

# Embedded Use

With respect to embedded systems, the evolution of hardware was quicker than us, which made our goal almost obsolete. While in 2014 many users were using a Raspberry Pi 1 which was not ideal for openHAB regarding system performance. Now in 2017 almost everyone has upgraded to more powerful boards like the Raspberry Pi 2/3 or the PINE64, where CPU power is no longer a problem. As a matter of fact, openHAB 2 runs very decently on such boards, even for large installations.

Powerful hardware options for openHAB

Constrained hardware resources are therefore merely still an issue for commercial platforms. Besides the free openHAB, there are other solutions being built on Eclipse SmartHome, like e.g. QIVICON (opens new window) of Deutsche Telekom. The shrinked core framework of Eclipse SmartHome proves its worth on such solutions. As a demonstrator, there is a sample solution packaging (opens new window) available, which uses Eclipse Concierge (opens new window) as a low-footprint OSGi framework and only has an overall size of only 20MB and which requires less then 128MB Java heap.

# Usability Improvements

Usability has been addressed on many different levels and version 2.0 only marks the beginning of these efforts, upcoming versions 2.x will continue on this path.

# Setup Through a User Interface

All newly introduced APIs and features are designed in a way that they enable setup and configuration through user interfaces.

  • After a first start, the user can choose an initial installation package to start with. These packages define common sets of functionality for different user types. Additional add-ons can be installed at any time through the UI by a single click.
  • A major feature of all newly introduced bindings is the device discovery, i.e. the bindings will scan themselves the network/system for supported devices and offer them to the user. This heavily simplifies the integration of devices in openHAB.
  • A new rule engine has been created, which allows building simple rules through a UI, similar to IFTTT, but with the big difference that no cloud connection is required as everything is executed locally.
  • A new UI called HABPanel (opens new window) has been introduced, which provides flexible dashboards for tablets, which can be created and modified fully UI-driven. HABPanel is specifically well-suited for wall-mounted displays.
Usability Improvements: Initial Setup - Discovery - Rule Editor - HABPanel

These features together allow for the first time a purely UI-driven setup of openHAB (opens new window) - but it must be said that this only covers a small fraction of the capabilities of openHAB. A core strength of openHAB is its flexibility and the possibility to cover all kinds of special - sometimes really weird - individual use cases. To do so, the textual configuration, as known from openHAB 1, is still required and recommended.

# 1.x Compatibility

While these new features for beginners have been introduced, a focus has also been to have as little disruption for existing openHAB users as possible and to keep and even extend the textual configuration options. No one is forced to use UIs in future, they should be merely seen as an optional alternative. Most functionality of openHAB 1 has therefore be retained and only minor changes need to be done to the personal configurations and rules. Specifically, most openHAB 1.9 add-ons can be used as openHAB 2 as it has a built-in compatibility layer.

# Installation

A major obstacle in the past for many users was also the required setup around openHAB, e.g. installing Linux on the Raspberry Pi, configuring users, shares, ssh, etc. This is all much simpler now through openHABian (opens new window) - a self-configuring Raspberry Pi setup, which starts off from a minimal SD card image. It automatically installs Java, openHAB, Samba and more and optionally even KNXd, Homegear, Mosquitto and others. This is definitely the best choice for Raspberry Pi users!

# Feature Overview

So what is new in general in openHAB 2? Let me give you a rough overview:

# Bindings

openHAB 2 comes with 130 bindings for different devices, technologies or protocols. 57 of them are using the new 2.0 APIs, so that they support discovery and graphical configuration. The rest are bindings from openHAB 1, which are included in the 2.0 distribution.

Many of these bindings support technologies, which are not supported by openHAB 1. There are e.g. bindings for AllPlay (opens new window), Miele@home (opens new window), Minecraft (opens new window), Russound (opens new window), Z-Way (opens new window) and even Tesla (opens new window), just to name a few.

Some sample products & technologies that are supported by openHAB 2

Many other are currently under development or queued for review, so we can expect to reach 200 bindings by the end of this year.

# User Interfaces

New UIs: Basic UI - HABPanel - HABmin - Windows 10 App

# Further Integrations

Besides the bindings, which integrate external system in openHAB, the opposite is possible as well: To include openHAB in an external system:

# Distribution Packages

Besides the classic zip archives as well as the APT packages for Linux, there are by now many further alternatives how to get hold of openHAB. (Please note that only openHABian is available from today on, the other types of packaging of the final 2.0 version will follow in the next days):

Overall, openHAB 2.0 is a huge step forward and I would like to thank all the new contributors and maintainers that have joined the project recently, as without them none of this would have been possible. Todays release 2.0 is just a first step and many more things are to be introduced with upcoming 2.x releases - so stay tuned!