Xiaomi Roborock Saugroboter von der Cloud befreien

Die Roborock Saugroboter von Xiaomi sind fabelhafte Produkte, wenn nur nich der Zwang zur chinesischen Cloud wäre. Mit der alternativen Firmware Valetudo RE funktioniert der Sauger auch ohne Cloud und bekommt zusätzlich interessante neue Funktionen.
Bitte beachte: Dieser Beitrag ist mehr als 3 Jahre alt. Manche Links, Preise, Produkte und Aussagen sind vielleicht nicht mehr aktuell!

Wir haben seit 2 Jahren einen Xiaomi Roborock S50 Saugroboter, der sich zu unserem Vorwerk VR200 und einem iRobot gesellt. Dabei ist es für den S50 ein Leichtes, die beiden anderen Sauger in praktisch jeder Disziplin zu degradieren. Einzig der Zwang zur chinesischen Cloud war mir ein Dorn im Auge. Mir ist es zwar egal, ob die Chinesen den Grundriss unseres Hauses kennen oder wann wir saugen. Sollte die Cloud jedoch ausfallen, fehlen auch viele Funktionen.

Auf dem Roborock läuft auch mit der Original-Software ein vollständiges Ubuntu-Linux als Betriebssystem. Findige Hacker haben geschafft, auf dessen Basis eine gepatchte Firmware zu entwickeln, die alle Funktionen der Xiaomi Home-App bietet und noch ein bisschen mehr.

Mit der Valetudo RE Firmware, kann man verschiedene Roborock-Sauger vom Cloud-Zwang befreien und man erhält zusätzliche Funktionen, die sehr interessant sind. Valetudo RE ist ein Fork der Valetudo Firmware, die mehr Funktionen bietet.

Dabei wird auf dem Saugroboter ein Webserver installiert, der eine Benutzeroberfläche für alle Funktionen zur Verfügung stellt. Damit lässt sich der Roboter komfortabel bedienen und einrichten.

Die Original-App von Xiaomi funktioniert mit dem Update auf Valetudo RE nicht mehr, sodass auch der Fernzugriff nur noch per VPN möglich wäre. Die Valetudo-Entwickler haben jedoch eine Schnittstelle zum Telegram Messenger integriert, über die man den Roboter auch aus der Ferne steuern kann und Statusmeldung zurückbekommt – inklusive Karte. Außerdem versteht der Roborock mit Valetudo-Herz nun auch MQTT und lässt sich damit ohne Tricks in viele Smarthome-Systeme einbinden.

Zum Upgrade auf die alternative Firmware braucht man einen Linux-Rechner mit WLAN. Am einfachsten geht das mit einem Raspberry Pi samt Monitor und Tastatur. Alternativ kann man ein Live-Linux von einem USB-Stick booten. Mit dem LinuxLive USB Creator kann man sich so ein Live-Linux aus einem ISO-Image selbst generieren. Ich habe für solche Basteleien immer ein bootbare Linux Mint Cinnamon auf einem Stick parat.

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!

DustBuilder baut euch die passende Firmware

Während bislang recht viele Schritte notwendig waren, die alternative Firmware auf den Roborock zu bekommen, geht das mit dem Dustbuilder recht einfach. Hier kann man sich die passende Firmware als Installations-Paket generieren lassen.

Dustbuilder-Einstellungen für die Valetudo Firmware meines S50

Den Download-Link bekommt man nach einigen Minuten an die angegebene E-Mail-Adresse geschickt. Mit dem Firmware-Paket erhält man auch ein Schlüsselpaar für einen SSH-Zugang. Damit kann man z. B. mit Putty direkt per SSH auf den Sauger zugreifen. Das solltet ihr aber nur tun, wenn ihr damit vertraut seid, denn hier habt ihr einen Root-Zugang und könnt damit auch jede Menge zerschießen.

Valetudo-Installation

Hinweis

Seid euch bitte im Klaren darüber, dass ihr bei Fehlern und unsachgemäßem Update den Roborock in die ewigen Jagdgründe schicken könnt. Ihr solltet bereits etwas Erfahrung mit dieser Art von Bastelei haben.

Um die Firmware zu installieren, benötigt man zunächst eine Python-Umgebung auf dem Linux-Rechner:

