Skip to content

0.3.0b1: layer strength (beta)

Pre-release
Pre-release

Choose a tag to compare

@lukab-dev lukab-dev released this 25 Sep 08:42
· 0 commits to main since this release

Beta. HACS shows it only if you turn on beta versions for Layers.

Layer strength: signals that survive a scene

A layer used as a notification (a light that turns orange when the bins go out) used to vanish the moment someone pressed a scene on the wall, before anyone had seen it. A layer now has a strength:

strength A scene, a wall button, "all off", another automation Someone changing this light itself
soft (default) the light's option decides, as before the light's option decides, as before
sticky goes underneath: the layer stays, and the light shows it again removes the layer: they've seen it
locked goes underneath goes underneath too
action: layers.set
target: {entity_id: light.sofa}
data: {layer: bins, priority: 70, xy_color: [0.6, 0.38], brightness: 255,
       strength: sticky, until: "23:00:00"}

What decides is what the change was aimed at, not who made it. A wall button reaches Home Assistant as an automation running a scene, so it can't be told apart from any other automation; a scene, a call to several lights or any automation is aimed at the room, while the light's own switch or dimmer, or tapping that one light in the app, is aimed at the light.

  • Whatever went underneath becomes the base: clearing the layer shows the room as it is now. A scene that turns the room off leaves a sticky layer lit until it's cleared or expires.
  • A sticky layer removed at the light stays off that light until its owner clears it, like any layer taken back. layers_external reports it (dropped with scope: lamp).
  • A locked layer (for alarms) comes back about 2 s after any change. A light that keeps changing back is left alone after 5 re-shows a minute and shows as failed on sensor.layers_status. The Apply switch still stops everything.
  • layer: all and layer: active never remove a sticky or locked layer; only its own id does.

Also changed

  • layers_external always carries scope (room / lamp) and held, and also fires when a change only went under a strong layer.
  • layers.get shows each layer's strength.

Upgrading

From 0.2.0: no change to stored data; every existing layer is soft and behaves exactly as before. Going back to 0.2.0 is safe (it ignores the new fields). Requires Home Assistant 2026.7.0 or newer; tested on 2026.7.0 and 2026.9.3.

Feedback and issues are welcome.