By 2017, the total number of smart devices powered by Apple’s HomeKit will touch 40 million. If you think that is a big number, sample this: the shipments of such HomeKit-enabled devices will surpass 180 million by the end of 2020 (a 800% jump from the current figure). While the proliferation of home automation devices has indeed made lives easier for people, the lack of integration is a common cause for concern. In the absence of a common platform on which the various smart devices can effectively interact with each other, the objective of creating truly ‘smart homes’ remains elusive. And that is precisely where the merits of the ‘open Home Automation Bus’ (openHAB) come into the picture. In here, we will take you through some of the best features of the openHAB home automation platform:
Open source; Powered by Java
openHAB – originally a brainchild of Kai Kreuzer – comes with all the advantages of an open-source software tool. Experts from the field of home automation and related app development can easily share their knowledge on the platform – adding to its overall repository resources. Since the openHAB tool is developed with pure Java (along with OSGi), it can be deployed on any Windows, Linux or Mac system with a Java Virtual Machine (JVM). The platform offers a unified interface to users, and extends home automation logic across system/hardware boundaries.
Note: Version 1.8.3 of openHAB was released in May. The fourth beta of v.2.0.0 is also available.
Excellent device coverage
If you are looking to simultaneously automate a large number of home devices, openHAB is likely to be the most ideal tool for that. Right from Nest thermostats and smart HVAC systems, to security systems and Insteon hubs – openHAB is integrable on practically all types of home automation protocols and hubs. All that users need to do is create the necessary application integrations, and the platform will take over from there – ensuring that each ‘event’ triggers another one. This is one tool that really helps households get the best out of their home automation setups.
Independent of hardware; Independent of manufacturer
Arguably, the single biggest advantage of openHAB is its vendor-agnostic and hardware-agnostic nature. This ensures that that the tool’s functionality is not limited to a single, pre-specified use case, or by device manufacturers (since the home automation market is deeply fragmented, this unification is a big advantage). Unlike most other commercial integration systems, openHAB ranks high on the longevity count – and maintenance is fairly simple too. Since the performance of openHAB is not affected by hardware-specific issues in any way, it can be used with all types of home Internet of Things (IoT) devices.
Regular updation; Robust community support
As the global home automation market grows mature and smart appliances become more sophisticated – the need of the hour is for an integration platform that evolves over time as well. openHAB fits the bill in this regard perfectly. The platform is regularly updated, ensuring that all the latest innovations from this domain can be integrated in it. The buzzing, fast-growing community of openHAB is yet another of the tool’s high points. The tool does away with the overdependence on a single commercial automation system or company – minimizing chances of problems later on.
Note: Since openHAB does not rely on a single form of home ecosystem, it can deliver more customized solutions to users.
The cutting-edge pluggable architecture of openHAB makes it simpler than ever to integrate new protocols and smart home devices on it. The persistence layer of the platform – which maintains the ‘states’ of devices – is also included in this pluggability. That, in turn, ensures that the selected state information (based on the platform chosen) does not get modified/lost whenever new IoT elements are added. openHAB builds on the existing home systems, instead of trying to replace them altogether. Professionals often refer to the platform as a ‘system of systems’.
There are separate, optimized bindings in openHAB for home automation hardware, dedicated bus systems, and even UI protocols. The Bluetooth binding of openHAB is also worth a special mention. In the main event bus of openHAB, these bindings interact to send/receive device status updates, commands and other pertinent information. openHAB also boasts of an ‘Astro binding’ for operating smart lighting systems in the most efficient manner.
Note: The modular design of openHAB allows developers to tweak around with its features at any time, without any hitch. It is also a factor behind the rapidly rising community support for the tool.
openHAB is available as a native application on the iOS platform (iOS 7 and later). The Android UI – named ‘HABDroid’ – is downloadable from the Google Play Store (Android 4.0.3 and later). For webkit-powered browsers, there are two custom UI versions of the platform – GreenT and ClassicUI. The former functions as a feature-rich web application created with the cross-platform Sencha 2.0 framework – with support being extended to PC browsers (including Chrome and Safari), along with mobile phones and tablets. ClassicUI, on the other hand, is a first-gen UI designed with the HTML/JS WebApp.net framework. Apart from iOS, Android and WebKit browsers, it also supports Blackberry and Symbian platforms.
Note: CometVisu is the name of the web visualization backend interface for openHAB. The built-in XML configuration files outline the layout of this UI (no sitemap dependence). CometVisu has enhanced customization options too.
Security assurance; Works offline
One of the common features of IoT devices is their dependence on cloud-connectivity for performance. With openHAB though, that is no longer a limiting factor. Homeowners have the final say for deciding whether the data generated by smart sensors and actuators would be uploaded to the cloud or not. In case a user prefers to keep the information private and operate openHAB offline, (s)he can do so without any problems whatsoever. Remote access, if not required, can be disabled as well. While working without web connectivity, openHAB works as a highly secure ‘Intranet of Things’, without losing any of its features.
User-friendly project components
A clean, systematically designed architecture/rule system powers the openHAB smart home automation platform. At it core is the ‘openHAB Runtime’ – a Java-OSGi bundle set that is deployed on the server and is responsible for all the key functions of openHAB. The runtime lends the modular form to the platform – ensuring smooth addition or deletion of functionalities. The ‘openHAB Designer’ is the other element of the openHAB project. Created as a Rich Client Platform (RCP) in Eclipse, the Designer configures the Runtime, manages automatic action rules, and defines the user-interfaces. The built-in editor of ‘openHAB designer’ has a host of user-friendly features – from auto completion and content assistance, to text highlighting and syntax checking.
Note: openHAB has a specific rules engine to setup the home automation ecosystem. Real-time information from sensors can be viewed on the website running on the user’s Pi web server.
10. Bundles that interact
In the previous point, we briefly mentioned the ‘openHAB Runtime’ that performs all the key functions of the tool. Let us now turn our attention to the bundles contained within the Runtime (these bundles are interdependent on each other). First, there is the ‘Event Bus’ – which includes both ‘status updates’ (alteration in devices) as well as ‘commands’ (which set in motion certain actions/device state changes). For internal communications within the platform, there are 2 options – the query-supporting stateful repository and the asynchronous ‘event bus’. Next up is the ‘Sitemap’, that spells out the common text configuration of the overall UI – taking away the need to configure separately for different UIs. Widgets are arranged in a tree-like structure. For keeping a tab on the status of different smart home devices at any point in time, the ‘Repository’ is used (stateless services cannot reliably do this task). Finally, there are the ‘Item UI Providers’, that allow home automation software developers to set up the generic UI of openHAB dynamically. This is a more efficient solution than the static storage of everything within the ‘Sitemap’.
11. Code reusability with Scripts
openHAB works on the back of a powerful rule engine – which, in turn, is supported by the Scripts framework. The latter introduces code reusability in the platform, which comes in really handy for developers when they have to repeat the same code lines in separate openHAB ‘rules’. A ‘script’ contains the part of the code that has to be reused – and it can be implemented at any point of the overall automation logic.
Note: Several embedded platforms support the openHAB tool, including Cubietruck, Raspberry Pi and UDOO.
12. Easy installation; Amazing set of actions
Wish to deactivate the ‘night mode’ when you get up? Want to turn lights on/off at any particular time everyday? How about receiving notifications/messages whenever the main door opens? Well, openHAB does all of these and many, many more important, high-utility, everyday functions. Toggling your ‘Presence’ (when you leave your home premises, for example), skylight operations (e.g., automatic closure during rainfall) and calendar event execution also feature among the common actions performed by the openHAB platform. Installing it on the server is easy enough too. It can be operated through any OS with Java 1.7 (and JVM), demo plugins are available, and detailed instructions – for each platform – is also provided.
13. REST APIs for prompt system integration
openHAB has an open interface via which it can interact with other systems (i.e., collaborate with other systems for better home automation solutions). RESTful APIs are available from the platform itself to facilitate this third-party integration. For cloud connectivity, the my.openHAB web-based remote access service is used.
Note: HABDroid – the Android UI of openHAB – has voice control features and near-field communication (NFC) support.
openHAB makes it possible for you to enjoy custom home automation solutions, by serving as an optimized interaction platform for different smart devices. It is easily one of the most comprehensive open-source hubs for home automation at present – and the various awards it has received over the years (2013 IoT Challenge Award, 2014-15 PostScapes IoT Awards) testify its quality. This is one tool that brings a vast range of home automation operations and controls…right at your fingertips!
Latest posts by Hussain Fakhruddin (see all)
- How do mobile apps help small businesses? - October 10, 2019
- Top 15 Mobile App Ideas For 2020 - October 1, 2019
- Top 15 Software Development Trends To Watch Out For In 2020 - September 18, 2019