CK1
(Clemens)
December 10, 2025, 1:32pm
222
@Paul_Smedley
Do you have any idea how to pause and continue a routine?
If I pause/continue via actions#commands channel it pauses and then starts a whole new “vacuum” of whole appartement.
I just want to continue the previously started routine.
I’m using a Qrevo Slim
Thanks!
I’ll take a look at python-roborock and see how it’s handled.
I assume this works in the app? We currently just sent COMMAND_APP_PAUSE
return;
}
}
}
if (channelUID.getId().equals(CHANNEL_CONTROL) && command instanceof StringType) {
if ("vacuum".equals(command.toString())) {
sendRPCCommand(COMMAND_APP_START);
} else if ("spot".equals(command.toString())) {
sendRPCCommand(COMMAND_APP_SPOT);
} else if ("pause".equals(command.toString())) {
sendRPCCommand(COMMAND_APP_PAUSE);
} else if ("dock".equals(command.toString())) {
sendRPCCommand(COMMAND_APP_CHARGE);
} else {
logger.warn("Command {} not recognised", command.toString());
}
return;
}
if (channelUID.getId().equals(CHANNEL_ROUTINE)) {
setRoutineViaBridge(command.toString());
CK1
(Clemens)
December 11, 2025, 8:51pm
224
Thank you!
The pause command works. The vacuum cleaner just stops in the middle of the cleaning process.
I miss something like a “continue” command to continue the process again.
In the app it works yes.
Best regards
Can you try sending an appRoomResume command and see if that does the trick? I should be able to make the ‘Pause’ button confirm the State of the vacuum and use resume if the vac is paused.
Also that state-id = 10 / Paused when the vacuum is Paused.
CK1
(Clemens)
December 12, 2025, 7:17am
226
I will try that and give feedback, thank you!
Is there also something like “appRoutineResume”? I usually use routines.
Where can I find a list of these commands. Then I may explore it myself as well.
Thanks again
app_resume appears to do the trick. I’ll try get this working properly tomorrow.
ksk
(Karsten)
December 12, 2025, 10:25am
229
Hi, first of all thanks a lot fot the awesome binding. I am using it with a Qrevo Edge. I was wondering whether it is possible to start a cleaning run with just vaccuuming (no moping).
CK1
(Clemens)
December 12, 2025, 2:29pm
230
app_resume does exactly what I was looking for. Thanks for the support!
You should be able to do this with Routines. On my Qrevo S there is a routine ‘Intensive Sweeping’ that I use when I just want to Vac.
Cool! I’ll look to fix this properly today, ie so that Pause sends app_pause if the vac is running, and app_resume if the state = Paused
ksk
(Karsten)
December 13, 2025, 10:34am
233
Thanks. So how do I start routines using the binding? I didn’t find any obvious commmand in the documentation.
If supported, you’ll have the following channels available:
actions#routine
info#routine-mapping
info#routine-mapping will be a string like: {“10610107”:“Deep”,“10610105”:“Vac followed by Mop”,“10610109”:“Deep+”,“10610111”:“Intensive Sweeping”}
send the ‘number’ corresponding to the routine to actions#routine.
The login-fix PR just got approved, and should make it into 5.1.M4
I didn’t get time this weekend to look at pause/resume, but it should be a simple fix so will try get it in as a bugfix, looks like I have til Friday
1 Like
ksk
(Karsten)
December 14, 2025, 2:04pm
236
awesome, works like a charm Thanks a lot
BTW:I do not see these channels in the UI. Is there a way to get the complete set of available channels?
Have you ticked the ‘Show Advanced’ checkbox in the UI?
ksk
(Karsten)
December 15, 2025, 8:24am
238
No, I missed that. Now I am seeing the channels (and many more). Thanks
1 Like
CK1
(Clemens)
December 15, 2025, 2:53pm
239
FYI I have a small javascript rule that updates the command options of the actions routine item. This will make it possible to easily select the routines you created in your app via dropdown.
@Paul_Smedley maybe it’s a nice feature to implement this directly for the item linked to actions#routine channel. Sonos binding does something similar with favorite channel.
Items:
String actionRoutine "Start Vacuum Routine" {channel="roborock:vacuum:account:xyz:actions#routine"}
String infoRoutineMapping "Routine Mapping" (gVacInfo) {channel="roborock:vacuum:account:xyz:info#routine-mapping"}
Rule:
rules.JSRule({
name: "Roborock - Update command options of action routine item",
description:
"This rule sets and updates the command options of the roborock action routine item to the routines set in the app when they are updated in the app",
triggers: [triggers.ItemStateUpdateTrigger("infoRoutineMapping")],
execute: (event) => {
const actionRoutineItem = items.getItem("actionRoutine");
try {
// string from item: e.g. { "6264197": "routine 1", "6363070": "routine 2" }
const options = Object.entries(
JSON.parse(items.getItem("infoRoutineMapping").state),
)
.map(([routineId, routineName]) => `${routineId}=${routineName}`)
.join(",");
// update command options
actionRoutineItem.replaceMetadata("commandDescription", " ", {
options: options,
});
} catch (error) {
console.error(error);
}
},
tags: [],
id: "update_roborock_action_routine_options",
});
CK1
(Clemens)
December 16, 2025, 2:56pm
242
I’m not familiar with the code but that looks pretty much like the place in the code.
It’s basically about the channel with id “favorite”. If you link a string item to it then the item will automatically get the favorites defined in sonos app assigned as command options.