Howto: Xiaomi vacuum zoned cleaning

there is kinda error in your manual.

you suggest:
Download a modified Mi Home app from this 13 russian website. (Direct Link v.**5.1.29** 15)
Xiaomi Mi Robot Vacuum telling that:
As per python-miio issue 185 the Mi-Home app no longer stores the token within the database (it’s retrieved from Xiaomi servers from version **5.0.31**+).Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. Mi-Home version 5.0.0 is confirmed as working for the following Android methods.

so… why should i download this russian modified apk?

Because the modified Mi Home app let’s you read the token from within the app :wink:

Only the original Mi home app, to which the HA documentation is referring to, does not store the token anymore.

So I got my roborock today done the first clean went very well.

I was trying to use the mop feature and the vacuum threw an error saying it’s stuck and it wouldn’t move. I didn’t place anything on the floor. I am not home now and the roborock is sleeping in the position it got stuck.

Do you think it’s because of the mop as it has added extra layer to the roborock and got stuck?

Any tips on how to avoid the roborock from getting stuck?

Thanks

1 Like

I don’t know why your robot got stuck in your specific case, but it should not be the mop’s fault unless you are going over carpets. In my experience so far my robot got stuck on cables, a water bottle fell over and blocked its way back out of a narrow passage. And it once got stuck on a sock :wink: so yeah, make sure there are not objects lying on the ground that could entangle the robot.

1 Like

Mine gets stuck when mopping because the wheels start slipping on the wet floor!

For real? That’s funny. Mine has no problems at all… What kind of floor do you have?

Yeah, only in a few spots though.
We have tiled floors. My thought was that some of them have moved over the years creating little dips to get stuck in.

Hi @ciB

Where did you get the steps from and why do you need them?

Also why did you mention about saving the map ? What’s the purpose?

Thanks.

I have a version 1 on order, and I have one question for Xiaomi vacuum users.

We have four floor levels in our house. It is basically two storied, but each level has about 5 steps down to a lower bit.

How do you cope with multi levels? I imagine it is easy enough to pick the thing up and put it on another level, but all this automation/mapping etc is going to get stuffed up.

I don’t really want to buy four of them!

What do you mean? Have you read what this is about? Because then you should actually know :slight_smile:

The purpose is that you can create a grid for the map that you saved so than you can easily read off coordinates. Then you can create scripts in HA to clean specific areas/rooms.

Hm… I have no expierience for two floors, but here is an idea:
Figure out your coordinates for your first floor. Carry the robot to another floor and make sure to put him down somewhere where you can always put him down easily, e.g. a corner. Then start a new cleaning process. The robot should in theory create a completely new map. Figure out the coordinates for you new floor. Now try switiching floors with the different coordinates - make sure to have your robot on the station/in the corner before starting the zoned_cleaning and see if it works :wink:

Yeah I have read it all.

Sorry for my novelty as I am fairly new to this. I am having trouble finding the coordinates it’s a little hard to understand.

No problem :slight_smile:
The problem is that the coordinates are nowhere saved, so we cannot simply read them off of something. But we do know that the robot always starts at [25500,25500] and that each unit is 1mm. So if you take a screenshot of you layout from the Home Mi App and then send your robot to different coordinates manually, e.g. [24500,24500], and then take another screenshot, you can figure out how much exactly is 1 meter in each x and y directions and create a grid. You can then read off all the coordinates that you need. That’s at least what I did. I made this with photoshop, but you can also print the screenshot and do some drawing. It also all depends on how accurate you want it to be.

I might make a video tutorial in the future, but I’m really busy atm.

1 Like

Ok thanks I will have a go at it buddy !

This is great. Love it. Can’t wait to try when my vacuum cleaner arrives. Who would of though vacuuming could be so much fun! I’ll recycle some of your code for other automations too

Thanks for adding this functionality and writing this guide - it is awesome !

I’m having one issue - the angle of my map is not fixed between rides: my docking station is at fixed point and my vacuum always start from there. The distance to arbitrary (x,y) is always the same from the docking station, however map sometimes gets rotated completely messing up my measurements. From my observations so far it seems to depend to what degree vacuum managed to map rooms during previous cleanup. For example, if it did full run over my house then zones will be always perpendicular to walls, however if I start from scratch (on and immedietly off) then zones might not be perpendicular to walls.

Do others experience similar issue ? Any idea on how to get the angle of the map fixed ?

Thanks !

Well, the code was already there, there was just a little bug that @syssi fixed :slight_smile:

About the rotation: I also had the same experience once. I have set up all my rooms for a while now, and everything works perfectly. But I to accidentally started the cleaning process and turned the robot off right away, basically deleting the map in the process. I then realized that my map had rotated. But I simply had to go through the process a couple of times until the map had rotated back into its original position. It seemed like that the map rotated 90° everytime it reset the map. So even if I messed up my map, I could always get it back into the right rotation. I really don’t know how the robot decides the rotation of the map, but maybe it is just random.

@ciB stupid question but is (25500,25500) in mm?

Thanks for the reply. I will try to poke with the vacuum a bit more to make the orientation more robust (e.g. always reset the map by doing on/off and the maybe moving a bit forward). In particular, I would like it to work without having the map - I sometimes need to carry the vacuum and map gets lost in the process.

When the vacuum creates a map, those are always the coordinates the robot starts with. But yeah, a unit in this grid is one millimeter.

1 Like