wled
Controls WLED LED controllers via the local HTTP JSON API with a Python CLI for power, brightness, colors, effects, palettes, presets, and status. Makes local HTTP requests to http://<device-ip>/, reads config files at ~/.wled/config.json, ~/.config/wled/config.json, ./.wled-config.json, accepts the WLED_HOST env var, and is invoked via python3 scripts/wled.py.
WLED Skill
Control WLED LED strips and matrices via HTTP API.
Installation
clawdhub install rowbotik/wled
Usage
All commands require --host (or -H) with the WLED device IP/hostname.
Power Control
python3 scripts/wled.py -H <ip> power # Get power state
python3 scripts/wled.py -H <ip> power on # Turn on
python3 scripts/wled.py -H <ip> power off # Turn off
Brightness
python3 scripts/wled.py -H <ip> brightness # Get current brightness
python3 scripts/wled.py -H <ip> brightness 255 # Max brightness
python3 scripts/wled.py -H <ip> brightness 128 # 50% brightness
Colors
python3 scripts/wled.py -H <ip> color 255 0 0 # Red
python3 scripts/wled.py -H <ip> color 0 255 0 # Green
python3 scripts/wled.py -H <ip> color 0 0 255 # Blue
python3 scripts/wled.py -H <ip> color 255 255 255 # White
Effects
python3 scripts/wled.py -H <ip> effects # List all effects with IDs
python3 scripts/wled.py -H <ip> effect 0 # Solid color
python3 scripts/wled.py -H <ip> effect 9 # Rainbow
python3 scripts/wled.py -H <ip> effect 9 -s 200 # Rainbow, fast speed
python3 scripts/wled.py -H <ip> effect 9 -i 128 # Rainbow, medium intensity
Palettes
python3 scripts/wled.py -H <ip> palettes # List all palettes with IDs
python3 scripts/wled.py -H <ip> palette 6 # Set Party palette
Presets
python3 scripts/wled.py -H <ip> presets # List saved presets
python3 scripts/wled.py -H <ip> preset 1 # Load preset #1
Status
python3 scripts/wled.py -H <ip> status # Full device status
Configuration
Avoid passing --host every time by creating a config file at ~/.wled/config.json:
{
"bedroom": "192.168.1.100",
"kitchen": "192.168.1.101",
"living_room": "wled-abc123.local"
}
Then use aliases:
python3 scripts/wled.py -H bedroom brightness 255
python3 scripts/wled.py -H kitchen color 255 0 0
Or set the WLED_HOST environment variable:
export WLED_HOST=192.168.1.100
python3 scripts/wled.py brightness 255
Config file locations (checked in order):
~/.wled/config.json~/.config/wled/config.json./.wled-config.json
Finding Your WLED Device
WLED devices can typically be found via:
- Router admin panel (look for ESP device)
- mDNS/Bonjour:
wled-<mac>.local - WLED app discovery
Static IP Recommendation
IP addresses change over time. To avoid updating your config, set a static IP on your WLED device:
Option 1: Router-based (easiest)
- Open your router admin panel
- Find the WLED device by MAC address
- Reserve/assign a static IP
Option 2: On-device
- Access WLED web UI at
http://<current-ip> - Go to Settings → WiFi Settings
- Set static IP manually
- Save and reboot
Option 3: mDNS (no static IP needed)
Use wled-<mac>.local in your config instead of IP—routers resolve these automatically and never change.
Features
- Power control — Turn on/off
- Brightness — 0-255 scale
- Colors — Full RGB control
- Effects — 40+ built-in effects with speed/intensity
- Palettes — Color palette selection
- Presets — Save and load configurations
- Status — Real-time device information
API Reference
See references/api.md for complete WLED HTTP API documentation.
Requirements
- WLED device on the same network
- Python 3 (no external dependencies)
License
MIT