home-assistant / home-assistant/core

Roborock Q10: missing "Vac then Mop" (`SWEEP_MOP`) cleaning mode

Open
#181,703 3 comments 1 reaction 1 assignee Claimed by @allenporter View on GitHub
feature-request integration: roborock
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.