Positioning openHAB

Posted by Kai Kreuzer on February 23, 2010
As already mentioned before, I have started the openHAB project not because nothing on the market could have provided me the desired functionality, but because I want to build something robust, stable and open with a modern technology stack.

If I were a pure user, I would still stick with Misterhouse as this has matured over the years so much that they are discussing on their mailing list already whether it's better to have a deer head or a magic mirror talking to you.

Well, I am not, and so I take the challenge to build something equally useful on top of a JVM. After Claude's comment I very much considered contributing to the openRemote project, tried to dive into the details of their code base and involved myself in technical discussion on their forum. But at the end, I decided against it, because all the main things that I would like to see covered are still on their todo list. That wouldn't be bad at all as it could have given me a good opportunity to contribute the missing things, but unfortunately - at least that is my impression - it would mean more or less a complete rewrite of openRemote...
Just to give you a few examples of what openRemote IMHO lacks:

  • No rule engine support yet
  • it has a "one-way" protocol, i.e. the client (e.g. iPhone App) is stateless -> it cannot show if lights are on or off, it cannot display values (e.g. temperatures), etc. Version 2.0 will bring a server push, but I am not sure when the client will support this?
  • No states are cached on the server which is definitely a problem for rules and stateful clients
  • No modularization / extension concept yet, it's one brick (the BOSS)
  • No easy protocol to implement for new extensions, see discussion about arduino support
  • No simple way to build from latest sources, so people are desperately waiting for an official build
I don't say that any of this is bad, I just want to highlight that their architectural approach obviously followed other priorities. I can imagine that openRemote and openHAB can cross-fertilize each other and maybe there is someday a possibility to integrate or even merge these projects - time will tell :-)