- Use conditional Binding to sync slider values only when not dragging
- Send value to light once on release instead of every pixel
- Improve shared config file loading with multiple path fallbacks
The light's TCP stack resets HTTP/1.1 GET connections but requires
HTTP/1.1 for PUT requests. Switch from requests to raw http.client
with HTTP/1.0 for GETs and HTTP/1.1 + Connection: close for PUTs.
Add retry logic (5 attempts, 1s delay) for intermittent resets.
- Python CLI (click): discover, status, on/off/toggle, brightness, temperature, info
- mDNS discovery via zeroconf for automatic light detection
- Shared config at ~/.config/elgato-cli/config.json
- KDE Plasma 6 plasmoid with system tray icon, power/brightness/temperature controls
- Plasmoid uses XMLHttpRequest directly to light API (no CLI dependency)
- Unit tests for API client with mocked HTTP responses