[RELEASE] Roborock Robot Vacuum

That fixed it thanks so much Bloodtick!!!

Ok I want this...

@Bloodtick_Jones you may have to add some attributes to your driver :stuck_out_tongue:

5 Likes

This looks like a great integration. One quick question, can you set the robot to do multiple cycles in the same room? This would fix the lack of this feature if you schedule jobs in the app!

You could do this with a rule in RM, start robot clean of a single room, then wait for it to finish and come back to dock, then send it again do the same room once more.

Except that won't create the cross hatch pattern of cleaning. It is just annoying that if you manually set a room to be cleaned in the app, you can do this, but you can't do it if you schedule a clean!

What the integration does will depend on what the capabilities of that robot are. I have two roborocks -a 3 yr old S7, and a newer Qrevo pro. In the pro, I can create a routine where I can change the mop or vacuum pattern, intensity, etc and save that routine - then in rule machine, I can execute the ROUTINE instead of a room clean ...

1 Like

One more shoutout to Bloodtick ... we LOVE your integration. I have 2 roborocks one for each floor. The lower level one is on an automation to clean a different room each day but only if we don't have guests and no one is in the lower level at the time.

The upper level one will vacuum the living room WHEN we leave the house, but ONLY if it hasn't been vacuumed for 4 days or more. It will also vacuum THEN mop the kitchen floor, but ONLY if it has been 7 days or more.

VERY HIGH WIFE acceptance factor on all this. She can trigger these cleans also using ACTION TILES vs. going into roborock app which she never embraced.

Thanks again.

3 Likes

I had been wondering about this myself and had not really looked into it yet. We bought my Mom a Roborock for Christmas and my daughter had set it up for her. She set up scenes for my Mom which I had really never played with. I was over there this weekend and saw what she did and it occurred to me that that would be the way to set that up. Looks like the integration will let you run a scene.

I was just looking and I set up a scene to double vacuum the living room. Like you I wanted to double hatch pattern on the living room rug. I will set up a rule for that tonight or tomorrow and see how it works, but it looks like that would be a way to do it.

That’s what I do (though they are called routines in my Roborock app).

I set up routines in the Roborock app and then use the integration to trigger them.

For instance, my weekday routine vacuums certain rooms, then once done, mops other rooms. I also have dedicated routines that are triggered by pressing a button in that room. In the kitchen, if you press the button the vacuum will come out and vacuum a preprogrammed zone in the kitchen, then once complete, mop it.

Here is a quick RM rule for triggering a scene - I have this one triggered by a virt switch - and that turns on or off either via ActionTiles on my wifes dashboard, or via other programs.

Here is a screen shot from the commands tab of the robots device details - this is where I got the scene number from

You do this in RM by CREATE NEW ACTION - then pick RUN CUSTOM ACTION

  • CAPABILITY - I USED ACTUATOR - THEN SELECT THE ROBOT - select CUSTOM COMMAND- PICK appScene .... add a parameter - pick string - then paste the SCENE COMMAND number in there
1 Like

I have a S6 MaxV. Looking in the app I can't find routines or scenes. Maybe that feature is only on the later models.

Never saw that on the S7 either, will have to check it out later tonight.

I have the S8, and they are called 'routines' in the iOS app. You will see them right away if supported. The API refers to them as 'scenes,' so you can use the terms interchangeably.

1 Like

I have the S7 Max ultra and as mentioned by @Bloodtick_Jones it's right on the main screen when you open it in IOS. It was the same for the Q5 Max+ I bought for my Mom.

1 Like

Further research indicates that routines came in with the S7 Max and beyond and never rippled down to earlier versions. :frowning_face: Definitely not seeing them on for my S6 maxv on the Roborock app on Android.

Bloodtick - is there any way to QUERY the robot as to what room it is cleaning (say when started manually with a routine, or someone just hits the clean button)

Nothing I have found directly and the things I have read lead me to believe it wasn't trival to determine. I had a brief discussion here on maps and how one might start looking into understanding the messages.

I do know from this post, the robot operates on a X,Y position from the docking station. So you would need to understand whatever you develop is based upon that location.

My suggestion to this question is you COULD use the "cleanPercent" attribute when using "appScene" aka routines to determine approximate locations. That is about the best I can offer at this time.

1 Like

I've skimmed the thread, and this is closest to saying how to handle multiple devices. Is the best practice to have two virtual devices of type Roborock Robot Vacuum and Select Device on one of them?

Or stick with a single device and do a Select Device iff the Name of the robot isn't the desired one for commanding at the moment? I'm guessing that "Select Device" is a toggle and there's not one command to select a specific device.

Yes, I wouldn't do a massive amount of devices this way since each each driver keeps a websocket open; but for a couple or a few this shouldn't be an issue and is the way as of now.

2 Likes

Sounds good. Since Select Device toggles, there is no sure way to "set" the right robot with the virtual device, so I plan to do the following at hub startup and perhaps even a couple times a day (as part of other things I do a couple times a day). Make sense or totally unnecessary?