Home Automation
My home automation setup is built on Home Assistant with some strong opinions about how it should work. I apply the same thinking here that I use in production systems: prioritize security, design for failure, and keep it maintainable.
Design Principles:
- Everything runs locally: All devices operate on a segregated network with no internet access. If the cloud goes down, my house still works.
- No random integrations: Every device must work with Home Assistant. This keeps things consistent and maintainable.
- Manual fallbacks: Critical systems (like lights and thermostats) can always be operated manually. Automation should enhance, not replace, basic functionality.
This setup has been a great testbed for exploring IoT architecture, network segmentation, and the balance between convenience and security. Here’s what I’ve built:
Doorbell
I have a video doorbell that is connected to HA. When the doorbell is pressed, Home Assistant calls to a Volumio VM that plays the chime. I have a number of chimes that I can select to play via a Home Assistant dashboard. The chime plays via speakers set up throughout the house and wired to the amp in the server rack. It also sends a notification to my phone.
Weather
I use a Tempest Weather System to get real-time weather data. I can track rainfall, wind, temperature and much more. Home Assistant triggers several automations based on the light level outside. For example, my outdoor garage lights come on at dusk. I can also prevent watering my lawn during or after a big rainfall.
WLED Lights
With ESP32 controllers and LED strips so cheap, and WLED so feature-rich, I’ve been putting accent lighting around the house. In the kitchen, I have lights under and above the cabinets. I have a strip under the couch, and under the cabinets in the bathroom. They are mostly used as night lights, and all come on at night. However, they are RGB, so fun patterns can also be set up for the correct occasion. All can also be toggled via HA.
Blinds
I use Switchbot Tilts to open and close my blinds whch are connected to Home Assistant via an ESP32 Bluetooth proxy. Home Assistant opens the blinds at the same time every morning and closes them when the sun goes down (via the Tempest light sensor).
Cameras
I have person detection in my security cameras, and Home Assistant is able to turn on the porch light when someone walks up my sidewalk.
Door Sensors
I have sensors on the doors, including the garage door. If the garage door is still open when the sun goes down, Home Assistant sends me an alert.
Vacuum
I have a dashboard set up for my robot vacuum and I can kick off custom jobs from the Home Assistant dashboard.
Thermostat
I have a thermostat with local control and can adjust the temperature from the Home Assistant dashboard.
Power Monitoring
I have monitoring set up in my electrical panel, which dumps data into Home Assistant. This allows me to graph and better understand my power utilization.
Sprinklers
I built a sprinkler system controlled by Home Assistant that can be scheduled and monitored remotely.