openHAB: open Home Automation Bus
Introduction
The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation.
It is designed to be absolutely vendor-neutral as well as hardware/protocol-agnostic. openHAB brings together different bus systems, hardware devices and interface protocols by dedicated bindings. These bindings send and receive commands and status updates on the openHAB event bus. This concept allows designing user interfaces with a unique look&feel, but with the possibility to operate devices based on a big number of different technologies. Besides the user interfaces, it also brings the power of automation logics across different system boundaries.
The Technology Stack
openHAB is a pure Java solution, fully based on OSGi. The Equinox OSGi runtime and Jetty as a web server build the core foundation of the runtime.
The openHAB Designer, which is the configuration tool for the openHAB Runtime, is an Eclipse RCP application with Xtext-based editors to offer a highly user-friendly way of editing configuration files, UI definitions and automation rules. For the automation rules, JBoss Drools builds the backbone.
If you are a fan of Java/OSGi/Eclipse, openHAB should be the perfect match for you. If you are not, you might want to consider other tools like Misterhouse, which aim at almost the same thing and are very mature already.
Bindings
As the OSGi platform allows a highly modular architecture, the bindings are realized as different bundles, which can be dynamically plugged to openHAB, so that every user can decide on the bindings he is interested in.
Here are some examples for bindings (but please be aware that most are not yet implemented):
- KNX
- X10
- 1-wire
- RS-232
- Jabber
- HTTP
- Bluetooth
- IrMon
- Asterisk
- Media player (Winamp, WMP, iTunes, Amarok, etc.)
- Wake-on-LAN
User Interfaces
Currently, there is only one user interface available for openHAB, a web-based UI, which can be used from many different devices. Nonetheless, openHAB is designed in a way that there can easily be added further user interfaces; be it a remote terminal or a native iPad application.
http://code.google.com/p/openhab/

