CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/shelly-duo-gu10

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

1.28x
Quality

86%

Does it follow best practices?

Impact

100%

1.28x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

shelly-duo-gu10

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.

What this plugin provides

KindNamePurpose
Skillshelly-duo-gu10-controlLAN 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.
Ruleshelly-duo-gu10-gotchasConcise reminder card: endpoints, mDNS service names, 0.2 s min-interval for debounce (vs 1.2 s for cloud APIs).

Why it exists

Two things agents commonly get wrong on Shelly:

  1. mDNS discovery on the JVM silently fails on macOS because 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.
  2. Debounce min-interval reuse from cloud APIs — agents copy the 1.2 s value from a Govee plugin and apply it to Shelly. Shelly happily accepts ~5 req/s. The plugin spells out "0.2 s for LAN, 1.2 s for cloud" explicitly.

Install

tessl install jbaruch/shelly-duo-gu10

License

MIT — see LICENSE.

Workspace
jbaruch
Visibility
Public
Created
Last updated
Publish Source
CLI
Badge
jbaruch/shelly-duo-gu10 badge