My entire setup is a bit of a Frankenstein as I originally started with more wifi stuff before moving to zigbee. Anyway, what I'm running now:
- Dell Wyze thin client from eBay. Was about $30, and I put a $20 ssd in it.
- Sonoff zigbee controller, think that was $30-35. YMMV, but generally as long as you watch out and buy zigbee stuff, you can avoid buying hubs for all of the different manufacturers.
- Various zigbee stuff. I have a bunch of Ikea remotes, motion sensors, and bulbs. I also have a few Lutron Caseta switches (they were the only reasonable option at the time that didn't require a neutral wire.) I also found some Lutron Aurora dimmer switches on clearance for like $10 at home depot, so I bought the last 4 they had. Ditto for 3-4 Phillips Hue bulb. There are also a few aqara and sonoff pieces besides (buttons, bulbs, etc.)
- and I still have a handful of wifi only stuff. I couldn't find a good fan controller for my ceiling fan that was zigbee, but I was already bought into the Tuya system, so I bought a compatible device there. There are also a small number of bulbs that I still have in use (like my porch lights, which are just off at dawn, on at dusk.)
The whole thing runs on Home Assistant, which tbh does take a good amount of time to understand and get setup, but it allows you to do some pretty powerful stuff. For one, I only have this as my hub, and everything works through that. I can also use this to control all of the equipment without a bunch of intermediaries like ifttt and all that. It also allows me to do things like connect my ikea remote (zigbee) to my wifi bedside lamp. All of the major smart home platforms (google, Alexa, HomeKit, aqara, etc) are also massively more limited in what you can automate. Just that simple little entry automation I posted above isn't really a thing because most of the basic smart home things don't allow simple stuff like conditionals (turn on only if it's dark) and certainly not stacked conditionals (turn on only if it's dark, and I've just arrived, and the door actually opened.) You can also hook it up pretty easily to smart tv's or plex, so you can do things like "if I pause the movie, bring the lights up." Or I have a dumb automation that I can tap one button for and it plays a random ep of TNG for when I can't sleep on a Fire TV, which is just not even close to doable on the pleb platforms.
Anyway, hope that helps.