v2.16.0 — Card picker install, native light picker, preview fade
This is the GA that makes Lightener Studio feel native to Home Assistant. The curve card now installs and surfaces itself, HA's own light picker drives building and managing groups, the in-card "Add light" flow is consistent everywhere, and member lights ease into their preview instead of snapping. Plus a fully overhauled live demo so you can try the whole editor before you install anything. No breaking changes, no config migration: upgrade and go.
Highlights
- Zero-setup card install (HA 2026.6+). The integration loads the curve card itself on every dashboard and registers it in HA's card picker, suggesting it only when you've picked a Lightener light. No more adding a Lovelace resource by hand. (If you added the resource manually before, remove it; see Upgrade notes.) The card route is immutable per release and served with proper cache headers.
- Native HA light picker. Building a group and adding lights go through Home Assistant's own multi-entity selector: search, multi-select, drag to reorder. "New group" and "Manage lights" route through the native config flow (name, then area, then lights), which writes the config entry and reloads in one atomic step.
- In-card "Add light". An inline entity picker plus a starting-curve preset chooser, identical whether you're in a dashboard card or the sidebar panel, with an area filter to narrow the picker to a single room.
- Preview lights fade instead of snapping. When you scrub or preview, member lights ease to the preview brightness over a fixed 0.25s and ease back, matching the feel of HA and Adaptive Lighting. Preview-only: your group's real runtime behavior is unchanged.
- A real live demo. Try the editor with 2, 3, or 20 lights (and very long entity names), add and manage lights via an HA-style picker, and apply presets, with light and dark preview cards staying in sync as you drag, scrub, preview, and undo. Tuned for mobile touch. → https://florianhorner.github.io/lightener-studio/
- Deterministic branded demo GIF. A choreography-as-code pipeline captures a fresh hero GIF on every release, freshness-gated so a stale GIF can never ship.
Under the hood: the save-confirm flow now reflects confirmed backend state with an 8s timeout guard and a generation fence, custom elements register through a guarded safeDefine (double-load safe), after_dependencies: ["frontend"] fixes load ordering, and the Adaptive Lighting brightness+color contract is pinned by test.
Upgrade notes
- Home Assistant 2024.2.0 or newer is required.
- If you previously added the curve card as a manual Lovelace resource, remove it. The integration now loads the card itself on every dashboard. Leaving the manual resource in place can double-load the card (harmless, but unnecessary).
- No breaking changes and no config migration. Existing Lightener groups and curves carry over untouched. Upgrade in place.
Install
One-click (recommended): Add to my Home Assistant
Manual (HACS custom repository):
- In HACS, open the three-dot menu, then Custom repositories.
- Add
florianhorner/lightener-studiowith category Integration. - Install Lightener Studio, then restart Home Assistant.
Built on Lightener
Built on the Lightener integration by @fredck, extended for the visual editor (the WebSocket commands the card needs, plus config-flow and state-handling hardening). Upstream MIT license intact.