Most smart homes are a pile of apps, one per brand, that don't talk to each other. Mine runs on one system: Home Assistant, running on Raspberry Pis. Everything else plugs into it.
Two layers: the brains and the remote
I split the house into two layers. Home Assistant is the brains. It talks to every device, runs the automations, and holds the logic. Apple Home is the remote. It's what I use day to day on my phone, watch, and with Siri, because it's clean and it just works.
Home Assistant exposes its devices to Apple Home, so a device that has never heard of Apple still shows up there like it belongs. I get Home Assistant's flexibility without giving up Apple's polish.
Running on Raspberry Pis
Home Assistant runs on Raspberry Pis. They're cheap, quiet, low-power, and easy to replace. For a system that has to be on all the time, that matters more than raw horsepower.
Media and cameras
Plex Media Server handles movies and shows for the house. Cameras are a different job: Frigate records and analyzes the camera feeds on a custom machine I built for it. Frigate's object detection runs locally, so it can tell a person from a passing car or a swaying branch, and the footage never leaves the house. No monthly cloud subscription, and no one else's servers watching my driveway.
When the device doesn't exist, build it
The smart-home ecosystem covers light switches, plugs, and bulbs well. It falls apart on bigger loads. I needed 220V switching, and nothing on the market fit the ecosystem. So I built my own.
Each one is an ESP32 driving relays, housed in an enclosure I designed and 3D printed. The ESP32 handles Wi-Fi and the logic, the relays do the heavy switching, and the printed enclosure keeps it all mounted and closed up. Once connected to Home Assistant, they show up in Apple Home like any off-the-shelf device. The difference is that I can change how they work whenever I want.
A note if you're tempted: 220V is not hobby voltage. Use parts rated well above your load, follow code, and if you're not sure, hire an electrician.
Talking to the house with Claude
I also use Claude to interface with my smart home. Instead of digging through dashboards and automation menus, I can work with the house in plain language. Home Assistant still runs everything. Claude is another way in, and it's the same kind of AI-assisted work I do on the Power Platform.
Next: a voice assistant powered by Grok
Siri is fine for "turn off the lights." It's not great at anything more conversational. I'm building a voice assistant that uses Grok as its language model, connected to Home Assistant, so I can talk to the house in plain language. It's a work in progress, and I'll write a follow-up when it's running.
Why bother
It's the same thing I do for clients: take a collection of systems that don't fit together, give them one backbone, and build the missing pieces. The house is just the project where I'm also the client.