Roborock/xiaomi vacuum integration needs a fix, add repeat to segments

the current version of the roborock firmware has added the “cross-hatching” pattern when you set the (room or whole house) clean to (repeat) 2x or 3x.


the current integration does not allow for repeats on individual rooms (segments).

there is a method here:
“The original app for Xiaomi vacuum has a nice feature of room cleaning with repetition, you can achieve the same result with repeating segments:”

however, that does not enable the cross-hatch pattern.

please add a “repeat” to segments.

Yes ! At this moment repeats are only possible on “clean zone”, but there is a workaround:

The original app for Xiaomi vacuum has a nice feature of room cleaning with repetition, you can achieve the same result with repeating segments:

  - alias: "Vacuum kitchen"
      - event: start
        platform: homeassistant
      - service: xiaomi_miio.vacuum_clean_segment
          entity_id: vacuum.xiaomi_vacuum
          segments: [1, 1]

like i said at the bottom of my first post, this ‘double segments’ thing does not work on s7+ w/ latest FW.

Strange, it works for me…

I am able to perform a single room repeat that vacuums in a crosshatch but my questions is:

How to perform repeat crosshatch vacuuming in multiple rooms during a single cleaning session.

When I add the room ID twice in the params with multiple rooms [16, 16, 17, 17] only the last room is vacuumed twice in the crosshatch pattern. The first room (16) was vacuumed again after room 17 but in the first direction before returning the vacuum to the dock.

First search result on repeating segments not working brought me here.

Same issue, Roborock S7 MaxV, when I use “segments: [17, 17]” the vacuum will do a single run through the room. I prefer to use segments over zones because of odd room shapes, and I don’t want the vacuum to clean 1sqft of one room while doing the rest of another. If y’all have figured out how to make this work please speak up.

For the next person that comes across this, if you want to replicate the criss cross pattern from the Mi Home app x2 room cleaning use service: vacuum.send_command. This will give the expected behavior.


service: vacuum.send_command
  entity_id: vacuum.rosie
  command: app_segment_clean
    - segments:
        - 18
        - 20
      repeat: 2
1 Like

okay, this was useful, i was able to use this to get it working in nodered.

  "service": "vacuum.send_command",
  "target": {
    "entity_id": "vacuum.roborock_s7"
  "data": {
    "command": "app_segment_clean",
    "params": [
        "segments": [
        "repeat": 2


1 Like

Hey just asking, does most of the integration function works with the new Roborock S7 MaxV?
Stuff like extracting the map, zone cleaning, etc…

1 Like

Any news about Roborock S7 maxV?
a lot of functions work for me, but some don’t

I imagine you already found the answer, but my experience has been that everything works. The map works exactly the same as the S4 that the MaxV replaced, all my automations go by rooms so I don’t know about zones (rooms are easier in comparison to grid coordinates).To clarify I have the S7 MaxV only, I bought the bot when it was released by itself and knowing I was going to get the fancy dock I didn’t get the auto empty dock.

There is a way to set the mopping and vacuum levels using the service call. However you have to dig really deep in to the Xiaomi documentation and I didn’t want to bother since my setup is working without issues for the last 3 months. I setup the vacuum/mop behavior in the Mi Home app and let it do its thing.

1 Like

Thank you, i dont actually own one yet. i have a S2 and really like the integration.
I just wanted some clarification before buying the new one