Why I chose Home Assistant over OpenHAB
Back when I got into Smart Home stuff OpenHAB was all the rage. I suspect it is still the largest or among them. And it makes some great claims and offers some great features.
Ultimately though, I felt forced to abandon it for a great many reasons. The funny version of the story would be that the level of support for my components wasn't where I needed it and the default UI options were so hideous it actually drove me to write my own for a while.
And then one day, I found Home Assistant. And it looked like a prettier version of what I was working towards AND it supported 100% of my devices. Something not even my own solution was doing yet.
But, that is more of the timeline of things than the actual root reasons.
The ugly UI could be rectified. OpenHAB has a large following. I'm certain I could find a better UI if I stuck with it.
The kicker was the device support. Why was such a popular solution so lacking in device support? One of the things OpenHAB aims for is stability. This means more rigorous testing and stricter requirements around what makes it into the core product. Sounds like a reasonable trade-off. And, in the software development world it would generally make it a superior feature.
In the smart home world it makes it a pariah for me.
Home Assistant is much more aggressive. Their 1st party support is staggeringly large. The configuration is a bit of a pain and inconsistent with some stuff being purely through UI, some through config files, and yet others being both. But, 100% of my smart home is supported.
And, that lack of rigidness means fixes are often released quickly. Including when the fixes aren't fixing changes or bug in their own software.
THAT is the crux of the equation. Smart Home automation hubs like this are, in most, cases being integrated with 3rd party APIs. Hundreds of them. Perhaps even thousands. Some of those vendors make sporadic changes to either improve the API or to intentionally break external integrations.
At the end of the day, if my automation hub can't support ALL of my devices and can't fix things which break the services in a timely fashion, then they can't be a part of my solution.
Put another way, the smart home landscape is hostile towards the kind of good programming principles behind a solution like OpenHAB. There are simply too many moving parts, too many egos and too much uncertainty.
Sure, I'm willing to use 3rd party addons to get functionality early. But, I DO expect that 95% of my smart home is supported "natively" in a production branch.
Ultimately though, I felt forced to abandon it for a great many reasons. The funny version of the story would be that the level of support for my components wasn't where I needed it and the default UI options were so hideous it actually drove me to write my own for a while.
And then one day, I found Home Assistant. And it looked like a prettier version of what I was working towards AND it supported 100% of my devices. Something not even my own solution was doing yet.
But, that is more of the timeline of things than the actual root reasons.
The ugly UI could be rectified. OpenHAB has a large following. I'm certain I could find a better UI if I stuck with it.
The kicker was the device support. Why was such a popular solution so lacking in device support? One of the things OpenHAB aims for is stability. This means more rigorous testing and stricter requirements around what makes it into the core product. Sounds like a reasonable trade-off. And, in the software development world it would generally make it a superior feature.
In the smart home world it makes it a pariah for me.
Home Assistant is much more aggressive. Their 1st party support is staggeringly large. The configuration is a bit of a pain and inconsistent with some stuff being purely through UI, some through config files, and yet others being both. But, 100% of my smart home is supported.
And, that lack of rigidness means fixes are often released quickly. Including when the fixes aren't fixing changes or bug in their own software.
THAT is the crux of the equation. Smart Home automation hubs like this are, in most, cases being integrated with 3rd party APIs. Hundreds of them. Perhaps even thousands. Some of those vendors make sporadic changes to either improve the API or to intentionally break external integrations.
At the end of the day, if my automation hub can't support ALL of my devices and can't fix things which break the services in a timely fashion, then they can't be a part of my solution.
Put another way, the smart home landscape is hostile towards the kind of good programming principles behind a solution like OpenHAB. There are simply too many moving parts, too many egos and too much uncertainty.
Sure, I'm willing to use 3rd party addons to get functionality early. But, I DO expect that 95% of my smart home is supported "natively" in a production branch.
Comments
Post a Comment