Changed
- feat(fan): add an option to show ifan speed as a percentage, so siri's levels work (#551)
- fix(api): send fan speeds on the fan's own scale, so medium no longer turns it off
- ci: update github actions to their latest versions (#809)
- fix: keep the decimals of a power reading, so 5.5w is no longer shown as 6w
- fix(zigbee): stop curtain motors showing no response while they are online (#810)
- fix(zigbee): read the curtain motor's position, so home stops showing it opening (#810)
- fix(zigbee): keep a curtain motor shown as a garage door in step with its door
- fix(zigbee): flip the zbu-curt-7006 position, which counts 0 as open (#810)
- fix: stop live updates dropping readings like light level, child lock and fan oscillation
- fix: show power readings on the 226 and 7032 when they are shown as an outlet
- fix: read inched power devices in hundredths, so a powr316 or s61 no longer shows 5500w for 55w
- fix: log in again when the cloud reports an expired token, so group commands keep working
- feat(zigbee): add the snzb-02b and snzb-02m temperature and humidity sensors
- feat(zigbee): add the snzb-06p24 presence sensor, with occupancy and light level
- feat(zigbee): add the mini-zb1gp switch, with power readings
- feat: add the mini-1gsp switch, with power readings
- feat: add the nspanel86pb relay, as a two-channel switch
- feat(zigbee): add the second generation trvzb radiator valve, on the existing thermostat
- feat(zigbee): add the swv-zf2e two-zone irrigation valve, with a valve for each zone
- feat: show pm2.5 and pm10 on the air quality sensors that measure them
- fix(zigbee): show a curtain motor at rest after a restart, not stuck opening (#810)
- fix: log the state each device starts from in debug mode, to trace a wrong start (#810)
- fix(zigbee): ignore the stale position the cloud keeps for a zbu-curt-7006 (#810)
- fix(rf): set up a curtain shown as a blind, door or window, which failed to start
- fix: accept the zigbee multi channel model the settings offer, without a false warning
- fix(lan): send the channels a scene changes on one switch as one request (@mzsoliman)
- chore: leave CLAUDE.md out of the published package
- feat(zigbee): add the tp-wgzba wall thermostat, with heat and auto modes
- feat(zigbee): warn when a curtain motor's end positions were never set (#810)
- fix: say which server and login type the http login uses, in debug mode (#818)
- fix: show the sonoff sc's light level the right way up, as 1 is its brightest
- fix: grade the sonoff sc's dust level with the bands its protocol gives
- fix: stop a plug's total energy in eve growing 10 times too fast
- fix: keep a pale colour pale when a uiid 104 bulb or the diffuser reports it
- fix: switch a circuit breaker set as inched with true, as its protocol asks
- feat: add the uiid 294 two-way metering socket, with power readings
- feat: add the uiid 163 four-channel remote switch, like its one to three channel siblings
- fix: control a uiid 52 light with the state and channel values its protocol uses
- feat: show the three-speed humidifier's humidity and temperature, and warn when its tank is empty
- feat: dim the sonoff b1 and set its white tone, as its protocol allows in white mode
- feat: show the mini-1gsp's wall switch presses as a button when its relay is separated
- fix: turn all four channels of a four-channel power switch from its main tile
- feat: add the uiid 289 and 290 matter metering switches, with power for each channel
- ci: publish releases with node.js v26, the current lts
- chore(deps): dependency updates