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.