v0.1.0 (unreleased)
Initial release, extracted from NordSwitch (nordswitch.eu) where the OAuth/account/v2 paths and switch parsing run against a live mixed Gen2/Pro/Gen4 fleet.
Shelly.OAuth— authorization-code flow (server claims pinned tohttps://*.shelly.cloud),to_account/1bridge.Shelly.Account— Bearer-token account API: device list with per-channel expansion, whole-account status in one call,parse_status/2, switch control.Shelly.CloudV2— auth-key API: bulk status (≤10 ids), switch/cover/light control,toggle_afterwatchdog.Shelly.CloudV1— deprecated legacy endpoints (fallback).Shelly.Events— real-time websocket per account: handler callback, id normalization, jittered exponential reconnect with attempt cap, token-redacting logs.Shelly.Status— component-aware parser for Gen1–Gen4 payloads (switch/cover/light/CCT/RGB(W)/pm1/em/em1, flood, smoke, presence, temperature/humidity, voltmeter; Gen1 relays/lights/rollers/emeters and battery sensors),metered/componentreporting,has_component?/2+component_of/2partial-delta guards, battery and sensor-temperature enrichment.Shelly.RateGate— per-account pacing (~1 req/s) with backlog cap ({:error, :throttled}) and key pruning.
Pre-publish review by a multi-model quorum (Gemini, Grok, Kimi, ZAI, Vibe); findings incorporated.