Ground truth for Shelly Duo GU10 RGBW smart bulb (Gen1): LAN HTTP REST contract, mDNS discovery (with the non-loopback-IPv4-bind gotcha), color/temp endpoints, off semantics, latency expectations. Language-agnostic facts; Kotlin/Ktor reference example.
88
86%
Does it follow best practices?
Impact
100%
1.28xAverage score across 3 eval scenarios
Passed
No known issues
A Tessl plugin encoding ground truth for the Shelly Duo GU10 RGBW smart bulb (Gen1) — the LAN-controllable RGBW bulb whose 30–80 ms local latency makes it a natural counterpoint to cloud-throttled devices like Govee H6056.
| Kind | Name | Purpose |
|---|---|---|
| Skill | shelly-duo-gu10-control | LAN HTTP REST contract (/color/0, /white/0, /status), Kotlin/Ktor reference client, JmDNS discovery with the bind-to-non-loopback-IPv4 gotcha, off semantics, latency expectations. |
| Rule | shelly-duo-gu10-gotchas | Concise reminder card: endpoints, mDNS service names, 0.2 s min-interval for debounce (vs 1.2 s for cloud APIs). |
Two things agents commonly get wrong on Shelly:
JmDNS.create() with no argument binds to the loopback interface. Discovery returns zero services. The plugin documents the exact "bind to the primary non-loopback IPv4 interface" pattern that fixes it.tessl install jbaruch/shelly-duo-gu10MIT — see LICENSE.