Valetudo - Xiaomi Vacuum Dustcloud alternative, Live Maps

Maybe it’s not working as you are trying to downgrade the firmware.

There seems to be a bit of info here and links to a newer firmware you could try building?

https://github.com/dgiese/dustcloud/issues/140

Thanks I managed to fix the issue. The steps I took are found here Add Map to Xiaomi vacuum cleaner

For the benefit of anyone reading this thread (and not great with linux commands), here are the steps I took to install Valetudo onto the MiRobot after I rooted it to gain SSH access.

Install and Start Valetudo on your Rooted MiRobot

  1. Open up Terminal run the below commands
  2. mkdir valetudo && cd valetudo
  3. wget https://raw.githubusercontent.com/Hypfer/Valetudo/master/deployment/valetudo.conf
  4. wget https://github.com/Hypfer/Valetudo/releases/download/0.0.7/valetudo (change the url if a new version is released)
  5. scp valetudo [email protected]:/usr/local/bin/ (use the IP of the MiRobot & the password you set as your SSH key when building your firmware)
  6. scp valetudo.conf [email protected]:/etc/init/
  7. ssh [email protected]
  8. chmod +x /usr/local/bin/valetudo
  9. service valetudo start

After this you can follow the instructions in Post #1 to setup live maps in Home Assistant.

3 Likes

Just a quick offtopic question regarding the firmware. Is it possible to update the firmware with the Mi Home app or will I loose root access after that?

I have never connected Rosie to the cloud nor used the App so I don’t know sorry.

Ok, so how do you update your vacuum? The latest version seems to be interesting because it can save old maps

Upgrading the robot will remove root and risk having a blocked robot

I’ve tried the new firmware v3416 and v3514 and when i compile them with the command

sudo ./dustcloud/devices/xiaomi.vacuum/firmwarebuilder/imagebuilder.sh -f sebgen1firmwarev3416.pkg -k id_rsa.pub

It throws an error that “…/dc/image” doesn’t exist midway through the process. This doesn’t happen when i do it for firmware v3254. Despite this I still try to flash it to my Mi Robot however it doesn’t work. MiRobot rejects it.

Is anyone else here using a rooted firmware on their Gen 1 Mi Robot that higher than v3254?

you need to download latest pkg and do the whole rooting process again either from here:


or by doing this: https://github.com/dgiese/dustcloud/wiki/VacuumRobots-disableUpdates and then start the firmware update from your app, then copy firmware from temp folder (look it up in google) and rooting that one, reenabling the crypto and start the firmware upgrade with mirobo.
1 Like

All links are broken. Trying to look for a way on rooting the device

Which links?

The original two I posted on the first post both work ok for me.

I receive this

Forbidden

You don’t have permission to access /public/xiaomi.vacuum.gen1/original/encrypted/ on this server.

I guess you are trying to download the firmware?

Have a look at this in the Wiki

This is turning out a bit mpre difficult then expected :smiley:

I am following this for rooting

but I don’t know how to do this …
Create custom image with imagebuilder.sh

I succesfully made the vacuum work with HASS (not the map), I also was succesful in using the FLOLEVAC android app.

But I can make it work one (HASS) OR the other (app) not both. My goal is to make both work, hope that rooting serves this purpose

It tells you what to type in further down under “Instructions on Linux”

sudo ./dustcloud/devices/xiaomi.vacuum/firmwarebuilder/imagebuilder.sh -f v11_001228.pkg -k id_rsa.pub

If you are using Windows either use a Virtual Machine or a Raspberry PI

1 Like

Oh right :slight_smile:
I am stuck at this command. Going here

https://dustcloud.seemoo.de/public/xiaomi.vacuum.gen1/original/encrypted/

its again

# Forbidden

You don't have permission to access /public/xiaomi.vacuum.gen1/original/encrypted/ on this server.

you have access to it? Maybe geo blocking of some sort??

I linked to the Wiki before where it explains how to download direct from Xiaomi. Have you tried that?

I made progresses but now a big roadblock. 3 hours of google searches brought no solution

when I try to do this

sudo apt-get install python3 python3-pip python3-venv python3-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python3-venv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python3-venv' has no installation candidate

Try with out the virtual environment parts (python3-venv)

  1. Install the required packages: sudo apt-get install python3 python3-pip python3-dev

  2. Install wheel so the other packages can be installed successfully: pip install wheel

  3. Install python-miio for communicating with the vacuum: pip install python-miio

  4. Now press the wifi button on your vacuum and join the wifi created by it (‘roborock-vacuum-s5_XXXXXXXX’ or similar).

  5. Use the flasher script to upload the new firmware: python dustcloud/devices/xiaomi.vacuum/firmwarebuilder/flasher.py -f output/v11_001228.pkg

  6. The update takes several minutes. After the upload is complete, the robot explains that it is now going to install an upgrade and restarts when it is complete. Once the robot has successfully restarted, you can connect to it via SSH.