Skip to content

[BUG] Add support for water_box_mode (vacuum only) on Qrevo Curve #870

@superdcat

Description

@superdcat

Bug Description

Hello,
I’m using a Roborock Qrevo Curve with the ioBroker.roborock adapter.

Currently, the adapter exposes commands such as:

commands.set_custom_mode → suction power (Quiet, Balanced, Turbo, Max, Off)

commands.set_mop_mode → mop route (Standard/Deep/Fast)

commands.set_water_box_distance_off → stop wetting near dock

commands.set_smart_wash_params → rinse interval

But there is no exposed command to completely disable the mop (mop OFF / vacuum only).

Interestingly, in deviceStatus there is a read-only state water_box_mode.
When I change cleaning mode in the official Roborock app, I can clearly see this state update:

200 → mop OFF (vacuum only)

201/202/203… → low/medium/high water usage (mopping)

So the robot and API definitely support water_box_mode, but the adapter does not currently allow sending it as a command.

Why this matters
Without being able to set water_box_mode = 200, it’s impossible to trigger vacuum-only cleaning from ioBroker. This makes automations/scripts incomplete, since I can only start vacuum+mop cleaning.

On other Roborock models (e.g. S7 Pro Ultra), setting water_box_custom_mode = 200 has been confirmed to switch to vacuum-only. (forum reference)

Feature request

Please add write support for water_box_mode in the adapter.

Ideally, expose a new command commands.set_water_box_mode (or extend set_custom_mode) to allow sending values like:

200 = OFF (vacuum only)

201 = low

202 = medium

203 = high

204 = custom

Keep the read state deviceStatus.water_box_mode as is, but sync it with the new command.

Thanks a lot for your work on this adapter! Adding water_box_mode write support would make it possible to fully automate vacuum-only scenarios with Qrevo Curve.

Steps to Reproduce

Expected Behavior

With this, users could trigger vacuum-only cleaning directly from ioBroker (either global or segment cleaning) by first setting water_box_mode = 200 and then sending app_segment_clean or app_start.

Debug Log

Adapter Version

dev

JS-Controller Version

7.0.7

Node.js Version

20.19.5

Operating System

Debian 13

Additional Context

Model: Roborock Qrevo Curve
Adapter version: latest dev

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions