Ich habe mir schon länger überlegt einen Staubsaugroboter zuzulegen, aber zunächst war die Wohnung nicht geeignet und dann wusste ich nicht welchen. Umso neugieriger war ich, als für den 34c3 ein Staubsaugrobotertalk angesetzt wurde und dass noch mit meinem bisherigen Favoriten, den Xiaomi Mi Staubsaugroboter. Den Talk fand ich durchaus interessant. Die Sicherheit scheint nicht komplett in die Hose gegangen zu sein und trotzdem soll es möglich sein den Robo zu rooten und ein wenig damit rumzuspielen.
Wie spricht man aber überhaupt Xiaomi aus? [Schaomi]
Neugierig wurde ich, als die ersten Tests für den Roborock Sweep One S50 auftauchten.
Zur Namensverwirrung: Roborock ist der Auftragshersteller für Xiaomi bei der ersten Generation des Saugroboters gewesen. Nun hat man sich offenbar dazu entschieden, unter eigener Flagge aufzutreten. Beide verwenden aber dieselbe App, Mi Home.
Der Roborock S50 ist somit der Nachfolger vom Xiaomi Mi und hat zudem eine Wischfunktion, die zumindest nicht komplett umsonst sein soll. Zudem soll der Robo laut Spezifikation Türschwellen von 2 cm schaffen, was als zusätzliches Kaufargument in der Wohnung zu sehen ist. Ansonsten sollen die Sensoren verbessert, aber ansonsten nicht zu viel geändert worden sein. Die Entscheidung fiel der Faulheit halber und auf Grund der Türschwellen auf den Roborock Sweep One S50.
Wer höhere Türschwellen hat oder sich für einen anderen Staubsaugroboter entscheidet, kann Schwellen bauen. Darauf hatte ich wenig Lust, wobei die Türschwellen alleine den Preisunterschied auch nicht rechtfertigen. Zum Vergleich: Deals für Gen1 gibts für 220 Euro aktuell, für die Gen2 muss man mindestens 350 Euro hinblättern. Hier kann ich nur empfehlen auf mydealz ein Angebot abzupassen und dabei gucken, ob der Robo aus einem europäischen Warenhaus kommt (CE-Zeichen oder bereits in Europa) und ob Zollgebühren anfallen. Da können gerne nochmals 50 Euro bzw. ohne CE-Zeichen Probleme mit dem Zoll hinzukommen. Ohne Deal zahlt man für den Robo zwischen 450 und 500 Euro. Warten und aufpassen lohnt sich also
Erster Eindruck
Ich war ganz verzückt, als nicht einmal eine Woche Lieferzeit endlich der Roborock ankam. Ausgepackt, geladen und angeschalten kam die nächste Verzückung: er spricht mit einer Frauenstimme Chinesisch! (Ach ja, die komplette Anleitung war auch auf Chinesisch, aber schön bebildert und damit Idiotensicher.) Mit der Orignalapp kann man übrigens die Stimme auf Englisch (weiblich) umstellen. Durch Deal kam er trotz europäischem Lager mit einem chinesischem Stecker, aber zumindest war ein Adapter dabei.
Unten befinden sich eine Bürste und rotierende Fühler, dazu ein Fach mit Staubtuch, in das man auch Wasser füllen kann für die Wischfunktion. Oben einen Behälter, in dem sich der Staub sammelt. Daneben befindet sich eine kleine Bürste - und der Reset-Knopf. Steuern kann man den Robo ganz einfach durch die oben liegenden Buttons oder durch die App, die ich später erkläre.
Zusätzlich geliefert wurden ein Ersatztuch, ein Ersatzfilter (für den Dreckbehälter) sowie die Ladestation (Ladedauer etwa 5 Stunden).
Weißer auf Hochglanz polierter Kunststoff ist vielleicht keine ideale Farbgebung (Schmutz sieht man ziemlich schnell), aber solange es tut. Am höchsten Punkt misst der Robo 9,5 cm und das Teil wiegt etwa 3,5 Kilo.
Verschiedene Sensoren sorgen dafür, dass der Robo halbwegs sicher durch die Wohnung navigiert. Am auffälligsten ist der 360° Sensor, der nach oben rausschaut. Weitere Sensoren (u.a.): Ultraschall- und Infratorsensoren, Gyroskop, Beschleunigungssensor und ein elektronischer Kompass. Er soll angeblich auch Treppen erkennen können! Ansonsten solide verarbeitet.
Saugen
Der Roborock fährt zunächst die Ränder des Zimmers ab, um anschließend das Innere mäanderförmig abzufahren. So geht er grob pro Raum vor, ein paar witzige Ausnahmen gibt es aber noch. Hindernisse erkennt er überraschend gut und fährt nur selten gegen Möbel. Navigieren kann er ebenfalls sehr gut und kommt so auch zwischen Stühle durch soweit es sein Durchmesser erlaubt. Dadurch saugt er bis auf die Ecken ziemlich gut alles weg. Auch Teppiche stellen kein Problem dar. Witzig kann es bei Türen werden, da er manche gerne schließt oder öffnet. Die Räume kann man aber auch einzeln saugen lassen. Zudem gibt es eine gründlicher Reinigen Funktion, wo er im kleinen Durchmesser um eine Stelle gründlicher saugt. 2 cm Schwellen schafft er, manchmal nicht auf Anhieb, aber er sucht sich eine Stelle, die ihm passt. Sind zu viele Haare in der Bürste verhangen, kann es auch sein, dass der Roborock streikt. Schnürsenkel können sich ebenfalls gut verheddern. Der Robo fährt übrigens auch im Dunklen, was ich schon mal ziemlich praktisch finde.
Für die Navigation nutzt der Robo die SLAM (Simultaneous Localization and Mapping)-Technologie, d.h. er erstellt für sich eine eigene Karte der Umgebung und erkennt in dieser seine aktuelle Position. Wenn er merkt, dass ihm der Saft ausgeht, fährt er zurück zur Ladestation. Der Akku reicht für eine mittelgroße Wohnung auf einmal, solange er voll geladen war (Zeit etwa 45-60 Min). Stresstest: 1 1/2 bis 2 Stunden schafft er im ausbalancierten Modus voll geladen. Im Werkszustand fährt der Sauger im Balanced-Modus, dem zweitleisesten Modus, der finde ich schon einiges wegsaugt. Nachfolgend die unterschiedlichen Modi mit der Lautstärke in dB, die man per App auswählen kann:
Der Behälter (knapp halber Liter) kann einfach geleert werden. Bürsten und Fühler sind etwas unpraktisch, wenn mehrere längere Haare aufgesaugt wurden, da man im Notfall die Haare mit der Schere oder einem Messer entfernen darf. Insgesamt bin ich zufrieden und überrascht wie intelligent er saugt. Minus für die Türen öffnen/schließen (kann man aber umgehen) und das verheddern von Haaren (Haare ab zählt nicht als Lösung).
Wischen
Man füllt den kleinen Behälter an der Unterseite mit Wasser (140 ml), ansonsten ändert sich nichts im Vergleich zu Saugen. Die Wohnung geht ebenfalls mit einer Ladung. So viel größer sollte sie aber nicht sein.
Wischergebnis: es ist nicht so gut, wie wenn man selbst wischt, da er nicht genug Druck aufbauen kann. Es reicht aber um leichtere Flecken wegzuwischen und es entstehen keine Streifen. Für die Grundsauberkeit also praktisch, Ränder und hartnäckige Flecken muss man weiterhin per Hand wegwischen. Den Behälter sollte man anschließend zusammen mit dem Staubtuch trocknen lassen. Am Boden liegende Kleidung wickelt er gerne auf und feuchtet diese dabei ein, aber mei, irgendwelche Nachteile muss es ja geben. Dafür ist die Wischleistung gering genug, dass die Teppiche nicht triefend nass sind (wenn man sie nicht vorher in Sicherheit bringt).
App
Die Grundfunktionen sind direkt am Robo verfügbar. Um beispielsweise Saugzeiten festzulegen, die Raumkarten zu sehen oder No-Go-Areas zu definieren, braucht es die Mi Home App von Xiaomi. Dafür muss man zwingend einen Xiaomi-Account erstellen und ihn in ein Wlan hinzufügen. Ein weiterer Grund, ihn mit dem Wlan zu verbinden ist, dass er ein offenes Wlan ausstrahlt (zumindest kann man damit nicht allzu viel anstellen, aber man will ja nicht, dass jemand anderer den Robo bedienen und über die App mehr Infos über die Wohnung bekommen kann). Hierfür wurde das Gästewlan mit einer Firewall eingerichtet.
Neben der offiziellen Xiaomi App kann man auch eine alternative App von Flole verwenden. Wir schauen uns beide kurz an.
In der Xiaomi App, die übrigens massig Berechtigungen will und ein schönes Mischmasch aus Englisch und Chinesisch spricht (Sprache auf Englisch einstellen, ansonsten ist noch mehr Chinesisch zu sehen!), muss man sich auf einen Standort der Server festlegen. Wechsel des Standorts bedeutet, dass man den Robo neu ins Wlan verbinden muss, da natürlich alle Daten auf dem ausgewählten Server liegen. Inzwischen gibt es Server in Europa, in die man sich einfach einwählen kann. Beim Einrichten des Wlans (man geht mit dem Smartphone in das Wlan des Robos, wählt dann das gewünschte Wlan aus, App richtet es beim Robo ein) kann es zu Timeouts kommen und die Einrichtung zickt gerne rum. Beim Standort Mainland China habe ich es leider trotz mehrerer Versuche nie geschafft. Also Europa... Nachdem der Robo erkannt und das Wlan eingerichtet ist, kann man auf die volle Palette an Funktionen zugreifen:
Die Liste lässt sich fortsetzen und Xiaomi arbeitet auch daran.
Man kann nachdem der Robo gepaart und das Wlan eingerichtet ist, übrigens die meisten Berechtigungen der App entziehen, ohne dass es Probleme bereitet.
Server? Viele Daten? Daten können abwandern? Das sind Gründe, warum ich mir zumindest mal die App von Flole angeschaut habe. Leider kann man den Robo mit den Daten ID, IP und Token nicht manuell einrichten, sondern muss entweder die Daten aus der Xiaomi Mi Cloud importieren (geht nur mit Mainland China als Serverlokation, Problem siehe oben), das Paaring mit der App machen und anschließend das Wlan mit der Xiaomi Mi App einrichten (ganz ohne geht es nicht, wenn man das Wlan beim Einrichten resettet, muss das Paaring wiederholt werden) oder durch Import aus Google Drive (juhuu...). Nachdem ich bei den ersten beiden gescheitert bin, recherchierte ich zum Import. flc-Datei in einem bestimmten Format, wird aktuell nur nicht von der App erkannt, aber ich bleibe dran. Das würde ich gerne noch herzeigen. Funktionalität soll etwas eingeschränkter sein, aber für den alltäglichen Gebrauch reichen.
So schlimm sollte das aber nicht sein, denn ich wollte das Teilchen auch noch rooten.
Rooten - Links und sonstiges Lesematerial
Zu dem Thema findet man einige Links - mal mit besserer, mal mit schlechterer Beschreibung (und ja, Fehler sind teils auch enthalten):
Forum: http://www.roboter-forum.com/forumdisplay.php?130-Xiaomi
34c3 Talk: https://media.ccc.de/v/34c3-9147-unleash_your_smart-home_devices_vacuum_cleaning_robot_hacking
dazu die Seite: http://dontvacuum.me
wer mehr über die Kommunikation wissen will: https://github.com/dgiese/dustcloud/blob/master/presentations/Recon-BRX2018/recon_brx_2018-final-split.pdf
github: https://github.com/dgiese/dustcloud
Telegram-Channel: https://t.me/joinchat/Fl7Mm0iEV7Pgf9ngDyly-g
IRC-Channel: #dustcloudproject
Nette Zusammenfassung: https://kaeni.de/hack-des-xiaomi-mi-vacuum-robot-gewaehrt-brisante-einblicke/
Python-miio: https://github.com/rytilahti/python-miio
Mi Toolkit mit deutscher App und weiteren netten Sachen: https://github.com/ultrara1n/MiToolkit
Anleitung zum Rooten selbst: https://github.com/dgiese/dustcloud/wiki/VacuumRobots-manual-update-root-Howto
Rooten - Token
So einfach ist das inzwischen nur leider nicht. Xiaomi scheint die Hürden etwas höher zu setzen mit der Zeit. Um eine Firmware draufzuspielen, braucht es das Token. Das Token wird freundlicherweise nach jedem Wlan-Reset erneuert. Eigentlich sollte man mit Python-miio das Token erhalten, aber irgendwie kam ich nicht drauf. Übrigens eine nette Möglichkeit Reinigungszeiten etc. über die API festzulegen - ohne App. Wenn man denn mal das Token hat.
Nachdem ich alle verschiedenen Varianten durchprobiert habe, an das Token zu kommen, bin ich fast verzweifelt. Entweder kamen lauter f's zum Vorschein - also Token schon vergeben, aber wird nicht angezeigt - oder es wurde gleich gar nicht angezeigt. Die Lösung brachte eine ältere Mi Home App für Android. Version 5.0.19 aufgespielt, den Robo hinzugefügt und dann ein Backup von com.xiaomi.smarthome mit adb gezogen. Dieses entpackt und siehe da, ich habe ein Token in der Datenbank! Im Gegensatz zu anderen Meldungen bin ich zumindest noch nicht aus dem Xiaomi-Account seitdem ausgeloggt worden.
com.xiaomi.smarthome ist auch an sich finde ich interessant. So sieht man, was alles gespeichert wird und wo noch Möglichkeiten von Xiaomi (und einem selbst) stecken.
Je nach App-Version hat man leicht unterschiedliche Ordner. Bei den neueren Versionen sind das a, db, ef, f, r und sp. a ist bei anderen App-Versionen nicht dabei.
Rooten - Firmware
Nächster Schritt: Firmware nachbauen, auf den Robo spielen, Cloudverbindung auf Raspi oder eigenen Server umleiten
Zukunftsmusik: spielen
Wie spricht man aber überhaupt Xiaomi aus? [Schaomi]
Neugierig wurde ich, als die ersten Tests für den Roborock Sweep One S50 auftauchten.
Zur Namensverwirrung: Roborock ist der Auftragshersteller für Xiaomi bei der ersten Generation des Saugroboters gewesen. Nun hat man sich offenbar dazu entschieden, unter eigener Flagge aufzutreten. Beide verwenden aber dieselbe App, Mi Home.
Der Roborock S50 ist somit der Nachfolger vom Xiaomi Mi und hat zudem eine Wischfunktion, die zumindest nicht komplett umsonst sein soll. Zudem soll der Robo laut Spezifikation Türschwellen von 2 cm schaffen, was als zusätzliches Kaufargument in der Wohnung zu sehen ist. Ansonsten sollen die Sensoren verbessert, aber ansonsten nicht zu viel geändert worden sein. Die Entscheidung fiel der Faulheit halber und auf Grund der Türschwellen auf den Roborock Sweep One S50.
Wer höhere Türschwellen hat oder sich für einen anderen Staubsaugroboter entscheidet, kann Schwellen bauen. Darauf hatte ich wenig Lust, wobei die Türschwellen alleine den Preisunterschied auch nicht rechtfertigen. Zum Vergleich: Deals für Gen1 gibts für 220 Euro aktuell, für die Gen2 muss man mindestens 350 Euro hinblättern. Hier kann ich nur empfehlen auf mydealz ein Angebot abzupassen und dabei gucken, ob der Robo aus einem europäischen Warenhaus kommt (CE-Zeichen oder bereits in Europa) und ob Zollgebühren anfallen. Da können gerne nochmals 50 Euro bzw. ohne CE-Zeichen Probleme mit dem Zoll hinzukommen. Ohne Deal zahlt man für den Robo zwischen 450 und 500 Euro. Warten und aufpassen lohnt sich also

