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 doorbell, vacuum, and outdoor lights share a brand, but they do not have the same role or Home Assistant boundary.
| 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 |
| Front-door video | Eufy video doorbell | Only the events and video path supported by the exact model and integration |
| 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 three separate systems in my house
I use a Eufy video doorbell, robot vacuum, and permanent outdoor lights. I do not treat “Eufy” as one Home Assistant integration because the useful behavior is completely different for each device.
Video doorbell
The useful questions are whether a button press or motion event arrives quickly, where recordings live, how live video is exposed, and what continues to work without the internet. A camera card in Home Assistant is not the same as reliable events or access to recorded clips.
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.