Repository navigation
Stable release of what was in 0.2.0b1: follow layers and the fix for scenes that skip a light. No code changes since the beta, only documentation.
Follow layers
layers.set mode: follow, source: <entity> puts a layer on lights whose brightness and colour come from another entity's attributes, such as an Adaptive Lighting switch or a template sensor, and change when it does. Layers does no circadian maths itself.
action: layers.set
target: {entity_id: [light.sofa, light.reading]}
data: {layer: circadian, priority: 10, mode: follow,
source: switch.adaptive_lighting_living_room}- It stacks like any layer: give it a low priority and a TV dim or a nightlight sits above it.
- It never turns a light on or off. Lights that are off get nothing.
- Someone's change never removes it. Only what they changed stops following: dim a light by hand and its brightness stays while its colour keeps adapting. It follows again once the light is off, or after
manual_timeout. - A light switched on without a brightness or colour (a wall switch, voice, a button) gets the follow values straight away.
- If the source becomes unavailable (an integration reloading), lights keep the last values. If the source is switched off, they fall back to what is below.
- New in the docs since the beta: a light is only sent new values once they differ from what it shows by more than Layers' usual tolerances (100 K colour temperature, 5/255 brightness, 0.03 xy). With Adaptive Lighting's default 90 s interval, a light changes colour about every 10 minutes, in steps of about 100 K. That is intended: steps that size are hard to see, and it keeps commands down.
Scenes that skip a light
Home Assistant sends nothing to a scene member that already looks the way the scene wants, so Layers never heard about it. A layer that made the light match outlived the scene, and clearing it later undid the scene. Layers now treats such a member as set by the scene, if the light really shows what the scene wanted.
Upgrading
From 0.1.0 or 0.2.0b1: no change to stored data, upgrades in place. layers.get shows five new fields on each layer (source, manual, manual_until, manual_timeout, transition). Requires Home Assistant 2026.7.0 or newer; tested on 2026.7.0 and 2026.9.3.
Feedback and issues are welcome.