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
- Deployment @ Home: OpenHAB, MiHome and Lutron HWQS
- Deployment @ School: Home Assistant and MiHome
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.
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.
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.
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