Good article that gets into the details of leveraging Home Assistant (HA) to glue together various types of sensors and switches, etc.
I think categorizing HA users into 2 groups of either technical or non-technical is too coarse. You have to add another dimension that captures how much a user is willing to automate their home (making it "smart").
I'm technical, but my goal is to make things as seamless as possible. For example, my Z-Wave wall switches are the type that allow the original switch to override what the remote command sent. These in-wall Z-Wave switches are embedded in the switch box and the existing switch is then low voltage.
The same for my thermostat. Any household member can override locally. I detect the change and make sure I hold that new value over any automations that run that day.
In the end, my HA setup is pretty minimal with no HA add-ons and a few integrations, such as Z-WaveJS2MQTT and MQTT being the most used. This way I rarely hit any issues upgrading HA.
May be my day job of handling servers and services at scale makes me say this…
I’d like my home, appliances and equipment to be dumb and simple. A basic level of automation by making all power switches controllable from a central private endpoint would be nice, but hooking that up to a non self-hosted service is a big No for me.
I’m about to buy a home. It will be fun to find that simplicity in automation for myself.
> making all power switches controllable from a central private endpoint would be nice
This is what Zigbee and Z-Wave are for, and I would say one one of the main points of using home assistant: to keep it all local. The Nabu Casa stuff just allows you to access your required local home assistant setup (RPi, VM, whatever) without having to mess with DMZ to allow direct connections. Self hosted in the whole point of it all.
If you buy smart devices that require cloud connections, then home assistant can also work with many of those, but it ends up being a much worse experience when turning your lightbulb on requires sending an http request halfway around the world and back.
I'd personally recommend the Lutron Caseta line. They use a proprietary RF system so if you want full automation or phone-based control you need their hub, but even without one you can just use them as normal switches, pair switches and remotes, pair switches with motion sensors, etc just as built-in behavior.
They've also covered basic usability issues that a lot of other smart switches overlook, like having a hard disconnect on every switch, so you don't need to go to the breaker box just to change a lightbulb.
I have slowly gone all in on Home Assistant over the past 5 years and I think it is an amazing community, and amazing open-source success story, and fantastic software.
I will say that programming your house yourself can be fun (you can literally do anything) but you also have to then keep up with all the technical debt and changes over time. I still don't think it's a great choice for non technically minded folks that would find that level of tinkering and fixing overwhelming - but I must say that Home Assistant is moving positively in that direction by really focusing on UX - and having a giant community keeping integrations updated, even unofficial reverse-engineered ones, is great.
As a SWE I was initially skeptical about using software to control more aspects of my environment but I finally gave in and gave HA a shot. It took some work but I managed to cobble together a system using a RPI and ZWave which seemed to work reliably. I slowly added more features like HVAC and controlling my aquarium top-off pump. Everything worked reliably until I went on vacation and the switch controlling the aquarium top-off pump inexplicably fell off the network. I watched the water level slowly drop from 400 miles away over my webcam feed with no way to fix it. Moral of the story is beware of automation and always consider your failure cases. Building up these sorts of systems is fun and rewarding initially but can become a time sink and a liability if you're not careful.
I had HA set up for a number of things at my house but it took too much babysitting for me. I found it fun as a hobby project. But when we did a large remodel last year I intentionally decided not to have smart anythings. This includes Z-Wave, Zigbee, Alexa, Google Home, Sonos wireless speakers, etc.
Instead, I went the opposite direction. Wired everything including speakers. It was much more enjoyable figuring out and planning how to wire and install Sonance Invisible Series speakers behind drywall, pick the location for a Samsung Frame TV and bite the bullet to get a panel ready fridge.
In the end, I found I enjoy form over function and all electronic devices and appliances are either not present or completely hidden.
Yeah, the whole reason I got into this was to monitor my garage door and now I'm considering just going back to a wire and an LED. I can just hook up a RPi or ESP32 to the wire if I want to send myself text messages.
I use Home Assistant in my new house, and it kind of works.
But the amount of effort needed to control a cheap wifi on/off plug did not impress me positively. It is basically one bit of information, but it goes through who knows how many layers of software and configurations. Took me a couple of hours to make it work..
I also use the standard thermostat component, which is basic beyond belief. The kind of control that is implemented in the cheapest hw thermostat you can buy. I mean, this is pure software, with 20 more lines of code you could implement a pid controller or smth. I looked into developing my own component, but the documentation for HA development also seems lacking at a quick look.
Home Assistant is the Linux Desktop of consumer applications. Tons of power under the hood and it is not designed with the end user in mind. Home Assistant has accomplished something literally no one else has, including Google, Amazon and Apple. Home Assistant has the best integration across the most number of devices. It is also extremely reliable and you can run it without the cloud.
If you want easy to install, I would suggest using Alexa with Alexa compatible devices. Amazon has really made Home Automation easy.
I agree that Home Assistant documentation is really bad. If you are technical and want to stick it out with Home Assistant, there are Python bridges you can use to write your own custom code.
I used HomeAssistant for over five years and pretty much hated every minute of it due to the amount of effort you describe. Setup, upgrades and maintenance were always a major pain. Features were introduced, rearchitected, and dropped without any consideration whether users 1) Wanted them in the first place 2) Whether it would be a burden to change things. 3) For dropped features, whether anyone would miss it.
It's just a very poorly ran and guided open source project. I ended up buying a Hubitat last year and it's required a lot less effort to run.
I won't comment on the behaviour/oversight of the OS project itself, but as a user I have had an opposite experience to you.
I am still using HA after about five years, and once I had it setup (which admittedly was hard work) it's been no trouble at all.
- Upgrades have never caused an outage
- Basically every device is already supported
- I can write my own code to extend as necessary
- It does not talk to the WAN at all
- My only outage was when my SD card died in the rpi
I am using Home Assistant for my home automation for about 4 years now, before just lurking. For me Home Assistant is about quantity, not quality. Look at the massive amount of Integrations, currently sitting at almost 2000 [1]. Which is really impressive, but not even half of them are apparently used [2]?
Another example of this was when Blueprints were introduced [3]. I really, really love the idea of having templated automations, and I even introduced them into my setup. But sharing Blueprints is clunky, not mentioning updating Blueprints, which is borderline impossible from UI. Or at least, I haven't figured it out yet.
I still wouldn't recommend Home Assistant to a non-technical person, as some aspects are really hard to work out. Even if you're *Ops person.
> On caveat is that I have started running into some reliability issues (occasional device unavailability) once I exceeded 50 or so devices. This seems to be common for Zigbee networks,
It's patently ridiculous that you could add a lightbulb to your network and be unable to get in your front door the next day because now you have too many devices.
Even more so when you consider that the standard is twenty years old and should be extremely mature.
This is the problem with all this home automation stuff...all of them, Zigbee, Zwave, wifi - seem to crap out as soon as you have a decent number of devices. WiFi seems the least robust for high device count, but why haven't Zwave and Zigbee figured out how to get their systems to work for a large number of devices, a decade-ish into things?
Security is also something of a joke for both zigbee and z-wave.
> I'm excited about the upcoming Matter and Thread standards which are likely to replace/augment Zigbee (and Z-wave) as true interoperable home automation connectivity standards.
Interoperable, but you'll be forced by vendors to use someone's online services. There is no way Matter and Thread will be designed in such a way that you will have freedom from paying somebody every month and give data that will eventually make its way to marketers.
Edit: the author's upstairs window automation devices are ludicrously dangerous from a fire safety standpoint as there appears to be no easy way to open them if the device breaks or loses power. Folks, do not remove manual control from windows. It's not just dangerous, it's likely illegal. Windows and doors MUST be operable, easily, by one hand.
> It's patently ridiculous that you could add a lightbulb to your network and be unable to get in your front door the next day because now you have too many devices.
I am not aware of any keypad zigbee or z-wave door lock that depends on that network to unlock in standard config. Yes, you could set it up that way, to unlock based on presence detection, etc, but that's on you. The standard setup is a local code list on the lock, with updates and status reported to home automation to enable integration. Most locks also have a standard key backup as well, so you're doubly protected.
Similarly with radiator valves; they operate locally. You program them with a mode (normal/off/away) and schedule (given temp at given time) upfront, and then they maintain the required temperature.
Home Assistant is great, but it will face huge hurdles as the founder tries to cash in on the popularity. It's already underway.
1) Nabu Casa was founded with a claim that "it will all be transparent and reported" as to income, etc, etc.
2) Then the "private" components happened only for Nabu Casa - like the cloud connection stuff.
3) A few years later when pointed out nothing was transparent yet the response was "We will not share this information."
3) Nabu Casa then started to hire up the more active community developers and set off on their own closed vision.
4) NC has bought up many of the associated pieces - the companion apps, the ESP32 stuff, etc, etc.
5) NC has hired many of the community developers and now quite some secrecy around the roadmaps and decisions.
6) You dare not question decisions or you get thrown off the forums and Discord channels for life. Many cases of this happening. They have a community manager who is particularly sensitive over any perceived negative comment and prone to going off to which the founder needs to step in and smooth the emotions. Not sure why they've not fired him after strike 4 or 5.
The end result is that Home Assistant is far less open than it was. It is going the same path pFsense did under the ownership of Netgate.
The challenge is many people invested into it and when it implodes it won't be pretty. I am hopeful someone forks it with a better community engagement model.
(I've been a user since the start, and a contributor in the early days. Left the community due to my work being monetized by NC without my consent.)
Hello, I’m the original creator of the Home Assistant iOS Companion App. Just wanted to clear up that Nabu Casa took over the iOS and Android apps purely because of requirements by Apple and Google around a corporation being the only entity that can have a development team. At no time did Nabu Casa pay any money to me or anyone else to acquire the apps. They were transferred to Nabu Casa purely for convenience, since Home Assistant Inc doesn’t exist.
Do I understand correctly that you just gave the iOS app out of your hands, for Nabu Casa to maintain? Or is it solely a legal structure?
I find it interesting if it were the former, I personally would have considered monetizing it myself, but then again, it’s probably not a coincidence I haven’t founded any opensource projects as impactful as Home Assistant. :)
Hey Robbie - glad to see you. Yes, the iOS app was transferred prior to Nabu Casa ramping up their current approach.
Too bad; if you hung on you could have gotten some $$$ for it. It would have made me happy to see you financially rewarded as you did contribute a lot early on.
I mean it's still all open source, so what if they want to monetise some hardware and cloud connectivity? Worst that will happen is they will drive more and more into paid plans, a fork may or may not happen and there will be a community split, but for my place personally I don't see much of a risk there when most of my stuff just uses the MQTT integration.
Hopefully with money coming in they can improve the core itself, because at the moment the real value of Home Assistant is the huge community around it and 3rd party integrations.
Wow, that is a bunch of assumptions incorrectly presented as the truth!
The Open Home conference in December is laying it out pretty good and shows why and how most of the above is actually miles off: https://www.home-assistant.io/state-of-the-open-home/
I know the HA founder and think you're mischaracterizing him and his motivations. What you call "Cashing in" is attempting to focus full time on a really terrific project. He's certainly not rich off this and could have instead gone for a commercial/closed source vs the open project it is now.
He tried to sell it to Ubiquiti but they did not bite.
So he ramped up the Nabu Casa approach to "control" the top community developers to ensure he did not loose control of the project. It can only fork if momentum to fork; and if you hire all the contributors that momentum is curbed.
Many have also indicated he's also tried to sell it to Ikea as a center piece to their Smart Home line of products. This was quickly deleted and those in the know tossed off the forum.
I'm looking forward to the founders and the core maintainers being able to make a healthy living off of home assistant with the least amount of pointless overhead :)
1. There is one specific "addon" developer/employee who wraps opensource docker containers and automates the releases through github release builds and proceeds to link the about page of addon to his donation page. Example: Nodered, InfluxDB, AirSonos/Cast addons in HA have no link to actual projects or their repos.
2. Absolutely have no standard for stability for what should be critical software, just check the number of production releases to end customer devices this month. EIGHT, yes they pushed eight releases to core app to end users, that's beside the "addon" updates that the guy does with his automated releases.
3. Thanksgiving week of 2021, they pushed a ZWave update which the guy rewrote how events are processed and proceeded to brick everybody who updated.
4. F*ckin forced OS update, the developer refuses to be able to turn off forced HASS OS updates. If you block the update hostname on your router the stupid script to check updates goes crazy and starts eating up CPU.
There are three major cloud components. Alexa and Google integrations both have open options that are documented by NC and you are welcome to use them. There’s a lot of setup as you need to deal with a semi-complex config on AWS or GCP which can be challenging if you’re new to those environments, but they work as well as the paid NC option.
The remote access proxy service doesn’t really have an open equivalent but there are tons of other supported solutions out there for secure remote access to your Home Assistant install. Here is one example add-on to provide Wireguard support, developed and supported by an NC employee: https://github.com/hassio-addons/addon-wireguard
In short, the paid cloud services provide an easier path to solutions you can deploy for yourself if you wish. You can still use equivalent services that you host yourself under your own AWS/GCP account. Those services cost NC money to host, so asking for money isn’t too far out there. Of course, that money is more than what the cloud parts cost, and what we all get in return is a team of skilled developers working full time on the project and releasing everything for free.
yeah, I don't even need the NC integration, I use a reverse proxy with SSL, but I pay the $5 a month just because they are doing such a frigging amazing job with a giant project and I want to pay something for it so they can keep doing it full time!
Great article, thanks for posting. I've been on a smart home journey myself, but I'm still currently relying on Alexa for most integration and a Hue Bridge. It works well for the 30-40 devices I currently have.
I totally agree that Home Assistant is probably the way forward for many power users, but it doesn't quite feel beginner-friendly enough yet (although the HA devs do seem to be making some great improvements in this area).
I'm still undecided on Matter and Thread. Both are naturally great technologies, but I can't see Google/Nest opening up to Amazon/Ring and vice versa. Not in any meaningful way, at least. My hunch is that Matter will help smaller smart home companies, but not make much difference for the pre-existing 'walled gardens' that the market has. I hope that I'm wrong though.
(Disclaimer: I blog and do YouTube videos as Smart Home Point, but I mainly cover consumer friendly products - and hence I haven't delved into Home Assistant too much)
Things were so fragile, I eventually created Ansible playbooks to maintain my setup. I couldn't trust a simple point upgrade wouldn't break anything, so I had to easily replay steps to revert.
If you have to set up a whole devops infrastructure to maintain one simple home project, there's something wrong.
The promise of thread versus reality I feel will be a big problem - I'd love to be wrong though. I'm on the outside of things (haven't used thread, only read about it... use zigbee a lot though). But the way I understand it is that once you join a device to a particular bridge you will still need to use that bridge's ecosystem to communicate - even though the device has its own IP address. For example, when a thread device joins to homekit and establishes an encrypted handshake, it's not like I'll be able to use that device's IP address to talk to it. It's not going to trust me - only homekit. But at least it'll be able to talk to any homekit bridge on the network and avoid a SPOF if I unplug one of my homepod minis.
I think categorizing HA users into 2 groups of either technical or non-technical is too coarse. You have to add another dimension that captures how much a user is willing to automate their home (making it "smart").
I'm technical, but my goal is to make things as seamless as possible. For example, my Z-Wave wall switches are the type that allow the original switch to override what the remote command sent. These in-wall Z-Wave switches are embedded in the switch box and the existing switch is then low voltage.
The same for my thermostat. Any household member can override locally. I detect the change and make sure I hold that new value over any automations that run that day.
In the end, my HA setup is pretty minimal with no HA add-ons and a few integrations, such as Z-WaveJS2MQTT and MQTT being the most used. This way I rarely hit any issues upgrading HA.
They are just too expensive for what they are replacing.
I’d like my home, appliances and equipment to be dumb and simple. A basic level of automation by making all power switches controllable from a central private endpoint would be nice, but hooking that up to a non self-hosted service is a big No for me.
I’m about to buy a home. It will be fun to find that simplicity in automation for myself.
This is what Zigbee and Z-Wave are for, and I would say one one of the main points of using home assistant: to keep it all local. The Nabu Casa stuff just allows you to access your required local home assistant setup (RPi, VM, whatever) without having to mess with DMZ to allow direct connections. Self hosted in the whole point of it all.
If you buy smart devices that require cloud connections, then home assistant can also work with many of those, but it ends up being a much worse experience when turning your lightbulb on requires sending an http request halfway around the world and back.
They've also covered basic usability issues that a lot of other smart switches overlook, like having a hard disconnect on every switch, so you don't need to go to the breaker box just to change a lightbulb.
I will say that programming your house yourself can be fun (you can literally do anything) but you also have to then keep up with all the technical debt and changes over time. I still don't think it's a great choice for non technically minded folks that would find that level of tinkering and fixing overwhelming - but I must say that Home Assistant is moving positively in that direction by really focusing on UX - and having a giant community keeping integrations updated, even unofficial reverse-engineered ones, is great.
Instead, I went the opposite direction. Wired everything including speakers. It was much more enjoyable figuring out and planning how to wire and install Sonance Invisible Series speakers behind drywall, pick the location for a Samsung Frame TV and bite the bullet to get a panel ready fridge.
In the end, I found I enjoy form over function and all electronic devices and appliances are either not present or completely hidden.
I also use the standard thermostat component, which is basic beyond belief. The kind of control that is implemented in the cheapest hw thermostat you can buy. I mean, this is pure software, with 20 more lines of code you could implement a pid controller or smth. I looked into developing my own component, but the documentation for HA development also seems lacking at a quick look.
If you want easy to install, I would suggest using Alexa with Alexa compatible devices. Amazon has really made Home Automation easy.
I agree that Home Assistant documentation is really bad. If you are technical and want to stick it out with Home Assistant, there are Python bridges you can use to write your own custom code.
It's just a very poorly ran and guided open source project. I ended up buying a Hubitat last year and it's required a lot less effort to run.
I am still using HA after about five years, and once I had it setup (which admittedly was hard work) it's been no trouble at all.
- Upgrades have never caused an outage - Basically every device is already supported - I can write my own code to extend as necessary - It does not talk to the WAN at all - My only outage was when my SD card died in the rpi
Decided to ditch SmartThings. Went all-in on HA for a month. Went to Hubitat and am much happier.
Another example of this was when Blueprints were introduced [3]. I really, really love the idea of having templated automations, and I even introduced them into my setup. But sharing Blueprints is clunky, not mentioning updating Blueprints, which is borderline impossible from UI. Or at least, I haven't figured it out yet.
I still wouldn't recommend Home Assistant to a non-technical person, as some aspects are really hard to work out. Even if you're *Ops person.
1. https://www.home-assistant.io/integrations/ 2. https://analytics.home-assistant.io/#integrations 3. https://www.home-assistant.io/blog/2020/12/13/release-202012...
It's patently ridiculous that you could add a lightbulb to your network and be unable to get in your front door the next day because now you have too many devices.
Even more so when you consider that the standard is twenty years old and should be extremely mature.
This is the problem with all this home automation stuff...all of them, Zigbee, Zwave, wifi - seem to crap out as soon as you have a decent number of devices. WiFi seems the least robust for high device count, but why haven't Zwave and Zigbee figured out how to get their systems to work for a large number of devices, a decade-ish into things?
Security is also something of a joke for both zigbee and z-wave.
> I'm excited about the upcoming Matter and Thread standards which are likely to replace/augment Zigbee (and Z-wave) as true interoperable home automation connectivity standards.
Interoperable, but you'll be forced by vendors to use someone's online services. There is no way Matter and Thread will be designed in such a way that you will have freedom from paying somebody every month and give data that will eventually make its way to marketers.
Edit: the author's upstairs window automation devices are ludicrously dangerous from a fire safety standpoint as there appears to be no easy way to open them if the device breaks or loses power. Folks, do not remove manual control from windows. It's not just dangerous, it's likely illegal. Windows and doors MUST be operable, easily, by one hand.
I am not aware of any keypad zigbee or z-wave door lock that depends on that network to unlock in standard config. Yes, you could set it up that way, to unlock based on presence detection, etc, but that's on you. The standard setup is a local code list on the lock, with updates and status reported to home automation to enable integration. Most locks also have a standard key backup as well, so you're doubly protected.
1) Nabu Casa was founded with a claim that "it will all be transparent and reported" as to income, etc, etc.
2) Then the "private" components happened only for Nabu Casa - like the cloud connection stuff.
3) A few years later when pointed out nothing was transparent yet the response was "We will not share this information."
3) Nabu Casa then started to hire up the more active community developers and set off on their own closed vision.
4) NC has bought up many of the associated pieces - the companion apps, the ESP32 stuff, etc, etc.
5) NC has hired many of the community developers and now quite some secrecy around the roadmaps and decisions.
6) You dare not question decisions or you get thrown off the forums and Discord channels for life. Many cases of this happening. They have a community manager who is particularly sensitive over any perceived negative comment and prone to going off to which the founder needs to step in and smooth the emotions. Not sure why they've not fired him after strike 4 or 5.
The end result is that Home Assistant is far less open than it was. It is going the same path pFsense did under the ownership of Netgate.
The challenge is many people invested into it and when it implodes it won't be pretty. I am hopeful someone forks it with a better community engagement model.
(I've been a user since the start, and a contributor in the early days. Left the community due to my work being monetized by NC without my consent.)
I find it interesting if it were the former, I personally would have considered monetizing it myself, but then again, it’s probably not a coincidence I haven’t founded any opensource projects as impactful as Home Assistant. :)
Too bad; if you hung on you could have gotten some $$$ for it. It would have made me happy to see you financially rewarded as you did contribute a lot early on.
Hopefully with money coming in they can improve the core itself, because at the moment the real value of Home Assistant is the huge community around it and 3rd party integrations.
Nothing "open" about it.
So he ramped up the Nabu Casa approach to "control" the top community developers to ensure he did not loose control of the project. It can only fork if momentum to fork; and if you hire all the contributors that momentum is curbed.
Many have also indicated he's also tried to sell it to Ikea as a center piece to their Smart Home line of products. This was quickly deleted and those in the know tossed off the forum.
1. There is one specific "addon" developer/employee who wraps opensource docker containers and automates the releases through github release builds and proceeds to link the about page of addon to his donation page. Example: Nodered, InfluxDB, AirSonos/Cast addons in HA have no link to actual projects or their repos.
2. Absolutely have no standard for stability for what should be critical software, just check the number of production releases to end customer devices this month. EIGHT, yes they pushed eight releases to core app to end users, that's beside the "addon" updates that the guy does with his automated releases.
3. Thanksgiving week of 2021, they pushed a ZWave update which the guy rewrote how events are processed and proceeded to brick everybody who updated.
4. F*ckin forced OS update, the developer refuses to be able to turn off forced HASS OS updates. If you block the update hostname on your router the stupid script to check updates goes crazy and starts eating up CPU.
Other open source software (E.g. LibreOffice) has several shops that help businesses with support and integration/bug fixes
The remote access proxy service doesn’t really have an open equivalent but there are tons of other supported solutions out there for secure remote access to your Home Assistant install. Here is one example add-on to provide Wireguard support, developed and supported by an NC employee: https://github.com/hassio-addons/addon-wireguard
In short, the paid cloud services provide an easier path to solutions you can deploy for yourself if you wish. You can still use equivalent services that you host yourself under your own AWS/GCP account. Those services cost NC money to host, so asking for money isn’t too far out there. Of course, that money is more than what the cloud parts cost, and what we all get in return is a team of skilled developers working full time on the project and releasing everything for free.
I totally agree that Home Assistant is probably the way forward for many power users, but it doesn't quite feel beginner-friendly enough yet (although the HA devs do seem to be making some great improvements in this area).
I'm still undecided on Matter and Thread. Both are naturally great technologies, but I can't see Google/Nest opening up to Amazon/Ring and vice versa. Not in any meaningful way, at least. My hunch is that Matter will help smaller smart home companies, but not make much difference for the pre-existing 'walled gardens' that the market has. I hope that I'm wrong though.
(Disclaimer: I blog and do YouTube videos as Smart Home Point, but I mainly cover consumer friendly products - and hence I haven't delved into Home Assistant too much)
Things were so fragile, I eventually created Ansible playbooks to maintain my setup. I couldn't trust a simple point upgrade wouldn't break anything, so I had to easily replay steps to revert.
If you have to set up a whole devops infrastructure to maintain one simple home project, there's something wrong.