Home Assistant vs openHab: First Impressions
So, I finally decided what to do with my raspberry pi 3b+. It is running Hass.io.
Since I ran openHab a lot more before I made this switch, I feel this is a good time to start comparing them. This is as much for me to write down my thoughts as it is a public review. So, don't expect it to feel like the typical review.
Firstly, I hate that they both have different names for the Pi images compared to the base software. This means some online resources refer to Openhabian and Hassio, and some to openHab and Home Assistant. And, at the end of the day, there really in nothing special about these alternate deliver mechanisms. They run on Linux and run an installation more or less the same as anything else.
Overall though, I think Home Assistant is winning for me. Though, that doesn't come without caveats, and it certainly doesn't mean I'd automatically recommend it to others.
Out of the two, Home Assistant feels the more convoluted of the 2 to go from zero knowledge to some sort of working system. Tinkering with it on a local machine or VM first, openHab is definitely much easier to install, which isn't saying too much, as I've definitely found systems within which it was quite difficult. openHab is also better about discovery. Out of the box you'd think openHab supported more stuff. As far as I can tell though, the opposite is true. It is simply the case that many HA (Home Assistant) integrations require manual tweaking of the configuration first.
Once you get them up and running and wrap your head around its configuration though, HA starts coming out on top. I don't love that you need to do so much in YAML files. I'm not a huge fan of YAML and I think a proper UI driven configuration approach is definitely better, but... I am a programmer and I certainly see the flexibility of something free form like a giant config file. In fact, my own application isn't much different. Or rather, mine is the same, but worse.
This is also the primary reason I wouldn't automatically recommend it to others. I think the YAML editing approach required for most things (and yes, it is basically required) makes the bar too high for a good deal of people. It isn't that I think it is monstrously hard. More that I know that people have a tendency to walk away before even getting their hands dirty. I'm guilty of this too. I've actually tried to dive into HA in the past and given up early on because of the barriers.
That being said though, the YAML based ui-editor has enabled me to build something 90% of the way to where I wanted to get and 110% of the way I had already gotten. In short, if I stopped development on my app today then HA would be better in almost every way than my app. Including the bits which rely on openHab.
I would have to say that the primary difference between HA and my app is in presentation of the multiple screens. My app had URLs and no built in indication that they existed. HA has tabs at the top of the screen which can be accessed by URL. And, I was actually tinkering with the idea of adding something like that to mine. At the end of the day, what I decided was that, while multiple password protected sites would be nice, what I really needed more was just the ability to lay things out in a more sensible manner. I do want that separation, but it also appears to be on the roadmap for HA.
The next major thing would have to be; every piece of smart home tech I own works with HA. And a few things extra, like presence detection based on MAC addresses on WiFi and pretty weather cards. My Thermostat, Camera, Lock, Garage, Speakers and Lights. openHab's Nest integration didn't seem to do anything with my Nest Cam except show me the URLs. I could write something to do something with them, but it didn't even expose the one piece of data I actually wanted; the image URL, so I'd actually need to write two piece of software, where it just works in HA. Similarly, there was no August integration in openHab that I could find.
Again, not saying the setup was ideal. I had to go looking for many of those. But, it was largely a case of "once you've done it once you can easily do it again". In fact, only 2 of the integrations I cared about came with out of the box discovery; Hue and Nest. And Nest still required manual YAML tinkering. The others gave no clues that they existed, you had to find the right configuration values, dump them into the YAML, restart the service and often wait for a prompt to finish the setup.
Which brings me to my final gripe; restarts. They were simply needed far too often during initial configuration. I build and test things in an iterative fashion. I also have at least one service which fails to start on restart some times, which leads to a big ugly red card on the screens using it. While it looks like there are a lot of things which can be restarted without restarting the whole service, in truth, most times a restart would be needed, it simply can't be avoided.
Today's goal is themes along with Date and Time. The one thing I don't have on any screen yet is the date and time. And the default theme is fine for daytime operation but way to bright for night. It looks like I can create automation rules which will change the theme at appropriate times of the day.
I know I didn't say much directly about openHab, but you can basically take the things I said about HA as being things openHab didn't do, or didn't do as well. openHab pretty much only wins on setup and discovery.
Since I ran openHab a lot more before I made this switch, I feel this is a good time to start comparing them. This is as much for me to write down my thoughts as it is a public review. So, don't expect it to feel like the typical review.
Firstly, I hate that they both have different names for the Pi images compared to the base software. This means some online resources refer to Openhabian and Hassio, and some to openHab and Home Assistant. And, at the end of the day, there really in nothing special about these alternate deliver mechanisms. They run on Linux and run an installation more or less the same as anything else.
Overall though, I think Home Assistant is winning for me. Though, that doesn't come without caveats, and it certainly doesn't mean I'd automatically recommend it to others.
Out of the two, Home Assistant feels the more convoluted of the 2 to go from zero knowledge to some sort of working system. Tinkering with it on a local machine or VM first, openHab is definitely much easier to install, which isn't saying too much, as I've definitely found systems within which it was quite difficult. openHab is also better about discovery. Out of the box you'd think openHab supported more stuff. As far as I can tell though, the opposite is true. It is simply the case that many HA (Home Assistant) integrations require manual tweaking of the configuration first.
Once you get them up and running and wrap your head around its configuration though, HA starts coming out on top. I don't love that you need to do so much in YAML files. I'm not a huge fan of YAML and I think a proper UI driven configuration approach is definitely better, but... I am a programmer and I certainly see the flexibility of something free form like a giant config file. In fact, my own application isn't much different. Or rather, mine is the same, but worse.
This is also the primary reason I wouldn't automatically recommend it to others. I think the YAML editing approach required for most things (and yes, it is basically required) makes the bar too high for a good deal of people. It isn't that I think it is monstrously hard. More that I know that people have a tendency to walk away before even getting their hands dirty. I'm guilty of this too. I've actually tried to dive into HA in the past and given up early on because of the barriers.
That being said though, the YAML based ui-editor has enabled me to build something 90% of the way to where I wanted to get and 110% of the way I had already gotten. In short, if I stopped development on my app today then HA would be better in almost every way than my app. Including the bits which rely on openHab.
I would have to say that the primary difference between HA and my app is in presentation of the multiple screens. My app had URLs and no built in indication that they existed. HA has tabs at the top of the screen which can be accessed by URL. And, I was actually tinkering with the idea of adding something like that to mine. At the end of the day, what I decided was that, while multiple password protected sites would be nice, what I really needed more was just the ability to lay things out in a more sensible manner. I do want that separation, but it also appears to be on the roadmap for HA.
The next major thing would have to be; every piece of smart home tech I own works with HA. And a few things extra, like presence detection based on MAC addresses on WiFi and pretty weather cards. My Thermostat, Camera, Lock, Garage, Speakers and Lights. openHab's Nest integration didn't seem to do anything with my Nest Cam except show me the URLs. I could write something to do something with them, but it didn't even expose the one piece of data I actually wanted; the image URL, so I'd actually need to write two piece of software, where it just works in HA. Similarly, there was no August integration in openHab that I could find.
Again, not saying the setup was ideal. I had to go looking for many of those. But, it was largely a case of "once you've done it once you can easily do it again". In fact, only 2 of the integrations I cared about came with out of the box discovery; Hue and Nest. And Nest still required manual YAML tinkering. The others gave no clues that they existed, you had to find the right configuration values, dump them into the YAML, restart the service and often wait for a prompt to finish the setup.
Which brings me to my final gripe; restarts. They were simply needed far too often during initial configuration. I build and test things in an iterative fashion. I also have at least one service which fails to start on restart some times, which leads to a big ugly red card on the screens using it. While it looks like there are a lot of things which can be restarted without restarting the whole service, in truth, most times a restart would be needed, it simply can't be avoided.
Today's goal is themes along with Date and Time. The one thing I don't have on any screen yet is the date and time. And the default theme is fine for daytime operation but way to bright for night. It looks like I can create automation rules which will change the theme at appropriate times of the day.
I know I didn't say much directly about openHab, but you can basically take the things I said about HA as being things openHab didn't do, or didn't do as well. openHab pretty much only wins on setup and discovery.
Comments
Post a Comment