The problem I’ve run into is that once you’re running a lot of devices, you inevitably end up with a bunch of automations and logic that can’t really be simplified. With Apple Home/HomeKit, everything Just Works, but having dozens of automation rules and scenes configured in Apple’s low—information-density UI is worse than managing yaml config.
There is a tradeoff here. If your expectations are high you will always be disappointed with a smart device advertised as an appliance. it’s difficult to customize to make it _actually_ smart if it’s designed as an appliance, because every manufactures app is limited. Even apple home and google home are junk for automating things. It’s OK as a basic dashboard though.
Here are a few “smart” things my home assistant can do in my home, which are impossible with an “appliance”:
- when washer or dryer is done (detected via power monitoring), send push notification. But ONLY send it to the people that are home at this moment. If nobody is home, send it to the person that left home last. (i store this state in a custom _last_person_departure_ variable).
- if the washing machine door was closed after it was emptied, send push notification to the people that are home. Remind them to leave the door open. (front load washer where closing the door leads to mildew)
- If a water leak is detected, send a push notification. if not ACKed within 3 minutes, send a “critical alert” to everyone’s phone.
- If nobody is sitting on the couch (pressure sensor under the cushions), and no media is playing on the tv, turn off the tv after 20 minutes.
- turn on the hallway light if motion detected or if the front door is in an open state. but keep it on if the door remains open (chatting with a neighbor, bringing in packages, etc) Importantly, delay the “turn off” action with a timer and reset that time if more motion detected or the door is re-opened.
- when i’m on a work zoom call, automatically turn on a red light next to my home office, so family doesn’t interrupt.
That’s just the tip of the iceberg. I also get a push notification when the printers ink is below 20%, and more.
Unfortunately a truly smart home requires effort to set up. Because a smart home is unique to YOU. Everyone has different workflows, habits, and preferences. It’s not a generic off the shelf component like buying a washing machine, where the user preferences can be simplified to a handful of settings.
I just lived half a year without Philips Hue remote control because it stopped working during an update and I couldn't bother to check why. It was some name change somewhere, might have been an issue with how I set it up, can't even remember. Simple fix but I did have to dive back to the config files.
ZWaveJS used to break frequently for me, but I run an HA container on a Linux box, rather than the HAOS or whatever. I control the updates, and can rollback if things break, so it's not really a problem.
I installed Home Assistant recently and the docs suggest HAOS is the strongly preferred option these days.
Something about HAOS uses docker to install and manage extensions, whereas if you run the HA docker container it can't as docker-inside-docker isn't supported (?), and thus some functionality is unavailable (at least at the surface level).
I'm sure the support burden is much easier on HAOS. I don't use any Home Assistant extensions, I don't even know what they are. I use a number of custom integrations, but I manage them all through github and github actions. I'm doing great with just running the containers with podman - just need to keep ZWaveJS and Home Assistant in sync and I don't run into problems.