HTTP API Guide
The public kuandoHUB manual documents both a simple HTTP GET API and a richer HTTP POST API. For most app integrations, POST is the better long-term interface.
1. Requirements​
Before any script works:
- Install and run
kuandoHUB. - Enable the HTTP interface in
Advanced Settings. - Ensure the
HTTPpriority line is enabled if you want the HTTP source to affect the light. - Use the default local listener unless you explicitly changed it.
The manual states:
- default listener URL is
http://localhost:8989/, - local requests do not need a token,
- a token is only required for remote access from other devices,
- the listener URL can be configured through settings/registry.
2. Fastest option: HTTP GET​
GET is fine for simple automation and quick tests.
Solid color​
http://localhost:8989?action=light&red=100&green=0&blue=0
Alert with sound​
http://localhost:8989?action=alert&red=100&sound=5&volume=25
Blink​
http://localhost:8989?action=blink&blue=100&ontime=5&offtime=5
Jingle​
http://localhost:8989?action=jingle&red=100&sound=3&volume=100
Pulse​
http://localhost:8989?action=pulse&red=100&blue=100
Color with flash​
http://localhost:8989?action=colorwithflash&green=100&flashblue=100
Off​
http://localhost:8989?action=off
kuandoTimer​
http://localhost:8989?action=kuandoTimer&command=start
Supported timer commands in the manual:
startstoppausemcontinuereset
3. Better option: HTTP POST​
POST accepts JSON and supports the richer SDK-style command model, including custom data source registration and priority setup.
The common JSON fields are:
actionsendereventtypeeventnameparameter
parameter is itself an embedded JSON string in the documented examples.
4. Minimal POST light command​
{
"action": "Light",
"sender": "SDK",
"eventtype": "Light",
"eventname": "Color",
"parameter": "{\"RedRgbValue\":0,\"GreenRgbValue\":100,\"BlueRgbValue\":0}"
}
5. Useful POST commands​
| Command | Use it for |
|---|---|
Light | Set a solid color |
Alert | Color plus sound |
Blink | Simple on/off blinking |
Jingle | Sound notification with color |
Pulse | Pulse sequence |
ColorWithFlash | Solid base color plus flash color |
Off | Turn off light |
RegisterDataSource | Create a custom logical source in kuandoHUB |
CreateInitialPriority | Add your source to kuandoHUB priorities |
6. Why RegisterDataSource matters​
If you want your app to behave like a first-class source inside kuandoHUB priorities, POST is more than just "set light color."
The manual documents:
RegisterDataSourceto register your custom source name and event families.CreateInitialPriorityto insert your source into the priority configuration.
That means you can integrate your own app into kuandoHUB's built-in source arbitration model instead of only sending ad hoc colors.
7. Sound and volume values​
The public manual lists sound IDs:
0: no sound1: Fairy Tale2: Funky3: Kuando Train4: Open Office5: Quiet6: Telephone Nordic7: Telephone Original8: Telephone Pick Me Up
Documented volume values:
1007550250
8. GET or POST​
Use GET when:
- you want a quick proof of concept,
- the command is simple,
- you are triggering the light from a webhook or URL.
Use POST when:
- you want structured integration,
- you want to register a custom data source,
- you need consistent event naming,
- you plan to grow beyond a few hardcoded light calls.