Is it possible to do a progress bar with WLED?

Hey @tom_l, that’s a valid point — the built-in number.set_value and select entities are definitely convenient and work well for many use cases.

In some situations though — like when you want to apply multiple parameters at once (effect, palette, brightness, color, intensity), or you’re working with dynamic values from sensors — sending a single JSON command can be a more flexible approach.

The WLED Live View Proxy integration exposes a service that sends native JSON API commands over WebSocket (supported in WLED since v0.10.2). It uses the same structure as /json/state, so anything you can do there, you can do from an automation.

Regarding the note:

Also nowhere was this needed:
No YAML escaping, no REST tricks

That was meant to highlight that using this method doesn’t require escaping inner quotes, posting to /json with templates inside strings, or working around REST formatting — which is something people sometimes run into when trying to use raw JSON with rest_command. With this integration, the payload is a regular YAML dictionary — no special syntax or formatting required.

Here’s a simple example to illustrate:

action: wled_liveviewproxy.send_command
data:
  targets:
    entity_id: light.wled_strip
  command:
    seg:
      - id: 0
        fx: 98
        pal: 0
        col: ["00ff00", "000000"]
        bri: 255
        ix: "{{ states('sensor.battery_level') | int(0) }}"

This sets the progress effect directly, including colors and intensity, using one service call and no custom entities.

It’s just an alternative option — both approaches are valid depending on the complexity of the automation.

1 Like