My Home Assistant setup
Why my setup mixes Lutron, ESPHome, Matter, and Eufy
I do not need every device to use the same radio or live completely inside Home Assistant. I need the house to remain understandable when one part fails.
That leads to four fairly simple choices:
- Caséta for permanent lighting controls. The wall switch has to remain the obvious way to turn on a light.
- ESPHome when the product I want does not exist. This is mostly custom LED control, where the driver and behavior need to fit the installation.
- Matter bulbs only for loose lamps. A kid’s bedside lamp is a good use. Replacing lighting already controlled by Lutron is not.
- Eufy devices stay distinct. The HomeBase, vacuum, and outdoor lights share a brand, but they do not have the same role or Home Assistant boundary. The old doorbell and S1 vacuum were both taken out by lightning.
| Job | What I use | What Home Assistant does |
|---|---|---|
| Permanent switches and dimmers | Lutron Caséta | Scenes, automations, and Pico remote events |
| Custom LED drivers | ESP32 with ESPHome | Exposes the finished controller as a normal light |
| Lamps without Lutron control | Matter bulbs | Basic local light control over Wi-Fi or Thread |
| Security base | Eufy HomeBase 3 (T8030) | Keeps the security system separate; attached-device support still depends on the exact model |
| Floor cleaning | Eufy Omni S2 | Room, zone, and whole-floor cleaning through Matter |
| Permanent roofline lighting | Eufy outdoor lights | Basic Matter control on models that support it; vendor-only features stay with Eufy |
Lutron Caséta handles permanent lighting
I want the physical switch to be the primary interface. A visitor should not need a dashboard, and a Home Assistant restart should not make a room confusing. Caséta gives me conventional wall controls first and automation second.
The Caséta hub connects the lighting system to Home Assistant. Supported dimmers, switches, fan controls, scenes, shades, sensors, and Pico remotes can then participate in automations. Home Assistant classifies the official Lutron Caséta integration as Local Push.
The part I care about is the boundary: Home Assistant can coordinate the lights, but it does not have to impersonate the wall switch. If the automation layer disappears, the permanent lighting still makes sense.
ESP32 handles lighting products I cannot buy
An ESP32 is not my default answer to every smart-home problem. It is my answer when an off-the-shelf controller is the wrong shape, has the wrong outputs, or cannot produce the behavior the installation needs.
ESPHome keeps the result from becoming an isolated hobby project. The controller appears in Home Assistant as a normal device, while the hardware can still be built around the LED strip, driver, inputs, and enclosure I need. For addressable strips, ESPHome’s current documentation points ESP32 projects toward its RMT LED-strip component.
The YAML is rarely the difficult part. Power-supply sizing, voltage drop, heat, fusing, serviceability, and a proper enclosure decide whether the finished installation is good.
Matter bulbs fill gaps; they do not replace Caséta
I use Matter bulbs where there is no Lutron-controlled load: a small lamp in a kid’s room, a movable lamp, or a similar one-off light. That gives me color or tunable white without adding a permanent switch system where one is not needed.
I avoid putting a smart bulb behind a wall switch that people naturally turn off. Once the switch cuts power, the bulb is no longer smart—or reachable. If a lamp needs a physical control, that control and the automation need to agree about the state.
Home Assistant controls Matter devices locally over Wi-Fi or Thread. Thread is the network transport, not proof of Matter support, so I check the actual Matter logo and model documentation. The official Matter documentation also notes that native integrations can expose features that the common Matter interface does not.
Eufy is not one system in my house
I currently have a HomeBase, an Omni S2 vacuum, and permanent outdoor lights. The video doorbell and the older S1 vacuum were both taken out by lightning. I do not treat the remaining Eufy products as one Home Assistant integration because their useful behavior is completely different.
HomeBase and the dead doorbell
The current security base is a HomeBase 3, model T8030. Home Assistant still contains old Eufy registry labels, but those records are not proof that the doorbell is alive—or even a reliable way to identify the camera that used to be there. I am treating them as stale history. If I write about replacing the doorbell, the article will start with the exact replacement model and what the HomeBase actually exposes.
Robot vacuum
I use a Eufy Omni S2 through Matter. Home Assistant exposes room cleaning, eight cleaning modes, operating and error states, and charging data. I wrapped those controls in room, zone, whole-house, and rescue-alert scripts. The old S1 Pro component in the repository is history; lightning took that vacuum out. See the live S2 setup.
Permanent outdoor lights
These need to work as ordinary white exterior lighting as well as decorative lighting. Installation length, weather protection, extension compatibility, repairability, and the location of the power supply matter more than a long list of app effects.
On its current S4 product page, Eufy says Matter can control power, brightness, color, and color temperature, while radar-triggered behavior remains inside the Eufy system. That is the kind of boundary I want documented before installing hardware along a roofline.
The rule behind all four choices
Home Assistant is the coordinator, not a demand that every feature pass through one interface. I keep essential controls understandable on their own, then use Home Assistant for the cross-system work: scenes, schedules, status, and automations that involve more than one device.
This page is the index for the detailed builds. The next useful pages are the Caséta setup, the ESP32 LED-driver projects, the Matter-lamp rules, and the Eufy integration notes—with exact hardware and configuration where I can verify them.
Nothing on this page is sponsored. I link to official documentation where it clarifies an integration or product boundary.