Xiaomi Vacuum restore map (fw: 3.5.7_002008+)?

I just updated to the latest FW (3.5.7_002008) for my S50 unit.
On the main map I now have a button “edit map” clicking on it takes me to a list of max 2 backed up maps to choose from. Also possible to delete maps here.

From here I am able to click on a map and override the current one with my backed up map.
Quite useful.

I wonder if this (restore map function) can be triggered automatically from within HASS using a service call.

I haven’t sharkwired the communciation from the vacuum, cloud and my phone - so I have no idea what the payload looks like. But I bet it’s there.

The benefit with this feature would be to always revert to a well known backup copy of the map on each return to the docking bay.

This would fix the problem of having an actual map of closed doors which sadly happens a lot of the time.
This would also fix corrupted maps etc etc.

A good reference map would be one scanned with open doors… obviously :slight_smile:


I don’t have firmware yet, but also room feature is usefull, instead of using coordinate…

And also integration with Google assistant

Room feature is already supported in hass.io.
Havent tested it though.

Look in this sub forum for details

Still missing this feature.

Looking here, we have the vacuum protocol:

lots of API methods concerning MAP restore.
look for MAP*
eg. MAP_RECOVER recover_map

implemented calls can be seen here:

here we can see the line : self.send(“recover_map”, [id])
So it needs a magic ID for the map.

using some appdaemon python like this yields nothing:
‘self.call_service(“vacuum/send_command”, entity_id = self._vacuum_cleaner, params = [1], command=“recover_map”)’

have anyone made this work ?

I try to bring up that topic again here:

Since a few weeks now Ive been having great succes with just recovering the map each time the bot reaches its dock.So the map is clean for the next time.

in appdaemon i do something like this:
await self.call_service(“vacuum/send_command”, entity_id = self._vacuum_cleaner, params = [1], command=“recover_map”)

1 Like

Hi everyone
Can you please help me understand on how to save and restore maps? My vacuum at times resets all the maps and need something that can be loaded from external storage