I'm in the same boat. I'm running two instances of Home Assistant with Zigbee2MQTT for sensors, lights and switches, a few non-Zigbee devices via built-in integrations, and NodeRed for more complex automations. I find the stack to be a bit of a Sisyphean mess, quite unreliable, and a significant time sink.
I'll give some examples:
- HA occasionally freezes for a few seconds during automation runs, though system load, IO etc. look fine. No idea what's going on. It should have more than enough resources. Both instances do this (on different hardware).
- After every restart, ZigBee switches only work after the second press (the first message shows up on MQTT, but is apparently ignored). This is especially annoying if we're having guests when HA acts up; also, some switches use double-press for special behavior.
- Sometimes an automation or two just don't trigger until HA is restarted, but everything else works (happens about once every two weeks).
- Outlets and sensors may be gone from the network for a week (e.g. accidentally left unplugged) but will never be shown as stale in HA.
- Most automations I want devolve into huge YAML messes or huge NodeRed graphs, since I seem to need a lot more flexibility than other HA users. I've found it's a lot easier to just write a script for these, but the developer experience of the various scripting plugins leaves a lot to be desired. Also, yet more flaky abstractions.
- Why is it that checking whether a scene is active is so hard? That's just the sort of heavy lifting I expect HA to do for me.
- Every release of HA seems to add new little quirks; apparently, lots of people in the community don't even bother updating regularly?
- It's very hard to know what's going on inside HA; it seems to log every last thing except for what I'm looking for. I usually just look if MQTT sees the right things, then restart HA until the issue I'm having disappears. That this strategy usually works is problematic in itself.
All in all, it feels more like training a cat, not the hands-off appliance-style setup I'd like to have, and it takes up way too much of my limited spare time.
I really like HA for the user-facing part, great app, great web interface, even supports Apple Watch. I'm comfortable with writing code, perhaps a bunch of scripts against MQTT and the HA API would be the way to go for me, or perhaps something like AppDaemon.
I've also tried using Apple Homekit with Homebridge, and while that was rock solid, hands-off and very reliable, it doesn't have the flexibility I want either.