Skip to content

0.4.0b1: thermostats (beta)

Pre-release
Pre-release

Choose a tag to compare

@lukab-dev lukab-dev released this 22 Oct 08:17
· 0 commits to main since this release

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

Thermostats

Layers now manages climate entities as well as lights and switches. A layer on a thermostat holds an hvac_mode, a temperature and/or a preset_mode; mode: adjust takes an offset in °C, and offsets add up.

action: layers.set
target: {entity_id: climate.example}
data: {layer: away, priority: 40, temperature: 16}
  • A change made at the thermostat or in its app becomes a manual layer (priority 80, 3 h by default, both in the options). It never overwrites the base, so the schedule comes back when it expires.
  • An expiring layer never switches heating on. A setpoint can move either way on expiry; a mode never goes from off to anything else by itself.
  • Slow devices: a report inside the report-back window (30 s by default) counts as the thermostat answering, not as a person.
  • Delivery is checked: mode and preset exactly, the setpoint within half the device's step. Three attempts, then the thermostat shows as failed on sensor.layers_status.
  • Watch-only for thermostats: a new switch, switch.layers_apply_climate, is off after install and whenever a new thermostat is enrolled. While it is off, nothing is sent to any thermostat; layers.get shows would_send and the decision trace records it. Lights keep following switch.layers_apply, and turning that off stops thermostats too.

Not supported yet: two-setpoint thermostats (heat/cool range), fan, swing and humidity. Open questions are in the ROADMAP.

Light and switch behaviour is unchanged.