home-assistant / home-assistant/core
Roborock Q10: missing "Vac then Mop" (`SWEEP_MOP`) cleaning mode
- Dominant language
- Python
- Stars
- 90.5k
- Forks
- 38.6k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 597
Description
### The problem
Environment
Home Assistant Core: 2026.9.1
Installation: Home Assistant Container
Architecture: aarch64
Roborock model: Q10 VF (roborock.vacuum.ss07)
Firmware: 03.11.26
python-roborock: 7.2.3
Description
The Roborock Q10 supports a cleaning mode called "Vac then Mop", also referred to as "Sweep Mop". This mode makes the robot vacuum the entire home first and then mop.
However, the native Home Assistant Roborock integration does not expose this mode in the Q10 cleaning mode selector.
Currently, the selector exposes vac_and_mop, vacuum, mop and customized. There is no sweepmop / "Vac then Mop" option.
What I found
I checked the installed python-roborock package directly on my Home Assistant installation.
YXDeviceWorkMode already contains SWEEP_MOP = "sweepmop", 6.
The available values are: BOTH_WORK = 1, ONLY_SWEEP = 2, ONLY_MOP = 3, CUSTOMIZED = 4, SAVE_WORRY = 5 and SWEEP_MOP = 6.
The Q10 DP mapping also contains CLEAN_MODE = dpCleanMode = 137.
The Q10 protocol documentation identifies value 6 as sweep_mop / "Vac then Mop".
Current implementation
The installed VacuumTrait currently implements the cleaning mode using YXCleanType:
async def set_clean_mode(self, mode: YXCleanType) -> None: await self._command.send(command=B01_Q10_DP.CLEAN_MODE, params=mode.code)
However, YXCleanType only contains VAC_AND_MOP = 1, VACUUM = 2, MOP = 3 and CUSTOMIZED = 4.
Therefore, YXDeviceWorkMode.SWEEP_MOP = 6 exists in python-roborock, but it is not exposed by the Q10 cleaning mode entity in Home Assistant.
Direct test
I also tested the command directly from Home Assistant using dpCleanMode with parameter 6. The robot did not change its cleaning mode.
Expected behaviour
The native Roborock Q10 integration should ideally expose these cleaning modes:
🧹 Vacuum
🧹💧 Vacuum and Mop
💧 Mop
🧹➡️💧 Vac then Mop / Sweep Mop
Customized should ideally remain available for custom/zone cleaning, but should not be presented as a normal cleaning mode alongside the standard cleaning modes.
Request
Could support for YXDeviceWorkMode.SWEEP_MOP / sweepmop / "Vac then Mop" be added to the native Roborock Q10 integration?
Thank you!
### What version of Home Assistant Core has the issue?
2026.9.1
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant Container
### Integration causing the issue
Roborock
### Link to integration documentation on our website
_No response_
### Diagnostics information
_No response_
### Example YAML snippet
```yaml
```
### Anything in the logs that might be useful for us?
```txt
```
### Additional information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.