I have had a great experience with HA (unlike with OpenHAB which is a Java-based monstrosity with a data schema that is near impossible to figure out).
It's unfortunate that he went and rewrote an entire home management stack just because he dislikes Python.
Even worse, the justification for disliking Python, namely:
> It’s a nice language, but for things like home automation, having build/dependencies problems is the absolute last thing I need.
is absolutely not a problem if you run HA on a tiny dedicated box, because all of that stuff is completely handled (and hidden) by the HA update system.
> The biggest problem with HomeAssistant, however, is its really over-engineered setup for running on mini computers like the Raspberry Pi, which was my goal.
It may feel over-engineered if you look under HA's skirts (the fleet of docker containers thing), but turns out you almost never need to go deep into HA to get it to do things, and when you actually do, HA is actually pretty open and easy to work with. (just ssh to port 22222 if you really need access to the bare metal system).
I would agree that the HA setup is a bit unusual for someone used to just ssh into a linux server: I had the same initial reaction. But turns out it's actually never much of a problem. It's just different.
Also, it may look heavy, but it runs absolutely fine on a small raspi-like computer.
> Is the best solution we can come up with a bunch of Docker containers running on a custom Linux distro?
Why not? It may "feel" big and complicated, but in practice:
- it's very well packaged
- it's very well maintained
- it has support for a *ton* of home automation devices
- it runs out of the box on a tiny and cheap SBC (a raspi) without overloading it
All you have to do is dedicate a raspi to the problem and be done with it, not really a big problem.And if you really want to run it on a Linux server that is used for other things, and the HA architecture irks you the wrong way: just wrap HA in a native qemu VM and run it on your server along your other stuff.