We've all seen the utopian product demos where lights, TVs and thermostats automatically activate and adjust to optimal settings as someone enters their home. But those demos usually require everything to come from one vendor. openHAB might provide the middleware solution for the Internet of Things in the home.
openHAB is an open source Home Automation Bus software solution. It's a vendor-neutral programming system that allows heterogeneous equipment to work together.
During a demonstration in the World of Solutions at Cisco Live 2015 in San Diego, we saw the typical canned demonstration you see at these events. Someone entered the "home" and the lights turned on and the TV fired up with that person's preferred content. When their child arrived home, the lights flashed red, letting the parent know the child was home, and the home media library switched from adult to family mode.
It was all very neat and worked perfectly.
But what if your house isn't running Cisco networking gear, media streamers and control systems? openHAB wants to be the middleware that pulls that together.
In the demonstration we saw, the lights were from the Philips Hue range of connected lights. Using openHAB, software integrated the lights with the other connected devices so a cohesive service could be put together.
At the core of openHAB is an "item" — a data-centric functional building block. Items can be related to a physical device or some "virtual" source like a web service or a calculation result. So, for example, items that can be used together might be the outside temperature from a sensor, the inside temperature from the thermostat on your heating or air-conditioning system and a weather forecast.
Those might all come from equipment from different manufacturers in different formats over different networks.
These can be bound together through automation rules, user interface definitions and other tools. This level of abstraction from specific hardware means you can exchange bits of hardware without having to completely recreate the entire system. So, if you buy a new external sensor, you don't need to rebuild everything.
There are tools such as designers and add-ons for using hardware available as open source tools so you can start using openHAB quickly. There's also a demo you can download so you don't have to start from scratch.
To use openHAB you need a couple of main components. There's a runtime that is installed and operated from a server. It's a pure Java solution and needs a JVM to run. To create an openHAB system for your home or office, you need to use the openHAB Designer.
openHAB Designer is an Eclipse RCP application used for configuring the openHAB runtime. It includes syntax checking, auto completion, highlighting, and content assist to support developers.
The trouble with home automation and smart home and office solutions today is the challenge of interoperability. The number of companies getting into automation is massive and, as a nascent market, there are a number of competing communications and data standards in play.
openHAB looks like a way to bridge the gap between those standards so interoperability between the components of a multivendor system might be achieved.
Disclosure: Anthony Caruana travelled to San Diego as a guest of Cisco.