Full control of a WLED device from your Twitch & Discord events. Power, brightness, colour, effects, palettes, presets, playlists, nightlight — plus ready-made party effects like Flashbang, Blink, Strobe and Police lights. Point it at your WLED's IP and wire any event to your LEDs in the action builder.
> Works with any WLED device on your local network (ESP8266/ESP32) over its built-in JSON API.
What you need
- A WLED device on the same local network as your PC, with a known IP address
(e.g. 192.168.1.50). Tip: give it a static IP / DHCP reservation in your router so it doesn't change.
- aiostool running and connected to your bot.
- Nothing to enable on the device — WLED's JSON API is on by default.
Setup
1. Install the **WLED** mod from the mod section and push it to your device (or, as a developer, open the
folder in the Dev area).
2. Open the mod's **settings** and enter your **WLED IP address**.
3. In the action builder, add an **aiostool Action**, pick your device, choose **WLED**, then the action
you want — the parameters appear as a form.
That's it. Trigger it from a follow, sub, cheer, channel-point redemption, a command… anything.
Basic controls
Action | What it does | Key parameters |
|---|---|---|
Power on/off/toggle | Turn the lights on, off, or toggle | state, optional brightness, transition_ms |
Set brightness | Overall brightness | level (1–255) |
Set colour | Solid colour (shows even over a running effect) | hex (#33ccff) or r/g/b, optional brightness, segment |
Set effect | Any WLED effect by id | effect_id, optional speed, intensity, palette, segment |
Set palette | Colour palette by id | palette_id, optional segment |
Apply preset | A saved WLED preset | preset_id |
Start playlist | A saved WLED playlist | playlist_id |
Nightlight | Nightlight timer | on, duration (min), mode (0–3), target_brightness |
Set default transition | Crossfade time for future changes | ms |
Raw JSON state | Anything the actions above don't cover — send raw /json/state | json |
Get device info | Read name, version, LED count | - |
Get current state | Read power/brightness/segments | - |
> Effect and palette ids are the ones shown in the WLED app (Effects/Palettes lists). Use Get current state if you want to see what's active.
Special effects 🎉
These are the fun ones for stream alerts. The colour effects switch the segment to solid so the
colour actually shows, and the momentary ones snapshot your current state and restore it afterwards
(including the effect that was running).
Action | What it does |
|---|---|
Flashbang | A quick full-brightness white flash, then back to how it was |
Colour flash | Same, but in a colour you choose |
Blink | Blink a colour on/off for a short duration |
Strobe | Very fast blinking of a colour/white |
Police lights | Alternating red/blue |
Fade to colour | Smoothly crossfade to a colour over a set time |
Pulse / breathe | Continuous breathing of a colour (runs until you change it) |
Rainbow | Continuous rainbow (runs until you change it) |
Example ideas
- New follower → Colour flash in your brand colour.
- Raid → Police lights for a few seconds, then back to normal.
- Bits / Cheer → Flashbang scaled to the amount.
- Channel-point "party" → Rainbow; a second redemption sets it back with Set effect or Set colour.
- Sub → Fade to gold, then Pulse.
Good to know
Momentary effects are time-capped (~3 seconds). Flashbang, Blink, Strobe and Police run *during* the action, so they're bounded so they can't stall. For long, continuous blinking use Set effect with WLED's own Blink/Strobe effect instead.
"Set colour" forces Solid. If an effect was running, setting a colour switches the segment to solid so the colour is visible. Want to keep an effect and just change its colour? Use Set effect / Set palette.
Segments. Colour/effect/palette actions take an optional `segment` id if you run multiple segments; leave it blank to target the whole strip.
Can't reach the device? If an action reports "Set the WLED device IP…" the IP isn't set in the mod settings. If it's set but nothing happens, check the IP is correct and reachable from your PC — open `http://<your-wled-ip>/json/state` in a browser to confirm.
Support
Found a bug or want another effect? Reply below. 💡