Erster Eindruck
Ich war ganz verzückt, als nicht einmal eine Woche Lieferzeit endlich der Roborock ankam. Ausgepackt, geladen und angeschalten kam die nächste Verzückung: er spricht mit einer Frauenstimme Chinesisch! (Ach ja, die komplette Anleitung war auch auf Chinesisch, aber schön bebildert und damit Idiotensicher.) Mit der Orignalapp kann man übrigens die Stimme auf Englisch (weiblich) umstellen. Durch Deal kam er trotz europäischem Lager mit einem chinesischem Stecker, aber zumindest war ein Adapter dabei.
Unten befinden sich eine Bürste und rotierende Fühler, dazu ein Fach mit Staubtuch, in das man auch Wasser füllen kann für die Wischfunktion. Oben einen Behälter, in dem sich der Staub sammelt. Daneben befindet sich eine kleine Bürste - und der Reset-Knopf. Steuern kann man den Robo ganz einfach durch die oben liegenden Buttons oder durch die App, die ich später erkläre.
Zusätzlich geliefert wurden ein Ersatztuch, ein Ersatzfilter (für den Dreckbehälter) sowie die Ladestation (Ladedauer etwa 5 Stunden).



Weißer auf Hochglanz polierter Kunststoff ist vielleicht keine ideale Farbgebung (Schmutz sieht man ziemlich schnell), aber solange es tut. Am höchsten Punkt misst der Robo 9,5 cm und das Teil wiegt etwa 3,5 Kilo.
Verschiedene Sensoren sorgen dafür, dass der Robo halbwegs sicher durch die Wohnung navigiert. Am auffälligsten ist der 360° Sensor, der nach oben rausschaut. Weitere Sensoren (u.a.): Ultraschall- und Infratorsensoren, Gyroskop, Beschleunigungssensor und ein elektronischer Kompass. Er soll angeblich auch Treppen erkennen können! Ansonsten solide verarbeitet.
Saugen
Der Roborock fährt zunächst die Ränder des Zimmers ab, um anschließend das Innere mäanderförmig abzufahren. So geht er grob pro Raum vor, ein paar witzige Ausnahmen gibt es aber noch. Hindernisse erkennt er überraschend gut und fährt nur selten gegen Möbel. Navigieren kann er ebenfalls sehr gut und kommt so auch zwischen Stühle durch soweit es sein Durchmesser erlaubt. Dadurch saugt er bis auf die Ecken ziemlich gut alles weg. Auch Teppiche stellen kein Problem dar. Witzig kann es bei Türen werden, da er manche gerne schließt oder öffnet. Die Räume kann man aber auch einzeln saugen lassen. Zudem gibt es eine gründlicher Reinigen Funktion, wo er im kleinen Durchmesser um eine Stelle gründlicher saugt. 2 cm Schwellen schafft er, manchmal nicht auf Anhieb, aber er sucht sich eine Stelle, die ihm passt. Sind zu viele Haare in der Bürste verhangen, kann es auch sein, dass der Roborock streikt. Schnürsenkel können sich ebenfalls gut verheddern. Der Robo fährt übrigens auch im Dunklen, was ich schon mal ziemlich praktisch finde.
Für die Navigation nutzt der Robo die SLAM (Simultaneous Localization and Mapping)-Technologie, d.h. er erstellt für sich eine eigene Karte der Umgebung und erkennt in dieser seine aktuelle Position. Wenn er merkt, dass ihm der Saft ausgeht, fährt er zurück zur Ladestation. Der Akku reicht für eine mittelgroße Wohnung auf einmal, solange er voll geladen war (Zeit etwa 45-60 Min). Stresstest: 1 1/2 bis 2 Stunden schafft er im ausbalancierten Modus voll geladen. Im Werkszustand fährt der Sauger im Balanced-Modus, dem zweitleisesten Modus, der finde ich schon einiges wegsaugt. Nachfolgend die unterschiedlichen Modi mit der Lautstärke in dB, die man per App auswählen kann:
- Quiet: 66 dB
- Balanced: 68 dB
- Turbo: 69,5 dB
- Max: bis zu 75 dB
Der Behälter (knapp halber Liter) kann einfach geleert werden. Bürsten und Fühler sind etwas unpraktisch, wenn mehrere längere Haare aufgesaugt wurden, da man im Notfall die Haare mit der Schere oder einem Messer entfernen darf. Insgesamt bin ich zufrieden und überrascht wie intelligent er saugt. Minus für die Türen öffnen/schließen (kann man aber umgehen) und das verheddern von Haaren (Haare ab zählt nicht als Lösung).
Wischen
Man füllt den kleinen Behälter an der Unterseite mit Wasser (140 ml), ansonsten ändert sich nichts im Vergleich zu Saugen. Die Wohnung geht ebenfalls mit einer Ladung. So viel größer sollte sie aber nicht sein.
Wischergebnis: es ist nicht so gut, wie wenn man selbst wischt, da er nicht genug Druck aufbauen kann. Es reicht aber um leichtere Flecken wegzuwischen und es entstehen keine Streifen. Für die Grundsauberkeit also praktisch, Ränder und hartnäckige Flecken muss man weiterhin per Hand wegwischen. Den Behälter sollte man anschließend zusammen mit dem Staubtuch trocknen lassen. Am Boden liegende Kleidung wickelt er gerne auf und feuchtet diese dabei ein, aber mei, irgendwelche Nachteile muss es ja geben. Dafür ist die Wischleistung gering genug, dass die Teppiche nicht triefend nass sind (wenn man sie nicht vorher in Sicherheit bringt).
App
Die Grundfunktionen sind direkt am Robo verfügbar. Um beispielsweise Saugzeiten festzulegen, die Raumkarten zu sehen oder No-Go-Areas zu definieren, braucht es die Mi Home App von Xiaomi. Dafür muss man zwingend einen Xiaomi-Account erstellen und ihn in ein Wlan hinzufügen. Ein weiterer Grund, ihn mit dem Wlan zu verbinden ist, dass er ein offenes Wlan ausstrahlt (zumindest kann man damit nicht allzu viel anstellen, aber man will ja nicht, dass jemand anderer den Robo bedienen und über die App mehr Infos über die Wohnung bekommen kann). Hierfür wurde das Gästewlan mit einer Firewall eingerichtet.
Neben der offiziellen Xiaomi App kann man auch eine alternative App von Flole verwenden. Wir schauen uns beide kurz an.
In der Xiaomi App, die übrigens massig Berechtigungen will und ein schönes Mischmasch aus Englisch und Chinesisch spricht (Sprache auf Englisch einstellen, ansonsten ist noch mehr Chinesisch zu sehen!), muss man sich auf einen Standort der Server festlegen. Wechsel des Standorts bedeutet, dass man den Robo neu ins Wlan verbinden muss, da natürlich alle Daten auf dem ausgewählten Server liegen. Inzwischen gibt es Server in Europa, in die man sich einfach einwählen kann. Beim Einrichten des Wlans (man geht mit dem Smartphone in das Wlan des Robos, wählt dann das gewünschte Wlan aus, App richtet es beim Robo ein) kann es zu Timeouts kommen und die Einrichtung zickt gerne rum. Beim Standort Mainland China habe ich es leider trotz mehrerer Versuche nie geschafft. Also Europa... Nachdem der Robo erkannt und das Wlan eingerichtet ist, kann man auf die volle Palette an Funktionen zugreifen:
- Raumkarten anzeigen und mehrere Einstellmöglichkeiten dazu: Modus Go, Modus Zoned cleanup, Häufigkeit an Reinigungen in einem Bereich, No Go Zones usw.
- Erstellen von Timern für zeitgesteuertes Reinigen
- Einstellen der Saugkraft (Quiet, Balanced, Turbo und Max)
- Fernbedienung (Joystick oder klassisch)
- Anzeige der Betriebsstunden und Wartungsintervalle
- Möglichkeit, Ersatzteile zu kaufen (irgendwann)
Die Liste lässt sich fortsetzen und Xiaomi arbeitet auch daran.
Man kann nachdem der Robo gepaart und das Wlan eingerichtet ist, übrigens die meisten Berechtigungen der App entziehen, ohne dass es Probleme bereitet.


