Howto: Xiaomi vacuum zoned cleaning

Cool. I welcome any update. Is there change log somewhere? What about multi floor support?

No published changelog anywhere as well as no multi floor support.
And i you might ask, also no secondary map e.g. for mapping only (and avoid carpet areas etc.).

But its working pretty good for me tho.

I am looking forward for a easy to follow and mainly a nice and easiely/comfortable way of using it with Home Assistant.

So far all solutions I found here did somehow work at some degree but didnt gave me a comforable way of using it manually.

Best way is a little bit of this here, a little bit of entity buttons and a little bit of Xiaomi Vacuum Interactive Map Card.

But its still not perfect (and consumed lots of hours on making it even work).

So hopefullly this new firmware/feature will give this implementaion a boost and make it easier yet increase the usability.

The problem is that segment must be passed as an array of integers, but if you use templates it is passed as a string.
You can try to use my python script that parsers the array passed as a string.

3 Likes

thatā€™s true. Same with no-go zonesā€¦ is there a way to add/remove a no-go zone via command? Thatā€™s yet another workaround for carpets e.g., but Iā€™m still willing to go that way.

i created a simple script to clean 2 zones, for my s5 , but if i run it, it only does the first zone, not the second one? it just goes back to the dock

any idea?

vacuum_clean_house:
  alias: Clean House
  sequence:
  - service: xiaomi_miio.vacuum_clean_zone
    data_template:
      entity_id: vacuum.roborock
      repeats: 1
      zone: 
      - [25480,17400,29530,22250]      
      - [14300,17900,25800,25950]

Iā€™m having a strange issue. Iā€™ve setup zoned cleanup using scripts couple of days back and it was working fine but then suddenly when I invoked the service for cleaning a kitchen, the vacuum will just move couple of centimeters (says ā€œStarting zoned cleanupā€) and then will go back to the dock (same for all other zones). Then Iā€™ve noticed that when I take the coordinates again from the flolevac app, they are somehow different. So Iā€™ve changed them accordingly in the scripts again but after a couple of days same thing happened. Anybody else having similar issue?

It seems like your map is resetting or rotating which happens when the map resets. The map resets when you start a new full cleanup (a cleanup with specifying any zones). If you have updated to the latest version you can try using the xiaomi app to reset/reload the map.

Thanks a lot!

I guess it resets because I have a scheduled full cleanup once a weekā€¦ Any idea how can I achieve a full cleanup without resetting the map?

I have the latest Xiaomi app but I canā€™t figure out how to restore the map. Any idea?

To avoid resetting the map try using zones instead. Either by simply drawing one big zone that includes everything or by simbly passing all the zones that you have created for you apartment/house in one function. There are enough examples in here how to do that.

For editing your map: Youā€™ll find the option to edit the map at the bottom left of your current map.

1 Like

Iā€™ll try that, thanks!

Where at the bottom left? I donā€™t see anything (see screenshot)

This looks different to my versionā€¦ Wich device and firmware version are you using? You might be able to edit the map in the top right menu (the one with the three dots).

Try this:

vacuum_clean_house:
  alias: Clean House
  sequence:
  - service: xiaomi_miio.vacuum_clean_zone
    data_template:
      entity_id: vacuum.roborock
      repeats: 1
      zone: 
      - [[25480,17400,29530,22250],[14300,17900,25800,25950]] 
1 Like

Same behaviourā€¦ But I solved with a script now just clean a zone , then a delay , then next zone :wink:

1 Like

Itā€™s Android, Xiaomi home app version 5.6.46
Iā€™ve looked everywhere after clicking in the top right corner but without success

Iā€™ve collected the coordinates from Floevac, how do I map the X and Y coordinates from the map? Any suggestions?

  1. select the zone
  2. press and hold the ā€œcleaningā€ button
  3. the coordinates will be copied

Yup Iā€™ve gotten that. Sorry I think I wasnā€™t clear. Iā€™m referring to the coordinates of the map image. For example one point is 25500,25500. But thereā€™s another x, y that I need to key in thatā€™s from the point on the image right? How can I get those numbers?

1 Like

is it possible to figure it out without floevac?
i used my s6 go to command and found the four corners of where i want it to go
but then i use two coordinatas for each cornerā€¦
first corner is 28000, 25000
second 29200, 25000
third 29200, 27800
fourth 28000, 27800
but no mather what i try with the four coordinates for the zon cleanup the vacuum goes the complete opposite directionā€¦ :stuck_out_tongue:

One point
1 Press the ā€œGoā€ button
2 Mark the place on the map
3 Press and hold the ā€œgo thereā€ button
the coordinates will be copied