Skip to main content
Smarthome 6 mins

Freeing Xiaomi Roborock vacuum robots from the cloud

The Roborock vacuum robots from Xiaomi are fabulous products, if only it weren’t for the forced connection to the Chinese cloud. With the alternative firmware Valetudo RE, the vacuum works without the cloud and also gets interesting new functions.

Freeing Xiaomi Roborock vacuum robots from the cloud
Table of Contents

We’ve had a Xiaomi Roborock S50 vacuum robot for 2 years, which joins our Vorwerk VR200 and an iRobot. It’s easy for the S50 to degrade the other two vacuums in practically every discipline. The only thorn in my side was the forced connection to the Chinese cloud. I don’t care whether the Chinese know the floor plan of our house or when we vacuum. However, if the cloud were to fail, many functions would also be missing.

Even with the original software, a complete Ubuntu Linux runs as the operating system on the Roborock. Clever hackers have managed to develop a patched firmware based on this, which offers all the functions of the Xiaomi Home app and a bit more.

⚠ [affiliate] Keine Produkte mit Cache für home-assistant. Bitte affiliate-sync --lang en ausführen.

With the Valetudo RE firmware, you can free various Roborock vacuums from the cloud constraint and get additional functions that are very interesting. Valetudo RE is a fork of the Valetudo firmware that offers more functions.

A web server is installed on the vacuum robot, which provides a user interface for all functions. This allows the robot to be conveniently operated and configured.

The original Xiaomi app no longer works with the update to Valetudo RE, so remote access would only be possible via VPN. However, the Valetudo developers have integrated an interface to the Telegram Messenger, via which you can also control the robot remotely and get status messages back - including a map. Furthermore, the Roborock with a Valetudo heart now also understands MQTT MQTTLightweight publish/subscribe messaging protocol. Used in smart homes to exchange sensor data and control commands between devices and can thus be integrated into many smart home systems without tricks.

To upgrade to the alternative firmware, you need a Linux computer with WiFi. The easiest way is with a Raspberry Pi including monitor and keyboard. Alternatively, you can boot a live Linux from a USB stick. With the LinuxLive USB Creator you can generate such a live Linux from an ISO image yourself. For such tinkering, I always have a bootable Linux Mint Cinnamon on a stick ready.

DustBuilder builds the right firmware for you

While quite a few steps were previously necessary to get the alternative firmware onto the Roborock, this is quite easy with the Dustbuilder. Here you can have the appropriate firmware generated as an installation package.

The download link is sent to the specified email address after a few minutes. With the firmware package, you also get a key pair for SSH access. This allows you, for example, to access the vacuum directly via SSH with Putty. However, you should only do this if you are familiar with it, because here you have root access and can also mess up a lot of things.

Valetudo installation

Note

Please be aware that with errors and improper updates, you can send the Roborock to the eternal hunting grounds. You should already have some experience with this type of tinkering.

To install the firmware, you first need a Python environment on the Linux computer:

Create a folder:

bash
1
mkdir valetudo

As a precaution, update and upgrade the package sources:

bash
1
2
sudo apt-get update
sudo apt-get upgrade

Go into the new folder and set up the Python environment:

bash
1
2
cd valetudo
python3 -m venv venv

and then install the miio-tools flash tool:

bash
1
2
3
4
source venv/bin/activate
pip3 install wheel
pip3 install python-miio
cd ..

To be able to flash the firmware now, the WiFi settings of the vacuum must be reset so that it opens an access point again. To do this, you can either delete the vacuum from the Xiaomi Home app or (from Gen2 vacuums) press and hold the reset button under the flap near the blue WiFi LED for several seconds. For other models, the two outer buttons (spot cleaning and docking) must be pressed and held simultaneously for a long time. A device with the name Xiaomi- or Roborock-something should then appear in the WiFi. Connect your Linux computer to it - a WiFi password is not required.

Next, you need the token of your vacuum:

bash
1
mirobo --debug discover --handshake true

Here you get an output in which you will find a line with the token. Copy this to the clipboard or even better: into a text file.

In the meantime, you should have received the download link from the Dustbuilder. Download the .pkg file and save it in the Valetudo directory on your Linux computer with the filename valetudo.pkg

Now it’s time for the actual firmware update. The vacuum should be fully charged for this and be as close as possible to your Linux computer. By the way, the IP address of the vacuum in access point mode is always 192.168.8.1

bash
1
mirobo --ip 192.168.8.1 --token YOURTOKEN update-firmware valetudo.pkg

This uploads and installs the firmware to the vacuum. This takes several minutes and you should not become impatient here. The progress indicator is not particularly helpful here and often stalls at just a few percent. The update continues nonetheless.

If the update was successful, you will get a corresponding voice output. Now you need to restart the vacuum once more: Take the vacuum off the charging station, press and hold the power button until it turns off, and then turn it on again.

Reconnect to the vacuum’s WiFi (see above). The vacuum should now be accessible via browser at 192.168.8.1 and display a web interface:

Under “Settings -> WiFi” you can now get the vacuum into your home WiFi.

If the installation fails, you probably have a very new original firmware on your vacuum. That was the case for me too. A factory reset helps: Hold the docking button for 3 seconds and then also hold the reset button for 10 seconds. This completely resets the vacuum to the software version at delivery. It then opens its access point again, but the token has now also changed, so you need to read it out again as described above.

Roborock vacuum robot souped up

Even with the alternative firmware, zones, rooms and exclusion lines can be drawn. You can now also set up multiple zones that the vacuum then goes to.

For the individual zones/rooms, you can also specify how often they should be vacuumed per pass.

If you want, you can create detailed schedules that are then automatically processed:

Remote control with Valetudo

Due to the removal of the Mi Home app and cloud connection, you can no longer control the vacuum from outside your WiFi. One way is, of course, to access the web interface via VPN. However, Valetudo RE can also be controlled via Telegram. To do this, you set up a Telegram bot and with that you have full control over the vacuum robot even when you’re on the go, including zone selection, status messages and map.

If you already have a home automation system like Symcon , FHEM, OpenHAB, etc. in use, you can also integrate the vacuum there via MQTT and, for example, automatically send it off when you leave the house.

Conclusion

In my opinion and experience, the Roborock vacuums are the best choice when it comes to a robot vacuum. With the Valetudo update, you are independent of the cloud constraint and also get additional functions on top. The effort is manageable and with some Linux practice, you can complete the update in 20-30 minutes.

If you are still not satisfied with the alternative firmware (which I consider very unlikely), you can always go back to the manufacturer’s firmware via a factory reset.


Hi! I'm Markus – the Fricklr. ⚡ Electrical engineer, 🎵 musician (bass, guitar, keys) and professionally 'something with the internet' 🌐 for over 30 years – nowadays with AI too 🤖 – a 55-year-old generalist from Bavaria, Germany.

Your feedback helps me write even more interesting posts. After "Yes" there's also a small option to support my work.

Explore related topics

Content Map →
Show related content as a list
💡 Drag, hover & click to explore
Bigger dots are more relevant

What do you think? Leave a comment!

Share your thoughts, questions or experiences with the community.

Links marked with this symbol are affiliate links. As an Amazon Associate I earn from qualifying purchases. There are no additional costs for you.