I have a small ruby app running on my home server that keeps the zigbee2mqtt stream open, its fairly simple but provides the main functionality of the smarts in my home. If I get a new device I just hack my own bridge and link it in.
My point is a smart home doesn't have to be complex and can be fun to do yourself.
zigbee2mqtt has its own webUI with a dashboard that seems fairly competent at controlling the devices.
https://www.zigbee2mqtt.io/guide/configuration/frontend.html
https://www.zigbee2mqtt.io/
I happen to use Node-RED for automation -- this is the easiest part to replace, it could just as well be Mako, pyscript, AppDaemon, NetDaemon, or plain Python scripts talking to the MQTT server.
What I can't easily replace from HA is the nice UI, both over the web and as an app (same thing really). I guess Mako makes it possible to hack together a web interface, but it's a lot of work for a poor result when compared to what you get with HA (or OpenHab) out of the box.
I would love to find a simpler, MQTT driven "HMI" app for both web and mobile, completely disconnected from the logic behind.