github RinDevJunior/matterbridge-roborock-vacuum-plugin 1.1.7

5 hours ago

Changed

  • Requires matterbridge@3.9.4 — Minimum required Matterbridge version bumped from 3.7.1 to 3.9.4 across the 1.1.7 pre-release cycle.

Added

  • Roborock Q5 Pro support — Added Q5 Pro to the list of supported devices.
  • Multi-map switching — Switching between multiple maps is now supported, with detection of active-map changes and correct default-map selection at startup and after cleaning.
  • Service-area cleaning ETA and completion signaling — Wired OperationCompletion, SkipArea, and per-room estimated end time from live clean progress into the Matter service-area cluster.
  • Clean-all-rooms via SELECT_AREAS — Selecting all rooms through the RVC service-area cluster now triggers a whole-home clean instead of being ignored, including via HomeKit automations that request an empty/global room selection.
  • DirectModeChange support for RVC Clean Mode — Clean mode (e.g. Vacuum/Mop/Clean) can now be changed by Apple Home while a clean is actively running, without requiring the device to return to idle first.
  • b01-map-info CLI command — New diagnostic command for testing the B01 map parser against a live device, for both Q7 and Q10 B01 devices.

Fixed

  • Scheduled/automation full-home clean only cleaning the last-selected room — An empty room selection (signaling "clean all") was silently ignored instead of clearing the previous selection, and ServiceArea.selectedAreas wasn't being correctly published for that case either. Both the request-handling and Matter-attribute paths now correctly propagate a global clean.
  • ChangeToMode(Idle) had no effect on the real device — Added an IdleModeHandler mapping the Matter RvcRunMode Idle mode to the device's pauseClean command.
  • Real-time status updates stalling per-device — Replaced a global "all devices have a real-time connection" short-circuit with a per-device staleness check, so a stale device still receives status updates even while other devices are on a live connection. Also fixed falsy-value checks that dropped legitimate 0 values for battery level, suction power, and water box mode.
  • Rooms not showing after plugin startup — Fixed a two-part issue where service-area rooms failed to appear after the plugin started, including a startup crash where the Matter ServiceArea cluster rejected areas with a mapId before the first multimap query had populated supportedMaps.
  • Multi-map cleaning progress stuck on "Preparing"/"Traveling" — Guarded active-map updates so progress state advances correctly during multi-map cleaning runs.
  • Device status listeners not gated by protocol — Status listeners are now correctly gated by device connection protocol, preventing cross-protocol event leakage.
  • B01 room icons and namesroomTypeId values from B01 devices now map to the correct Apple Home room category icons; Q7 map upload switched to upload_by_maptype with normalized B01 room names.
  • Roborock Q10 S5+ (B01 protocol) map parsing — Q10 map pushes were incorrectly routed through the Q7-only AES+zlib SCMap-protobuf path and failed with "incorrect header check" on every push. Added a marker-byte classifier that routes Q10-shaped payloads to a dedicated LZ4 block decompressor and Q10-specific field parser; the Q7 pipeline is unaffected. Also fixed handling of Q10's live position/trace packets sent on the same channel during cleaning, which were previously falling through to the Q7 path and crashing.
  • Roborock Q10 MaxPlus suction power wire value — Q10 devices set to MaxPlus suction power were sending Q7's wire value instead of Q10's; MaxPlus now correctly maps to the Q10-specific wire value.
  • Previously-cleaned rooms staying marked "Cleaned" at the start of a new cleanServiceArea.progress is now reset whenever a genuinely new clean starts, whether triggered via Matter/Apple Home (the Idle transition or a RvcServiceArea.selectAreas call) or externally (Roborock app, robot schedule, physical button), so newly cleaned rooms no longer inherit stale completion state from a prior session.
  • Vacuum/dock error-code to Matter ErrorState mappings — corrected several mis-mapped VacuumErrorCode/DockErrorCode entries (dust bin, water tank, and mop-related error states) that were resolving to the wrong RvcOperationalState.ErrorState, and added the missing AutoEmptyDockFanError code.

Refactored

  • Dead code and unused dependency removal — Deleted 22 unused error subclasses and their tests, an empty settings file, an orphaned dependency, and an unused runtime path.
  • Consolidated device state and service-area handling — Extracted a shared state-update helper and merged duplicate branches in service-area handling, with expanded test coverage.

Don't miss a new matterbridge-roborock-vacuum-plugin release

NewReleases is sending notifications on new releases.