Einen Ordner anlegen:

mkdir valetudo

Vorsichtshalber die Paketquellen updaten und upgraden:

sudo apt-get update
sudo apt-get upgrade

In den neuen Ordner gehen und die Python-Umgebung einrichten:

cd valetudo
python3 -m venv venv

und danach das Flash-Tool miio-tools installieren:

source venv/bin/activate
pip3 install wheel
pip3 install python-miio
cd ..

Um nun die Firmware flashen zu können, müssen die WLAN-Einstellungen des Saugers zurückgesetzt werden, damit er wieder einen Access Point öffnet. Dazu kann man entweder den Sauger aus der Xiaomi-Home-App löschen oder (ab Gen2 Saugern) den Reset-Taster unter der Klappe bei der blauen Wifi-LED mehrere Sekunden lang drücken. Bei anderen Modellen müssen die beiden äußeren Tasten (Spotreinigung und Docking) lange gleichzeitig gedrückt werden. Dann sollte im WLAN ein Gerät mit dem Namen Xiaomi- oder Roborock-Irgendwas erscheinen. Damit verbindet ihr euren Linux-Rechner – ein WLAN-Passwort ist nicht erforderlich.

Als Nächstes benötigt ihr den Token eures Saugers:

mirobo --debug discover --handshake true

Hier bekommt ihr eine Ausgabe, in der ihr eine Zeile mit dem Token findet. Diesen kopiert ihr euch in die Zwischenablage oder noch besser: in eine Textdatei.

Zwischenzeitlich solltet ihr auch den Download-Link des Dustbuilder bekommen haben. Ladet die .pkg Datei herunter und speichert sie im Valetudo-Verzeichnis auf eurem Linux-Rechner mit dem Dateinamen valetudo.pkg

Nun geht es ans eigentliche Firmware-Update. Der Sauger sollte dazu vollständig geladen sein und sich möglichst nahe an eurem Linux-Rechner befinden. Die IP-Adresse des Saugers ist im Access-Point-Modus übrigens immer 192.168.8.1

mirobo --ip 192.168.8.1 --token DEINTOKEN update-firmware valetudo.pkg

Damit wird die Firmware zum Sauger hochgeladen und installiert. Das dauert einige Minuten und ihr solltet hier nicht ungeduldig werden. Die Fortschrittsanzeige ist hier nicht sonderlich hilfreich und stockt oft schon bei wenigen Prozent. Das Update geht trotzdem weiter.

War das Update erfolgreich, bekommt ihr eine entsprechende Sprachausgabe. Nun müsst ihr den Sauger noch einmal Neustarten: Sauger von der Ladestation nehmen, Power-Taste lange drücken, bis er ausschaltet und dann wieder einschalten.

Verbindet euch wieder mit dem WLAN des Saugers (siehe oben). Nun sollte der Sauger per Browser unter der 192.168.8.1 erreichbar sein und ein Webinterface anzeigen:

Unter „Einstellungen -> WLAN“ kann man den Sauger nun ins heimische WLAN hieven.

Sollte die Installation fehlschlagen, habt ihr vermutlich eine sehr neue Original-Firmware auf eurem Sauger. So war es auch bei mir. Abhilfe schafft ein Werks-Reset: Docking-Taste 3 Sekunden gedrückt halten und dann die Reset-Taste für 10 Sekunden ebenfalls gedrückt halten. Damit ist der Sauger wieder komplett auf der Software-Version bei der Auslieferung. Er macht damit auch wieder seinen Access-Point auf, allerdings hat sich nun auch der Token geändert, sodass ihr den erst noch einmal neu – wie oben beschrieben – auslesen müsst.

Roborock Saugroboter aufgebohrt

Auch mit der alternativen Firmware lassen sich Zonen-, Räume und Verbotslinien einzeichnen. Man kann nun auch mehrere Zonen einrichten, die der Sauger dann anfährt.

Für die einzelnen Zonen/Räume lässt sich auch festlegen, wie oft sie pro Durchgang gesaugt werden sollten.

Wer möchte, kann detaillierte Zeitpläne anlegen, die dann automatisch abgearbeitet werden:

Fernsteuerung mit Valetudo

