Changes
- fix: guard child bridge shutdown before bridgeService is assigned (#3999) (@SAY-5)
- perf: reduce plugin discovery filesystem calls (#4000) (@n0rt0nthec4t)
- perf: index accessory operations (#4003) (@n0rt0nthec4t)
- perf: remove shell from npm prefix lookup (#4004) (@n0rt0nthec4t)
- test: restore and enforce type checking (#4005) (@n0rt0nthec4t)
- feat: expose RVC direct mode change capability (#4001) (@jbwhy)
- fix: validate stored Matter credentials (#4006) (@n0rt0nthec4t)
- perf: cache Homebridge package metadata (#4007) (@n0rt0nthec4t)
- fix: coalesce child bridge port requests (#4008) (@n0rt0nthec4t)
- fix(matter): report a plugin's manufacturer and model on an external matter accessory
- fix(matter): keep a restored accessory's owner, so the cache stops losing it on alternate restarts
- fix(matter): re-arm state monitoring on child bridge start, so the ui keeps showing changes (#3993)
- chore(deps): dependency updates
- fix(matter): keep the cluster features a plugin chose when homebridge attaches its handlers
- fix(matter): restore a cached accessory with the cluster features the plugin composed
- fix(matter): show a thermostat's temperature when it registers after the bridge is online
- feat(matter): turn on fan auto mode when a fan declares a sequence that offers it
- feat(matter): add auto mode to a room air conditioner that starts in auto or declares a deadband
- feat(matter): let an air quality sensor report every level, not only good and poor
- feat(matter): add the water heater device type, with mode and boost handlers
- fix(matter): keep a light's lighting feature on its on/off cluster when handlers are attached
- docs(matter): say which clusters the media player device type actually carries
- fix(matter): pass accessory information to the UI (#4019) (@thecloudseeker)
- fix(matter): keep uniqueId when re-registering a restored accessory (#4020) (@thecloudseeker)
- fix: read matter.js native fabric storage to report commissioned state (#4021) (@AxelDreemurr)
- fix(matter): preserve accessory cache on read errors (#4023) (@ethanjnrg)
- fix(matter): skip malformed accessory cache entries (#4024) (@ethanjnrg)
- fix(matter): report cache save failures without blocking shutdown (#4025) (@ethanjnrg)
- fix(matter): fall back to matter.js when a ColorControl handler is missing (#4028) (@cestercian)
- fix(matter): stop the ui's light commands failing when sent together or without options (#4029)
- fix(matter): show a newly registered accessory in the ui without a restart (#4013)
- docs(matter): say a restored accessory needs registering again, and keeps its cached state (#4015)
- fix(matter): shorten an accessory's over-long name, model or serial and say which (#4016)
- chore(deps): update matter.js to v0.18.0, with the changes its new checks need
- feat(api): expose bridge HAP enablement to plugins (#4037) (@n0rt0nthec4t)
- feat(api): add isMatterExternalsOnly to match isHapExternalsOnly
- fix(matter): only enable matter for main bridge plugins when the main bridge uses it
- fix: keep external accessory ports off the ports bridges are configured to use (#4035)
- fix(matter): resolve register and unregister once the bridge has finished (#4033)
- fix(matter): give a power source with no battery the wired feature, so it registers
- fix(matter): build a composed accessory together with its parts
- feat(matter): add solar, battery, ev charger, meter and tariff device types (#4034)
- fix: accept a config.json that starts with a UTF-8 BOM (#4039) (@b84330808)
- chore(docs): regenerate docs for
v2.5.0
Homebridge Dependencies
@homebridge/hap-nodejs@v2.3.0
Matter Dependencies
@matter/main@v0.18.0