Skip to main content

WLED smart home integration, free and open source

WLED integration for Gladys Assistant

WLED LED strip controllers on the local network: colors, effects, palettes, presets, segments.

Control your WLED LED strips from Gladys, over your local network: color, brightness, effects, palettes, presets and segments, updated in real time.

Developed without the hardware: feedback welcome. This integration was built and tested against real answers of WLED controllers, not against physical strips. If something does not work as described, please say so on the Gladys forum or in the issues.

What you need​

  • Gladys Assistant 5.1.0 or later.
  • A WLED controller (ESP8266 or ESP32) connected to the same network as Gladys. WLED 0.14 or later is recommended; 0.13 should work.

Add your controllers​

  1. Install the integration from the Gladys catalog. The install screen asks to let Gladys look for WLED controllers on the network (mDNS, _wled._tcp): accept.
  2. Open the Discovery tab: every controller found is listed, with the name set in WLED. Click Add, pick a room, save.
  3. A controller is missing? Find its IP address in the WLED app (Config → WiFi Setup) or in your router, enter it in Configuration → Controller IP addresses (several addresses separated by commas), save, then open Discovery again.

Tip: give each controller a fixed IP address in your router (DHCP reservation). The integration recognizes a controller by its MAC address and follows it when its address changes, but a fixed address is found faster.

What each device offers​

Each controller is one device:

FeatureWhat it does
LightOn / off
Brightness0 to 100 % (0 turns the strip off)
ColorThe color of the strip (RGB strips); picking one turns it on
Color temperatureFrom warm (2000 K) to cold (6535 K) white, on strips with CCT whites
White channelThe white LEDs of RGBW strips, 0 to 100
EffectThe effect list of your controller (Solid, Rainbow, Fire 2012…)
PaletteThe color palette used by the effect
Effect speed0 to 100
Effect intensity0 to 100
PresetYour WLED presets and playlists; "None" once the state changed
NightlightStarts the WLED nightlight (duration and mode set in WLED)
UDP syncSends the changes to the other WLED controllers in sync with this one

Only what your strip can do is offered: no color temperature on a plain RGB strip, no white channel without white LEDs.

The effect, palette and preset lists are read on the controller. A preset you save in WLED shows up in the list on its own, within seconds.

Segments​

WLED can split a strip into segments. By default, the controller device drives the segments selected in WLED, exactly like the WLED interface; on a strip with a single segment, that is the whole strip.

To control each segment on its own, choose Also one device per segment in Configuration → Segments, save, then add the new devices from Discovery. They are offered for controllers with at least two segments, and are named after the segment names set in WLED. A segment device has its own light, brightness, color, effect, palette, speed and intensity; turning a segment on also turns the controller on. Presets, nightlight and sync stay on the controller device.

Feature names are given when you add a device, in the language chosen in Configuration → Language of the feature names: English, French, German or Spanish. The integration's own texts (configuration, widget, scenes, messages) follow the language of your Gladys in these four languages.

Real time​

Every controller tells Gladys about each change the moment it happens, whatever made it: the WLED app, a physical button, a schedule, an infrared remote, or another controller in sync. If the connection drops, the integration asks the controller for its state every 30 seconds while it reconnects.

The badge on each device shows local when the controller answers, and unreachable when it does not (unplugged, Wi-Fi lost). Commands sent to an unreachable controller fail with a message.

Scenes​

The integration adds its own cards to the scene editor, under Integrations:

  • Apply a WLED preset (action): applies a preset or starts a playlist, given by its name (as written in WLED, case does not matter) or its number. The following actions can read the preset number and name.
  • Start a WLED effect (action): turns the light on and starts an effect, given by its name (for example Rainbow) or number, with an optional palette (for example Party), speed and intensity (0 to 100). Choose a segment device to start the effect on that segment only.
  • WLED preset activated (trigger): starts the scene when a preset or playlist is started outside Gladys (WLED app, button, schedule, remote). Optionally pick the controller and type the preset name; left empty, any preset matches. The following actions can read preset (its name) and preset_id (its number). Presets applied by Gladys itself do not fire it, so a scene cannot loop on itself.

Turning on, brightness and color are the standard Gladys light actions.

Dashboard​

Add the WLED widget to a dashboard and pick a controller (or a segment device) in its settings. It shows:

  • the brightness, live;

  • whether the light is on, the current effect, palette and preset;

  • one-tap buttons, four at most:

    • your favorite presets: the ones you marked in WLED (give them a Quick load label in the preset settings), or your first presets if none is marked;
    • the effects chosen in the widget settings, under Effect buttons (Solid and Rainbow until you change them; an effect your controller does not have is left out). With presets on the widget, two places stay for the effects.

    The active preset or effect has a check mark. To start any other effect, use the Effect list of the device, or the Start a WLED effect scene action.

Troubleshooting​

  • No controller in Discovery: Gladys and the controller must be on the same network (mDNS does not cross routers or VLANs). Enter the IP address in Configuration, then use Search for controllers: the message under the button lists the controllers found and how they are reached.
  • A controller stays unreachable: check that its web page opens at http://<its address> from a computer on the same network. Names ending in .local do not work in the integration: use the IP address.
  • States arrive late: on a controller built without WebSocket support, changes made outside Gladys take up to 30 seconds to show. WLED also accepts a limited number of WebSocket clients at once: close the WLED app tabs you do not use.
  • The integration logs everything it does: open the integration logs from the Gladys interface, with LOG_LEVEL=debug for the full detail.

This integration is not affiliated with the WLED project.

Configuration settings​

These are the settings WLED asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Finding your controllerssectionNoWLED controllers on the same network as Gladys are found automatically (mDNS): open the Discovery tab. If one is missing, enter its IP address below (shown in the WLED app, under Config, WiFi Setup).
Controller IP addressesstringNoOptional, separated by commas. Only needed for the controllers automatic discovery does not find.
SegmentsselectNoEach controller is one device, driving the segments selected in WLED (the whole strip when there is only one). You can also get one device per segment.
Language of the feature namesselectNoNames given to the features of new devices (Light, Brightness, Effect...).

How to install WLED in Gladys​

  1. In Gladys, open Integrations: WLED appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/guim31/gladys-wled:1.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/guim31/gladys-wled.

WLED requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

WLED is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