
Hello Home Assistant, Goodbye openHAB
I've been tinkering around with openHAB (OH) for a while now - with the emphasis on tinkering. I want to say it was probably the second thing I self hosted after the weather station. The upgrade to openHAB 4 did not go smoothly and that is all down to me and certainly not a reflection on the upgrade process. My experience is they are very reliable and just work. No, I knew OH4 required Java 17 but I kinda forgot and just ran the upgrade and then it didn't work. Getting Java 17 successfully installed on a Raspberry Pi 2 is clearly beyond my skills. So a fresh start with a new openHABian image onto the Pi's SD card was in order.
"If I was going to start fresh, it may be time to finally check out Home Assistant", I thought to myself. My brother is using it and a work colleague was very enthusiastic about it. No harm in running up a quick docker container, just to check it out, I figured. That process was very simple - possibly one of the simplest docker containers I've ever set up. All I had to do was:
- Point the config directory to a folder outside the container
- Enable access to the host network on the default port
- Set an environment variable for the local timezone
The process of just poking around to see what it could do and how it did it, was very successful and got away from me a bit. Before I knew it, I had recreated everything I had working on openHAB in Home Assistant. I still haven't got around to spinning up the fresh openHABian image and the proof of concept is now kind of in production. I guess this is now a Home Assistant (HA) household.
Observations
My success in setting up Home Assistant was probably because I already knew what I wanted to achieve. There are strong equivalencies between the systems. What OH calls bindings, are referred to in HA as integrations. What OH calls things, HA calls devices, entities are channels, rules are automations and so on.
There are a couple of things that jump out as real differences for me, in my first few days of experience with HA.
Adding a Delay
One thing I could never get working in OH was adding a delay within a rule or automation. When I switch off the TV at night, I want the bedroom lamps to switch on, wait a few minutes to get my old bones up the stairs and then switch off the living room lights. In OH, as I understand it, I "just" need to write some javascript to create a timer, set the timer, run the timer and then use that script in the rule. Well at least that was always the only advice I could ever see in the community forums. That was beyond my capabilities to achieve, so I'd get up, turn on the stair lights before I turned off the TV.
I was delighted to find in the actions available in HA automation was a graphical object to add a configurable delay. So simple, even I can achieve this and something I was always surprised wasn't available in OH. This alone will keep me using Home Assistant.

Presence Detection
I've got a 'was working' stopped working' Arduino project to enable operation of the garage door by software control. The original plan was to have a system where if one of our phones arrived home, the garage door would be triggered to open. The working theory of the tools required for that was using Own Tracks to provide location services to update a presence thing in OH using MQTT, with a rule to trigger on status changes to open the garage door. With that many moving parts it was a plan that I never quite got across the line.
I installed the Home Assistant app on my phone and hey presto, there's a new card on the dashboard that indicates I'm at home. I've not yet tested any automation using that device but I am inspired to get that Arduino project back to a working state because I feel like I now have a workable solution for presence detection.
Context
My comments need to be taken in context. I have a very simple home automation setup with a small number of devices. I'm very much just tinkering so if things don't work, they don't work. This is not mission critical in our lives - just a bit convenient.
We have a Harmony Hub which controls the television, AV receiver, Apple TV, a seldom used blu-ray player and a few other devices. There is also an IKEA Tradfri hub that controls some bulbs in a few lamps and a couple of outlets that power some cabinet lighting. That's really it, but it enables the following automations.
- Before sunset, the cabinet lights and the lamps in the living room will turn on.
- If the television is being used, the lights above it will not turn on.
- If the television cabinet lights are on, and the TV is turned on, the lights will switch off.
- About 3 hours after sunset, the living room lamps will dim a bit and switch to a warmer colour.
- If the Harmony Hub goes to "power off" later in the evening, the bedside lamps will switch on and all the lights in the living room will switch off.
Final Thoughts
openHAB is a great system. The project is very active, the community is really helpful and the software has progressed amazingly from my first stumbling steps with openHAB 2. There's a lot to like about Home Assistant. The couple of things that were niggling annoyances that I could never sort out with OH that were very easy to achieve with Home Assistant will keep me using HA for the moment.