openHAB 2 has arrived!
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:
- Better support for low-end embedded hardware
- 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.
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.
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:
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
- The visually outdated Classic UI (opens new window) (which is still available as an option) has been replaced by the much more modern Basic UI (opens new window).
- While being an external project for openHAB 1, HABmin (opens new window) has meanwhile become an official part of the project and is a very powerful administration tool, especially suited for Z-Wave users.
- The new Paper UI (opens new window) is the main interface for doing UI-driven setup and configuration.
- HABPanel (opens new window) is another new web UI, which specifically focuses on nifty dashboards on tablets.
- Besides Android and iOS, there is now a native client for Windows 10 (Mobile) (opens new window) available in the official Microsoft App Store (opens new window).
# Further Integrations
Besides the bindings, which integrate external system in openHAB, the opposite is possible as well: To include openHAB in an external system:
- A very simple integration in Amazon Echo is possible through the Hue emulation add-on (opens new window). This mimics a Philips Hue bridge and can also fool some other 3rd party apps that exist for Philips Hue.
- The HomeKit add-on (opens new window) makes openHAB appear in iOS as a not-certified device that, once added, allow the use of any hardware from within HomeKit/iOS.
- IFTTT integration is now offered through the new myopenHAB (opens new window) service that is operated by the openHAB Foundation (opens new window).
- Text-to-Speech and other audio playback (opens new window) can now be directed to remote devices (such as connected speakers). Already supported are e.g. Sonos speakers, Onkyo receivers, Chromecast and the Kodi media center.
# 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):
- openHABian (opens new window): A hassle-free setup for the Raspberry Pi, starting off a minimal SD card image.
- PINE64 image (opens new window): A pre-installed openHAB setup as an SD card image.
- Docker (opens new window): A Docker container, available for both x86 and ARM architectures.
- Synology-NAS (opens new window): Packages for the popular Synology Diskstations
- QNAP-NAS (opens new window): Likewise, there are installation packages available for QNAP.
- Ubuntu Core Snap (opens new window): Snaps for the new Ubuntu Core
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!