| name | openhue |
| description | Control Philips Hue lights via OpenHue CLI + Hue Bridge API |
| category | smart-home |
| version | 1.0.0 |
| origin | aiden |
| license | Apache-2.0 |
| tags | hue, philips, smart-home, lights, openhue, cli, iot, automation, rgb, brightness |
Philips Hue Smart Light Control
Control Philips Hue lights using the OpenHue CLI or the local Hue Bridge REST API. Works entirely on your local network — no cloud required.
When to Use
- User wants to turn lights on or off
- User wants to change light color or brightness
- User wants to activate a Hue scene
- User wants to list all lights and their current state
- User wants to set up automation rules for lights
How to Use
1. Install OpenHue CLI
# Install via winget
winget install openhue.cli
# Or via npm
npm install -g openhue-cli
# Verify
openhue --version
2. First-time setup — discover and pair with Bridge
# Discover the Hue Bridge on your network
openhue discover
# Pair (press the button on the Bridge within 30 seconds, then run)
openhue pair --host 192.168.1.x # use IP from discover output
# Save credentials
openhue configure --host 192.168.1.x --api-key YOUR_API_KEY
3. List all lights
openhue get lights
4. Turn lights on and off
# Turn specific light on/off (by ID or name)
openhue set light "Living Room 1" --on true
openhue set light "Living Room 1" --on false
# Turn all lights off
openhue set lights --on false
5. Change brightness and color
# Brightness 0-100
openhue set light "Desk Lamp" --brightness 70
# Set color by hue/saturation (hue 0-360, saturation 0-100)
openhue set light "Desk Lamp" --hue 240 --saturation 80 --brightness 80
# Set color temperature in Kelvin (2000K warm to 6500K cool)
openhue set light "Desk Lamp" --color-temp 3000
6. Activate a scene
# List available scenes
openhue get scenes
# Activate a scene in a room
openhue set scene "Relax" --room "Living Room"
7. Use the Hue local REST API directly
$bridge = "192.168.1.x"
$apiKey = $env:HUE_API_KEY
$baseUrl = "https://$bridge/clip/v2"
$headers = @{ "hue-application-key" = $apiKey }
# List all lights
$lights = (Invoke-RestMethod -Uri "$baseUrl/resource/light" -Headers $headers -SkipCertificateCheck).data
$lights | Select-Object id, @{N="name";E={$_.metadata.name}}, @{N="on";E={$_.on.on}}
# Turn a specific light on
$lightId = $lights[0].id
$body = @{ on = @{ on = $true } } | ConvertTo-Json
Invoke-RestMethod -Uri "$baseUrl/resource/light/$lightId" -Method Put -Headers $headers -Body $body -SkipCertificateCheck
Examples
"Turn off all the lights in the bedroom"
→ Use step 4: openhue set lights --room "Bedroom" --on false
"Set my desk lamp to a cool blue for focus mode"
→ Use step 5: --hue 220 --saturation 90 --brightness 75 for a cool blue light.
"Activate the Movie scene in the living room"
→ Use step 6: openhue set scene "Movie" --room "Living Room".
Cautions
- The Hue Bridge must be on the same local network as the machine running Aiden
-SkipCertificateCheck is needed for direct API calls — the Bridge uses a self-signed certificate
- OpenHue CLI stores credentials in
~/.openhue/ — do not share this directory
- Hue API v2 uses UUIDs for light IDs — use the list command to find IDs before automating
- Color temperature range varies by bulb model — not all bulbs support full 2000K-6500K range