[1.1.7-rc12] - 2026-07-12
Added
b01-map-infoCLI command — new diagnostic command for testing the B01 map parser against a live device, works for both Q7 and Q10 B01 devices (renamed fromb01-map-parser-testfor clarity).
Fixed
- Roborock Q10 S5+ (B01 protocol) map parsing — Q10 map pushes (protocol 301) 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 in
B01MapParserthat routes Q10-shaped payloads to a new hand-rolled LZ4 block decompressor and Q10-specific field parser, so room list and map ID now parse correctly; the Q7 pipeline is unaffected. - Q10 live position/trace packets during cleaning — the Q10 also sends a second, smaller payload type (marker
0x02 0x01, live position/trace packets) on the same protocol 301 channel, distinct from the full map packet (marker0x01 0x01). This was falling through to the Q7 path and crashing on every clean; added trace-packet classification and parsing (b01Q10TraceParser.ts). - ServiceArea startup crash on map update before multimap query — the Matter ServiceArea cluster's
#assertSupportedAreasreactor rejected Areas written with a non-nullmapIdwhilesupportedMapswas still empty, which happened on every map update right after plugin startup/reconnect, before the first multimap query populatedsupportedMaps. Fixed by backfillingsupportedMapsfrom the computed areas' distinctmapIds ingetSupportedAreas.ts.