You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bug Fixes
Fix HomeKit automations not starting the vacuum — Automations failed silently because Matter.js passes BigInt area IDs that crash JSON.stringify. Manual start was unaffected.
Fix intensity overrides being ignored — Apple Home could select a legacy v1.0.7 mode ID instead of the real mode, bypassing user-configured intensity overrides.
Fix HTTP connection leak on polling errors — Connections were not being released when vacuum API calls failed.
Fix shutdown race condition — Plugin could crash during shutdown if polling was still in-flight.
Fix division by zero — Consumable percentage calculation crashed when max lifetime was zero.
Fix "moving" status not mapped — Vacuums in "moving" state showed as stopped instead of running.
Fix publish workflow — Work around broken npm in Node 22.22.2 for trusted publishing.
Features
Redesigned clean mode system — Each Matter category (Vacuum, Mop, Vacuum & Mop) now gets its own set of intensity modes, matching how Apple Home displays them. Based on initial mode mapping work by @gustavakerstrom (#11).
Operation mode mapping — Configure which Valetudo operation mode each Matter category uses (e.g., map "Vacuum & Mop" to vacuum_then_mop).
Intensity overrides — Override the fan speed or water usage for any intensity level using Matter labels (Quiet, Auto, Quick, Max, Deep Clean, etc.) as shown in your controller.
Preset validation — Available fan speed and water usage presets are logged at startup. Warnings are shown if an override uses a preset the vacuum doesn't support.
Legacy mode compatibility — Upgrading from v1.0.7 no longer crashes due to persisted mode ID changes.
Housekeeping
Schema dropdowns now match common Valetudo presets (fan: low/medium/high/max, water: min/low/medium/high/max)
Deprecation warnings for old customTags and modeOverrides config keys