Skip to content

Fix Roborock Q7 Pro B01 status and consumables - #1376

Merged
copystring merged 4 commits into
mainfrom
1342-feature-new-device-support-roborock-q7-pro
Jul 25, 2026
Merged

Fix Roborock Q7 Pro B01 status and consumables#1376
copystring merged 4 commits into
mainfrom
1342-feature-new-device-support-roborock-q7-pro

Conversation

@copystring

Copy link
Copy Markdown
Owner

Closes #1342

What changed

  • Route Q7 B01 protocol 102 replies wrapped in dps.10001 through the B01 RPC response path.
  • Normalize Q7 status aliases and expose battery values consistently.
  • Load B01 consumables during the regular online refresh.
  • Interpret Q7 prop.get consumable counters as used minutes and calculate the same remaining percentages as the Roborock app.
  • Prevent stale or incomplete Q7 HomeData consumable fields from overwriting the live prop.get values.
  • Keep HomeData battery synchronization and the generic HomeData consumable fallback for other variants.

Root cause

The Q7 Pro sends live B01 RPC replies through dps.10001, while its HomeData consumable fields are stale or incomplete. The adapter did not consistently resolve that reply path and later allowed HomeData values to overwrite the correct live consumable values.

User impact

The reporter confirmed that map rendering, battery status, and consumable percentages now work and match the device/app data.

Validation

  • npm run typecheck
  • npx vitest run --maxWorkers=1 --fileParallelism=false (44 files, 274 tests passed)
  • Reporter validation on a Roborock Q7 Pro

@copystring copystring linked an issue Jul 25, 2026 that may be closed by this pull request
2 tasks
@copystring
copystring merged commit e9987f5 into main Jul 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] New Device Support Roborock Q7 Pro

1 participant