FLARE no longer needs zones. It keeps track of the lights it's driving by itself, so there's nothing extra to set up for each room, and two automations sharing a light no longer get in each other's way. Updating takes one extra step, and after that your rooms carry on as before.
Updating from 1.x
- Update FLARE in HACS and restart Home Assistant.
- Open Settings → System → Repairs, select FLARE blueprint is out of date, and submit it. This updates the blueprint your rooms use, and they keep all their settings. Until you do, your rooms' automations stop with an error each time they run, so their lights won't follow the schedule or switch off when a room empties.
- If you'd left Zone empty in a room's automation, that room now has override protection too. To keep it as it was, turn Override Protection off in that automation.
- If you've written automations of your own that call FLARE's services or listen for its events, check the last section below.
After updating:
- Your zones and their devices are removed. FLARE → Zones is now FLARE → Settings, where the options are.
- Any light you'd changed by hand goes back to the schedule the next time its room updates. This happens once, because FLARE starts its record of what it's driving afresh. From then on, a light you change is left alone as before.
- The dashboard's Zones view is now Overrides. If you'd taken control of FLARE's dashboard, its Zones view no longer loads. Delete that dashboard and add FLARE's again: under Settings → Dashboards → Add dashboard, pick FLARE Lighting.
Added
- FLARE speaks German, in setup, on the dashboard, in its entities' names and in the blueprint's settings, following your Home Assistant language. Thanks to @stefanr09 for the translation (#301). The dashboard's cards now translate their own text, so other languages can follow.
- Each light FLARE drives has a status sensor on its own device page, saying whether FLARE is setting it or something else has taken it over, with history.
- The Overrides view lists each area's lights: each light's status, what FLARE last asked for and what the light is showing, with any value that differs in red, and a Clear for that light alone. Lights FLARE isn't driving are tucked away behind a row that shows them.
- Lux Threshold, a new blueprint input under Sensors & Triggers. Above 0, the room leaves its lights off while every illuminance sensor in it reads above that many lux: a sensor, a scene and idle brightness won't switch one on. If someone is still there when it gets darker, the lights come on then. Lights already on carry on as before, and running the automation by hand still switches the room on.
0, the default, turns the check off. Thanks to @sbyx (#309). - The diagnostics from FLARE → Settings list the last 50 overrides, each with what FLARE asked for, what the light reported and what kind of light it is, so one file explains lights that keep being overridden.
- Stored Traces, a new blueprint setting. Room automations keep their last 20 traces, up from Home Assistant's 5, which a room updating every minute used up in five minutes.
Changed
- Setup is simpler. It starts with your schedules, then asks whether to set up room automations now. If you already have automations controlling your lights, skip it, then move your rooms over one at a time with Set up area. Setting up an area gives it an automation, and then a page of its own offers flares for the rooms you've just set up, which you can skip. Skip setup is gone: setup always sets up your schedules.
- The blueprint's inputs are regrouped. Only Schedule and Lights & Occupancy are shown to begin with. Wait time, Lux Threshold and Additional Triggers are under a new Sensors & Triggers section, and Override Protection, Sensors From Areas and Prefer RGB During under a new Settings section. Existing rooms keep their values.
- Rooms update one area at a time, a second apart, on the tick of the first area in their Lights & Occupancy. A room that names no area updates every minute, on the minute.
- A room waits a few seconds for its lights to start up when they come back online together, such as when they're switched on at the wall, before setting them. A command sent while a bulb starts up is lost, so FLARE no longer sends it then.
- The dashboard is easier to read on a light theme. A near-white colour temperature's slider is drawn a shade darker so you can see it, Day is amber instead of yellow, and Evening is deep orange so the two stay apart.
Deprecated
- The Sensors From Areas setting is deprecated, and FLARE 3.0 removes it. From Home Assistant 2026.11, use Exclude target in Lights & Occupancy instead of turning it off, to leave out the sensors you don't want.
Fixed
- Two automations driving the same light no longer treat each other's changes as overrides, so there's no more notification about a light in two zones.
- A light you've changed by hand is left alone however long its room stays lit. It used to be taken back after a day.
- Lights you've changed by hand are still left alone after Home Assistant restarts, including MQTT lights, which go unavailable as Home Assistant shuts down.
- Evening starts at sunset without Home Assistant's Sun integration. Without it, Evening started at its latest time.
- Renaming a light keeps FLARE's record of it, so a light you'd changed by hand is still left alone after a rename.
- A light only counts as overridden once it's changed by enough to notice: by default more than 5% in brightness or 5 mireds in colour temperature away from what FLARE asked for. Some bulbs report back slightly different values from the ones they were sent, such as 4312 K for 4294 K, and were marked overridden at random (#323). The Minimum brightness change and Minimum colour temperature change options under FLARE → Settings → Configure now set this as well as what's worth sending, and are called Brightness tolerance and Colour temperature tolerance. A light FLARE sets by RGB follows the colour temperature tolerance too.
- A light that comes back on reporting its old state is still set. A bulb back from a power cut can first report what it showed before while it has really started at its default. FLARE took the report at its word, sent nothing, and the light was then marked overridden. A light FLARE isn't yet driving is now always sent the schedule's values when FLARE takes it on.
- A light whose first command from FLARE doesn't arrive is sent it again. FLARE remembers what the light was showing when it sent it, so if the light reports that again, it's tried on the next update. It used to be marked overridden and left alone until the room went dark: a bulb switched on at the wall, sent its schedule while still starting up, stayed at its start-up setting all evening.
- A light Brightness Template leaves alone (
null) no longer keeps an empty room lit. While it was on, the rest of the room switched off and back on every minute. - Lights that are on when a phase in Prefer RGB During starts now switch to RGB. A colour bulb that was showing the same colour temperature as a white stayed white, which looks much cooler than the same colour sent as RGB, so the room looked stuck on Day.
If you use FLARE's services or events yourself
zone_device_idis replaced byroom_id, usually{{ this.entity_id }}, and an optionalroom_entities, onflare.apply_lighting,flare.claims_recordandflare.claims_override.flare.turn_offtakes no room, and rejectszone_device_id,room_idandroom_entities. A light it switches off is turned back on the next time FLARE sets the room, whichever automation set it before, rather than left off as one switched off by hand would be.flare.claims_checkandflare.claims_cleartake no room, andflare.claims_checkreturnsroomsinstead ofzone. A call that still passeszone_device_idis rejected.flare.claims_clear'sclearedlists only the entities that had a claim, not every one passed in.flare.claims_recordandflare.claims_overrideno longer return anything.- The schedule sensor's colour temperature is now
color_temp_kelvin, notcolor_temp, andflare.compute_curvereturnscolor_temp_kelvininstead ofkelvin, the same nameflare.apply_lightingtakes. A template readingstate_attr('sensor.home_flare', 'color_temp')needs changing to'color_temp_kelvin'. flare.compute_scene_coverageno longer returnsscene_active, which was always the same asscene_valid.two_step_labelis gone fromflare.apply_lighting; a call that passes it is rejected. Label a bulbno_combined_transition, or add its model under FLARE → Settings → Configure, instead.flare.apply_lighting'stransitionis optional, defaulting to0.flare.compute_lighting_groupsis gone. Callflare.apply_lightingwithdry_run: trueinstead: it returns what it would send, in the same shape, without sending anything or recording claims.flare_tickcarries anarea_idinstead of a zone'sdevice_id.flare_lights_controlledandflare_lights_releasedcarryroom, andflare_light_overriddencarriesrooms, instead ofzone. They're filed undersensor.flare_controlled_lights,sensor.flare_overridden_lightsandbutton.flare_clear.- Each zone's entities are gone.
button.flare_clearclears every claim, each light's status sensor shows its own, and FLARE → Settings has a diagnostics download of them all. custom:flare-clear-cardand thecustom:flare-zoneview are gone.brightness_tolerance,color_temp_toleranceandrgb_color_toleranceare gone fromflare.apply_lightingandflare.claims_check; a call that passes them is rejected. Both takemin_brightness_changeandmin_color_temp_changeinstead, which decide both what's sent and whether a light still matches its claim. Each defaults to its setting under FLARE → Settings → Configure.brightness,color_temp_kelvin,rgb_colorandtransitionare checked aslight.turn_onchecks them, so a call is rejected straight away for anrgb_colorvalue outside 0–255 or a negativecolor_temp_kelvin, rather than failing when FLARE sends it on.room_entitiesalso takes a comma-separated list.
Full Changelog: v1.2.1...v2.0.0