ioBroker.roborock icon indicating copy to clipboard operation
ioBroker.roborock copied to clipboard

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

Open superdcat opened this issue 4 months ago • 21 comments

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

superdcat avatar Sep 29 '25 22:09 superdcat

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 13 '25 23:10 stale[bot]

Hi, would it be possible to handle this sometime this request, please?

superdcat avatar Oct 16 '25 11:10 superdcat

Hi, mode 200 is supported a long time in https://github.com/copystring/ioBroker.roborock/tree/dev_ts. Please try this version.

copystring avatar Oct 18 '25 15:10 copystring

I've been using this branch for quite some time now, dev_ts, and there is no command to set water_box_mode. In the code itself, under ‘roborock.vacuum.a147’ (Roborock Saros 10), there is something that looks like a change to water_box_mode. I'm currently searching for where this option might be in the adapter. :)

found in device_features.ts:

  • deviceStates
  • addSmartModeCommand -> roborock.vacuum.a147

ticaki avatar Oct 20 '25 12:10 ticaki

Hi @copystring, I have installed the dev_ts and I can't see set_water_box_mode water_box_mode is read_only !

superdcat avatar Oct 20 '25 13:10 superdcat

Only commands can be written. States are read only. So you need to look in the commands to send/write.

copystring avatar Oct 20 '25 13:10 copystring

Ok, but I don't see how to send a command to tell it to only do suction. (water_box_mode = 200)

superdcat avatar Oct 20 '25 13:10 superdcat

There is no such command as water_box_mode. You need to use set_water_box_custom_mode

copystring avatar Oct 20 '25 22:10 copystring

Hi @copystring

There is no command set_water_box_custom_mode

Image

superdcat avatar Oct 21 '25 09:10 superdcat

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 04 '25 10:11 stale[bot]

Hi @copystring

There is no command set_water_box_custom_mode

How can we do please ???

Thanks in advance.

superdcat avatar Nov 06 '25 20:11 superdcat

Maybe I'll find time this weekend.

copystring avatar Nov 06 '25 20:11 copystring

So which is your exact device model? roborock.vacuum.a135? A short debug log would help a lot, then I can add the missing value.

copystring avatar Nov 13 '25 19:11 copystring

I hope you'll build that for my model too.

roborock.vacuum.a159

roborock.log

ticaki avatar Nov 13 '25 19:11 ticaki

So which is your exact device model? roborock.vacuum.a135? A short debug log would help a lot, then I can add the missing value.

Hello @copystring

Yes it's roborock.vacuum.a135

roborock.log

Thanks a lot !

superdcat avatar Nov 13 '25 20:11 superdcat

OK. Thanks. Update coming soon for both vacuums.

copystring avatar Nov 13 '25 20:11 copystring

Please try the new https://github.com/copystring/ioBroker.roborock/tree/dev_ts. A lot of work, a few months, has gone into this. Implementing a complete, more dynamic system of detecting devices and their features mostly automatically as far as possible. The missing command should now also be there. Let me know how it works out for you.

copystring avatar Nov 15 '25 01:11 copystring

Hello @copystring I updated dev_ts but no set_water_box_custom_mode command 😭

superdcat avatar Nov 15 '25 21:11 superdcat

Please post a debug log of the start of the adapter and first 2 minutes after.

copystring avatar Nov 15 '25 21:11 copystring

@copystring here you are

Many thanks !

roborock.txt

superdcat avatar Nov 15 '25 22:11 superdcat

I have the command and, with the latest fix, I can also send it. But I have no idea how to get the Roborock to recognise the settings.

ticaki avatar Nov 24 '25 12:11 ticaki

Hi, in a previous version 6.18 (not dev_ts) i had this command: 'roborock.0.Devices.1AdpWw1fyiWiSM26s1bGmq.commands.set_water_box_custom_mode' /Wischintensität und Wassermenge/

Roborock QRevo Plus, QRevo Master & S7 Plus.

Do you need another log? I cant find the command in the debuglogs.

Dar4ide avatar Nov 25 '25 22:11 Dar4ide