Deploying Home Automation - OpenHAB & Home Assistant

Doing home automation isn’t cheap. After spending insane amounts of money on IoT hardware, companies would either charge more insame amounts for intergration, or lock you into their ecosystem. So let’s take matters into our own hands: by using open-source home automation tools, like OpenHAB or Home Assistant.

Table of Contents

Comparisions

OpenHAB and Home Assistant are the two most popular open-souce intergration platforms at the moment. Both have wide intergration supports and active communities, both are designed to be self-hosted and come with official docker images.

Device & Service Intergrations

OpenHab is written in Java while Home Assistant in Python, and this kind of reflects the different intergration philosophies of the two projects:

  • OH is more monolithic where all add-ons (bindings) are bundled with the distribution.
  • HA is more agile and a lot of its plugins developed outside of the main project.

Currently OpenHAB has ~400 add-ons and ~2000 things out-of-the-box, and Home Assistant has ~1600 intergrations supported.

Addons Comparision

Left: OpenHAB, Right: Home Assistant

Which one to use ultimately comes down to if it supports your particular hardware. In my case:

  • Lutron Homeworks QS: Not supported in Home Assistant, supported in OpenHAB (after providing some feedback to Bob Adair here)
  • MiHome Gateways & Buttons: Supported in both OH and HA.
  • MiHome Air-con Controller: There’s a third-party component for it.

Generally Xiaomi’s IoT devices are supported better in HA than in OH, as that is what the Chinese home automation communities mostly use.

User Interface

OpenHAB uses PaperUI for configuration and device discovery, and HABPanel for controls. HABPanel comes with a limited amount of widgets, but third-party widgets are supported (using Angular). Each widget’s size and shape can be fully customized, and you can lay out the widgets exactly as you want to (but you’ll need different layouts on different devices). Also there can be a customized set of panels stored on-device.

UI Comparision

Left & Top: OpenHAB HABPanel, Right & Bottom: Home Assistant Lovelace

Home Assistant uses Lovelace UI for controls. Lovelace has more built-in widgets, but each has a defined size and shape, and is laid out responsively (you can only customize the order of widgets). Third party widgets can be added using plain JS.

Customization Comparision

UI Customization

To sum up: OpenHAB offers a more versatile platform to create panels, while HA’s Lovelace is easier to use out-of-the-box.

Automations & Scripting

TODO

Deployment @ Home: OpenHAB, MiHome and Lutron HWQS

TODO

Deployment @ School: Home Assistant and MiHome

TODO