[BUG] Add support for water_box_mode (vacuum only) on Qrevo Curve
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
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.
Hi, would it be possible to handle this sometime this request, please?
Hi, mode 200 is supported a long time in https://github.com/copystring/ioBroker.roborock/tree/dev_ts. Please try this version.
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
Hi @copystring, I have installed the dev_ts and I can't see set_water_box_mode
water_box_mode is read_only !
Only commands can be written. States are read only. So you need to look in the commands to send/write.
Ok, but I don't see how to send a command to tell it to only do suction. (water_box_mode = 200)
There is no such command as water_box_mode. You need to use set_water_box_custom_mode
Hi @copystring
There is no command set_water_box_custom_mode
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.
Hi @copystring
There is no command set_water_box_custom_mode
How can we do please ???
Thanks in advance.
Maybe I'll find time this weekend.
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.
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
Thanks a lot !
OK. Thanks. Update coming soon for both vacuums.
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.
Hello @copystring I updated dev_ts but no set_water_box_custom_mode command 😭
Please post a debug log of the start of the adapter and first 2 minutes after.
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.
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.