Releases: etokheim/scene_studio
Releases · etokheim/scene_studio
Release list
Scene Studio 6.0.0
🚨 Breaking changes
- 🚨 The integration is Scene Studio now (domain
scene_studio, was Circadian Scenes). Your scenes copy over on first load. The old config entry does not — remove it and add Scene Studio once. Search Scene Studio in HACS
Summary:
One sidebar for ordinary scenes and sun-following ones. Start from a picture or a theme, name the room after it, and keep colors in a library you can actually edit.
Added
- ⭐ New scene from a picture palette, or a circadian scene from a theme preset (Daylight, Hearth, Blue hour). The scene takes that name — and “Name 2” when the room already has it
- Library tab for color variables, palettes, and circadian themes. Edit them in the main column. Delete one from its chip; if a scene still uses it, the dialog stays open and says where
- Palette photos on the theme dial, fading into the next solar event. Brightness darkens the photo and the light tiles that inherit the theme
- Reset a palette slot, or a solar event, back to the preset it was copied from
- Undo and redo in the scene, circadian, palette, variable, and theme editors
- Auto configure: a circadian scene for every area that has lights
- Play a scene live, and set how long that play runs
- Earliest dusk is one house-wide setting, so lights do not dim too early
- Translations for the new editor, in Bokmål, Nynorsk, German, and Spanish
Changed
- The rail is your scenes, grouped by area, with Library beside it. Sticky titles use the same surface as the app header
- On a phone the wheel stays on screen. Presets scroll in their own row, and a finger on the dial does not scroll the page
- A circadian palette belongs to the solar event. Lights that cannot do color stay off a mixed palette; temperature bulbs only join an all-kelvin one
- Disks restack when you let go of a pin, not while you are still dragging
Fixed
- Theme brightness stays on the dial and on lights that inherit it — dragging it no longer drops the palette
- Undo brings a palette slot or a variable’s color back
- Rename no longer knocks out the undo tooltip
Circadian Scenes 5.0.0
🚨 Breaking changes
- 🚨 Integration domain is now
circadian_scenes(wasscene_extrapolation) — store, entity registry, and panel paths migrate automatically; search Circadian Scenes in HACS
Summary:
Domain rename for real, plus a much better light sidebar: add lights in one tap, effects, live color previews, and fewer dial layout glitches.
Added
- ⭐ Add light under the dial list — pick any light (including other areas); current look is copied into every assigned native scene
- Effect picker in the light sidebar (
ha-control-select-menu) - Save warning when a write would change native scenes Circadian Scenes did not create (with a “don’t warn again” option)
- Live kelvin / color readout while dragging the color wheel handle
Changed
- Light sidebar: undo/redo first, clearer Preview / Live preview / Activate actions, smoother color-wheel live preview (~500ms throttle)
- Dial paints rings from event knots then refines mid-segment colors after settle (faster first paint; truer colors)
- Kelvin scene colors persist with exclusive attributes; table view uses settled HA samples
- Dial chrome: vignette pinned to the panel host, longer sidebar open/close, enter animation orbits event buttons with a shorter sun sweep
Fixed
- Editor horizontal scrollbar from horizon background bleed (clip at all widths)
- Add light control centering; new lights appear without a full page reload; one tap opens the native search list
- Light-band selection kept when opening the sidebar; Now/Sun° readout alignment; assorted dial layout and bleed polish
Scene Extrapolation 4.0.0
🚨 Breaking changes
- 🚨 Renamed the product to Circadian Scenes (domain stays
scene_extrapolation; search either name in HACS) - 🚨 Continuous “follow-up” preferences are now Automatically update lights (store migrates
continuous/follow_upkeys for you) - 🚨 Nightlights mode is gone — use a normal native scene + automation if you still need that pattern
Summary:
Built-in sun-following updates, dial as the default editor, and a much calmer day/night look — plus a pile of editor fixes so Live edit, drafts, and the light rings behave.
Added
- ⭐ Built-in automatic light updates (on by default): after you activate a circadian scene, lights keep adjusting on an interval with a matching transition — pause per room from the list, or set the global interval to 0
- Auto-setup creates one native scene per solar event, named after the event (
{area} Dawn…); combined day slot is{area} Dawn-Sunset - Empty list / created-scenes copy for Circadian Scenes, plus RGBWW color/white brightness graphs in the light editor
Changed
- Dial view is the default for new users (explicit Table choice in localStorage still wins)
- Scene list is a single table with area groups and the auto-update control at the top; friendly names everywhere
- Chromatic color blends (HS/RGB) stay on the wheel rim instead of cutting through white; wheel path drawing matches
- Dial chrome: multi-color dusk horizon into the surface, theme-split night wedges, softer vignette, portrait toolbar that pushes the dial instead of covering it
- Create wizard “full automatic” fills all five solar events (not a combined switch)
- Hide-managed native scenes defaults to on for new installs (migrated stores flip with 3.0)
Fixed
- Live edit no longer sends two Color descriptors to
light.turn_on(hs + rgb) — HA rejected that exclusion group - Refresh on
#newrestores the local draft instead of wiping post-wizard work - Sun/handle drag hits no longer steal clicks from the light rings
- Draft/location banners shrink the dial so the light list still peeks; vignette lines up with the horizon wash under banners
- Panel boot / Store migration / auto-update stop control; dial overnight wrap and date morph; scrub-release refine flash; list flicker and unavailable lights; horizon fill with sidebar open; brightness-graph label collisions; and assorted dial layout/scroll/chrome glitches
Scene Extrapolation 2.2.0
Added
- Sidebar panel: add Scene Extrapolation once; rooms are created and edited there (legacy per-room config entries import automatically)
- Solar dial view: concentric light rings, year scrub with client-side sun math, landscape timeline rail, soft ring glow, and dial chrome (ticks, event buttons, sticky scrub, enter animation)
- Create-scene wizard: Automatic (Bright/Dimmed/Low lights) or Manual with config-flow-style guidance, native scene pickers (empty = create automatically), brightness-ranked defaults; block areas with no lights
- List page: Extrapolation / Created scenes tabs (
ha-tab-group), global settings sidebar (hide created scenes in the HA UI), row settings/delete on both lists, New FAB on both tabs - Panel translations for English, Bokmål, Nynorsk, German, and Spanish (
frontend+ config) - Table/list sun path chart with a solid day stroke, horizon color ramp, and dial-style event markers (inert on the list)
- Fast list sun chart via the lightweight
sun_pathAPI (fullpreviewstays on the editor) - Dial light list as HA-style cards with entity state icons; suggested area lights when a new scene has an area but no native scenes yet
- Light-edit sidebar: brightness graph + Huemane-style color wheel (no On/Brightness fields); legend/ring clicks open the same sidebar
- Unsaved editor drafts persist in the browser with a restore banner; leave prompts Discard / Keep editing
- Preview another location; year-long date scrub; Live edit; undo/redo
Changed
- Configuration home is the sidebar panel; the options flow is gone on purpose
- New-scene Save FAB is always visible; existing scenes still show Save only while dirty (dialog on first create, immediate save after)
- Cross-mode color blends (e.g. color_temp ↔ HS/RGB) lerp in RGB instead of flipping mode at 50%
- Dial/table layout: light list under the face; fixed desktop chrome; portrait date/scrub overlay; landscape rail top inset; horizon/bloom can paint under the desktop sidebar
- Leaving with unsaved work prompts Discard / Keep editing while still buffering drafts for refresh/remount
- CI workflows target
master(wasmain); lint runs on Python 3.14 so PyPI Home Assistant matches current APIs
Fixed
- Create save no longer opens the Unsaved changes dialog when navigating to the new scene
- Settings hide toggle refreshes the list without closing the settings sidebar
- List sun path no longer races a full editor preview (slow / intermittent chart)
- Dial polish: ring selection flash, hover name placement, horizon glow peach↔sky blending, scrub corona trails, dusk clamp link during year scrub, sun outline during scrub, and related layout/clipping issues
Scene Extrapolation 2.1.0
Added
- Expose scenes the extrapolation scene consumes as attributes
Changed
- Combine Dawn/sunrise/sunset instead of dawn/dusk and sunrise/sunset (makes more sense in real-life)
Fixed
- Opening options flow with legacy data causes error that hinders fixing legacy data
- Remove none values from service calls. Eg. effect: none is not supported
Scene Extrapolation 2.0.0
🚨 Breaking changes
Breaking changes are marked with an emergency light emoji: 🚨
Summary: Improved UX and minimize the time to setup!
This release's focus is on improving the UX and minimize the time it takes to set up the integration - but there are also lots of other goodies!
Added
- 🚨 Add noon scene option
- ⭐ Modify transition progress - ie. move the transition towards or further away from the noon scene (to increase/decrease the brightness)
- Improved extrapolation speed by running calculations in parallel
- Add support for extrapolating effects!
- Added testing tools in the service. Select:
- Time and date - Test how the lighting would look at a specific time of day - or year (winter/summer)
- Location - Test the lighting as if you are at a different place in the world
- Translations! Proper Norwegian (nynorsk) and Danish-Norwegian translations has been added alongside German
- Added handling for if the sun doesn't rise/set (Polar regions etc)
Changed
- 🚨 Removed night rising and night setting options
- 🚨 Renamed sun setting and sun rising to sunset and sunrise
- 🚨 Renamed all entity variables, meaning the only user (me), has to reconfigure all the integration entries - wohoo!
- Simplify configuration by optionally combining dawn/dusk and sunrise/sunset scenes
- New default scene name: Extrapolation scene -> Automatic Lighting
- Updated integration name: Scene Extrapolation -> Scene Extrapolation (Circadian Rythm)
- Make the nightlights boolean and nightlights scene optional
- Mark required and optional fields
- Move nightlights configuration into its own config step to make the config less overwhelming
- No longer store area_id in the configuration. Instead just assign it to the scene entity and fetch it from there (to always keep it up to date).
- Hide scene name and area from the options/edit flow (this should be edited directly on the scene entity)
Fixed
- Changes to
Earliest time for triggering the dusk scenewasn't saved - Updated issue and documentation URLs
- Stopped using the soon to be deprecated
color_tempargument inturn_onservice - Inaccurate extrapolation calculation
- Transitions crossing midnight was wrongly calculated or outright failed
Scene Extrapolation 1.0.0
Added
- First official release of Scene Extrapolation custom component
- No more direct file access of scenes.yaml
- New service! extrapolation_scene.turn_on: activates a extrapolation scene with a basic brightness modifier
- New attribute: brightness_modifier - keeps track of the applied brightness_modifier
- New attribute: integration=scene_extrapolation - makes extrapolation scenes easily identifiable in Home Assistant's templates
- Add support for RGBW
- Add support for RGBWW
Changed
- Improved two-step config flow for easier setup and changes
- Use fully featured Home Assistant dropdowns during setup (displays eg. the selected scene's icon, assigned area etc)
- Filter scene selectors during setup to only show scenes assigned to the selected area (if an area is selected and has scenes assigned to it)
- Only send one request with all changes to the lights. Faster, but not supported by eg. some older zigbee lights
Fixed
- Integration is blocking the thread - must use async (minor issue)
- Remove deprecated constants