Durch den Wegfall der Mi-Home-App und Cloud-Anbindung könnt ihr den Sauger nun nicht mehr von außerhalb eures WLANs steuern. Ein Weg ist natürlich, das Webinterface per VPN aufzurufen. Valetudo RE lässt sich aber auch per Telegram steuern. Dazu richtet ihr einen Telegram-Bot ein und damit habt ihr auch unterwegs volle Kontrolle über den Saugroboter, inkl. Zonenauswahl, Statusmeldungen und Karte.

Wer bereits eine Haussteuerungssoftware wie Symcon, FHEM, OpenHAB etc. im Einsatz hat, kann den Sauger dort auch per MQTT einbinden und ihn z. B. dann automatisch losschicken, wenn man das Haus verlassen hat.

Fazit

Die Roborock-Sauger sind meiner Ansicht und Erfahrung nach, die beste Wahl, wenn es um einen Saugroboter geht. Mit dem Valetudo Update ist man unabhängig vom Cloud-Zwang und bekommt obendrein noch zusätzliche Funktionen. Der Aufwand ist überschaubar und mit etwas Linux-Übung, hat man das Update in 20-30 Minuten erledigt.

Ist man mit der alternativen Firmware trotzdem nicht zufrieden (was ich für sehr unwahrscheinlich halte), kann man über einen Werksreset immer wieder zurück zur Hersteller-Firmware.

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!


Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht und du unterstützt damit meine Arbeit. Preisänderungen und Irrtümer vorbehalten.

10 Kommentare

  1. Hallo,
    vielen Dank für die tolle Anleitung.
    Weiß jemand, ob Valetudo RE auch bei dem Mi Robot mit aktueller Firmware funktioniert? Bei Github zu „Valetudo“ steht glaube ich, dass das Produktionsdatum vor März 2020 liegen muss, damit das „flashen“ klappt ohne den Robi aufzuschrauben.
    Vielen Dank vorab :).
    Phil

  2. Hallo zusammen,

    Erstmal vielen Dank für die tolle, nachvollziehbare Anleitung.
    Ich bin neu in der Linux Welt und habe mir das Projekt als Einstieg ausgesucht.
    Alle Schritten haben nach ein wenig hin und her funktioniert.
    Jetzt bin ich beim Flash des Saugers angelangt.
    Leider, und ich kann es nicht nachvollziehen, wird die Valetudo.pkg nicht gefunden und somit der Flash abgebrochen.
    Kann mir hier jemand einen Rat geben. Name der Datei ist korrekt und im Valetudo Ordner abgespeichert. Ich habe auch schon versucht die Datei im Verzeichnis zu verschieben. Hat keinen Erfolg gebracht.

    Wenn ihr weiter Infos braucht, lasst es mich wissen.

    Danke für eure HILFE!

    • Hatte ich auch schon. Das häufigste Problem ist, dass man mit dem Notebook/Rechner beim Flash-Vorgang zu weit vom Sauger weg ist. Am besten weniger als einen Meter zwischen den Geräten während des Flash-Vorgangs.

      • Danke für den schnellen Tip! Das war doch tatsächlich das Problem…
        habe den Laptop direkt denen den Sauger gestellt, dann hat es beim zweiten Mal funktioniert. ?

        • Prima! Beim direkten Zugriff auf seinen Access-Point ist der Roborock scheinbar etwas zickig und „taub“. Freut mich, dass es geklappt hat!

  3. Geht das auch für den S6 oder 5max? Im DustBuilder Screenshot oben sind diese beide Geräte aufgefürt. Aber woanders habe ich gelesen, das sei nicht so einfach (oder gar unmöglich?!?)… nun bin ich irritiert. Ich würde gerne den S6 kaufen, wenn ich weiß, dass das damit klappt.

  4. Vielen Dank für diese gute Anleitung!

    Ich hatte ein paar Probleme mit den pip3-Befehlen, ich musste erst „apt install python3-pip“ ausführen, dann ging’s 🙂

    Kannst du mir sagen, wo ich aktuelle deutsche Sprachpakete als PKG-Datei für den Gen1 finden kann?

Schreibe einen Kommentar zu DatenschutzAntworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert