In this Automation Guide:
- Integration: Native auto-discovery vs. manual IP entry.
- Dashboard: Designing a 2-column control grid.
- The Logic: Understanding YAML triggers and conditions.
- Scenario A: Sunset Lighting (Sun Elevation).
- Scenario B: TV Bias Lighting (Media Player State).
You have your ESP32 controller built and your LEDs mounted. Now it is time to give them a brain. While the native WLED app is powerful, opening an app every time you want to turn on a light is tedious.
The real magic of a smart home is automation. By integrating WLED with Home Assistant, your lights can react to the sun, your motion sensors, or even the movie playing on your TV.
Step 1: The Integration (Auto-Discovery)
Home Assistant (HA) has built-in support for WLED. If your ESP32 is powered on and connected to the same Wi-Fi network as your HA server, it should appear automatically.
- Open Home Assistant and go to Settings > Devices & Services.
- Look at the top of the page for a "Discovered" section.
- Click Configure on the WLED box.
- Assign it to an Area (e.g., Living Room) and click Finish.
Troubleshooting: No Auto-Discovery?
If the device does not show up, click "Add Integration" in the bottom right corner. Search for WLED and manually enter the IP address of your ESP32 (e.g., 192.168.1.50).
Step 2: Dashboard Design
Once integrated, you need a clean interface to control the lights. We recommend a Grid Card layout to separate basic controls from advanced effects.
Left Column: Control
Use the standard Light Card here. It provides the essential On/Off toggle, brightness slider, and color wheel. This is what you will use 90% of the time.
Right Column: Effects
Use an Entities Card filtered to show the "Effect" attribute. This allows you to select "Rainbow," "Breathe," or "Solid" from a dropdown list without opening extra menus.
Step 3: YAML Automations
Manual control is good; automation is better. Below are two common scenarios. You can paste these directly into your automations.yaml file or use the Visual Editor.
Scenario A: Sunset Lighting
This automation turns the strip to a warm gold color 15 minutes before sunset, but only if someone is home.
alias: "Living Room WLED Sunset"
trigger:
- platform: sun
event: sunset
offset: "-00:15:00"
condition:
- condition: state
entity_id: group.family
state: "home"
action:
- service: light.turn_on
target:
entity_id: light.wled_strip
data:
brightness_pct: 50
rgb_color: [255, 147, 41]
effect: "Solid"
Scenario B: TV Bias Lighting
If you have a smart TV or media player integrated, you can dim the lights automatically when a movie starts.
alias: "Cinema Mode"
trigger:
- platform: state
entity_id: media_player.living_room_tv
to: "playing"
action:
- service: light.turn_on
target:
entity_id: light.wled_strip
data:
brightness_pct: 30
rgb_color: [100, 0, 255]
effect: "Aurora"
The Reality of Automation
Before you automate everything, here is a breakdown of what to expect when combining WLED with Home Assistant.
| Aspect |
The Reality |
| The Good |
Local Control. Even if your internet goes down, Home Assistant can still control WLED because they talk over your local Wi-Fi. It is incredibly fast. |
| The Bad |
Power Usage. Even when the LEDs are "Off" in the software, the ESP32 and the LEDs still consume a small amount of power. For large setups, consider a smart plug to kill power completely. |
| The Ugly |
Naming Conflicts. If you rename your WLED device in the native WLED app, Home Assistant might lose track of it or create duplicate entities. Always name it once, then leave it alone. |
Conclusion
Integrating WLED into Home Assistant transforms a simple light strip into a reactive part of your home. Start with simple time-based automations, and as you add motion sensors or door contacts, your logic can grow more complex.
Connect with Local Makers
Join Great Meets to collaborate with others who share your passion for Home Automation and WLED. Search for a group in your area, or if one doesn't exist, create your own to start building a community.
Find or Create a Group ?