Server? Viele Daten? Daten können abwandern? Das sind Gründe, warum ich mir zumindest mal die App von Flole angeschaut habe. Leider kann man den Robo mit den Daten ID, IP und Token nicht manuell einrichten, sondern muss entweder die Daten aus der Xiaomi Mi Cloud importieren (geht nur mit Mainland China als Serverlokation, Problem siehe oben), das Paaring mit der App machen und anschließend das Wlan mit der Xiaomi Mi App einrichten (ganz ohne geht es nicht, wenn man das Wlan beim Einrichten resettet, muss das Paaring wiederholt werden) oder durch Import aus Google Drive (juhuu...). Nachdem ich bei den ersten beiden gescheitert bin, recherchierte ich zum Import. flc-Datei in einem bestimmten Format, wird aktuell nur nicht von der App erkannt, aber ich bleibe dran. Das würde ich gerne noch herzeigen. Funktionalität soll etwas eingeschränkter sein, aber für den alltäglichen Gebrauch reichen.
So schlimm sollte das aber nicht sein, denn ich wollte das Teilchen auch noch rooten.
Rooten - Links und sonstiges Lesematerial
Zu dem Thema findet man einige Links - mal mit besserer, mal mit schlechterer Beschreibung (und ja, Fehler sind teils auch enthalten):
Forum: http://www.roboter-forum.com/forumdisplay.php?130-Xiaomi
34c3 Talk: https://media.ccc.de/v/34c3-9147-unleash_your_smart-home_devices_vacuum_cleaning_robot_hacking
dazu die Seite: http://dontvacuum.me
wer mehr über die Kommunikation wissen will: https://github.com/dgiese/dustcloud/blob/master/presentations/Recon-BRX2018/recon_brx_2018-final-split.pdf
github: https://github.com/dgiese/dustcloud
Telegram-Channel: https://t.me/joinchat/Fl7Mm0iEV7Pgf9ngDyly-g
IRC-Channel: #dustcloudproject
Nette Zusammenfassung: https://kaeni.de/hack-des-xiaomi-mi-vacuum-robot-gewaehrt-brisante-einblicke/
Python-miio: https://github.com/rytilahti/python-miio
Mi Toolkit mit deutscher App und weiteren netten Sachen: https://github.com/ultrara1n/MiToolkit
Anleitung zum Rooten selbst: https://github.com/dgiese/dustcloud/wiki/VacuumRobots-manual-update-root-Howto
Rooten - Token
So einfach ist das inzwischen nur leider nicht. Xiaomi scheint die Hürden etwas höher zu setzen mit der Zeit. Um eine Firmware draufzuspielen, braucht es das Token. Das Token wird freundlicherweise nach jedem Wlan-Reset erneuert. Eigentlich sollte man mit Python-miio das Token erhalten, aber irgendwie kam ich nicht drauf. Übrigens eine nette Möglichkeit Reinigungszeiten etc. über die API festzulegen - ohne App. Wenn man denn mal das Token hat.
Nachdem ich alle verschiedenen Varianten durchprobiert habe, an das Token zu kommen, bin ich fast verzweifelt. Entweder kamen lauter f's zum Vorschein - also Token schon vergeben, aber wird nicht angezeigt - oder es wurde gleich gar nicht angezeigt. Die Lösung brachte eine ältere Mi Home App für Android. Version 5.0.19 aufgespielt, den Robo hinzugefügt und dann ein Backup von com.xiaomi.smarthome mit adb gezogen. Dieses entpackt und siehe da, ich habe ein Token in der Datenbank! Im Gegensatz zu anderen Meldungen bin ich zumindest noch nicht aus dem Xiaomi-Account seitdem ausgeloggt worden.
com.xiaomi.smarthome ist auch an sich finde ich interessant. So sieht man, was alles gespeichert wird und wo noch Möglichkeiten von Xiaomi (und einem selbst) stecken.
Je nach App-Version hat man leicht unterschiedliche Ordner. Bei den neueren Versionen sind das a, db, ef, f, r und sp. a ist bei anderen App-Versionen nicht dabei.
- db: Datenbanken halt, mit geofencing.db, logdb.db, miio.db, miio2.db, mistat.db, phone_num3.db, roborock_rubys.db, ua.db miio2.db enthält u.a. die ID, Firmware Version, IP, Modelname, Koordinaten, Name des Robos (selbstgewählt), MAC-Adresse, SSID und Token.
- f: Settings für die Kommunikation mit .io.mi.com, Zertifikate, Signaturen für die eigene Überprüfung, Authtoken für die Passportapi usw.
- sp: einige XMLs, wie zukünftige Verbindung mit Facebook, Statistiken, die wohl an Xiaomi gehen (wie App-Version) und Konfigs für die App
Rooten - Firmware
Nächster Schritt: Firmware nachbauen, auf den Robo spielen, Cloudverbindung auf Raspi oder eigenen Server umleiten
Zukunftsmusik: spielen
