Anfrage: Xiaomi Vacuum Cleaner Modul

Hallo,

mittlerweile gibt es die Möglichkeit den Sauger zu „rooten“, habe ich selber gestern Abend mal durchgeführt. Ist allerdings, obwohl es mehrfach beschrieben ist, trotzdem etwas aufwändig.

Der Urheber des „root’s“ hat seine Erkenntnisse auf dem CCC-Event Ende 2017 präsentiert. Er ist auch gerade dabei ein Art „Xiaomi Cloud“ nachzubauen, die „Dustcloud“. Damit wird der Sauger nicht mehr nacht China kommunizieren, das tut er nämlich gerne und viel (SSID, WLAN-Passwort, sonstige Daten …)

Hier der Link zum GitHub-Repo:
GitHub - dgiese/dustcloud: Xiaomi Vacuum Robot Reverse Engineering and Hacking

Falls sich jemand dran versuchen will kann ich ggfs. behilflich sein.
Was man davon hat? root :wink: Der ssh-Server wird aktiviert und die Saugerfirmware lässt sich verändern. Deutsche Stimmen können installiert werden und ggfs. können sogar die v2 Features auf die V1 portiert werden.

ausserdem kann man ein für alle Mal den Hardwaremäßig vergebenen Token auslesen…

Mal schauen…vielleicht ja ein MQTT-Client :smiley:

Gruß

Hallo,

ich überlege mir ebenfalls einen Saugroboter zu kaufen.
Ich habe allerdings die ‚verrückte‘ Idee ihm eine "Garage zu bauen.
Vor einer alten Wand, in der ich ein Loch gesägt habe, wird eine Trockenbau Wand gebaut.
Jetzt würde ich unten, vor der Öffnung ein Loch lassen, in dass dann der Roboter fahren könnte.

Die Frage an euch: Könnte das mal einer testen?? Also z.B. einen Karton nehmen, dort ein Loch rein schneiden und ihn über die Ladestation stellen. Findet der Roboter dann den Weg noch wieder zurück etc. ?

Wäre wirklich interessant zu wissen…

(Habe mal ein Foto angehängt)

Grüße

Das spannendste fände ich die Möglichkeit deutsche Stummen zu nutzen. Vielleicht ist ja noch jemand am Wochenende in Lübeck beim Event mit so einem Gerät und man kann sich dazu mal austauschen.

Hier ist das bestens beschrieben, mittlerweile sogar ohne zu rooten und unter Windows…
Meiner spricht mittlerweile Deutsch / Polly :wink:
http://www.roboter-forum.com/showthread.php?25361-Win-mirobo-Eigene-Sprachpakete-installieren

Danke schaue ich mir mal an. Steuerst Du Deinen inszwischen direkt über PHP aus IP-Symcon herraus? An dem Punkt hatte ich noch keine Zeit das umzustellen, meiner wir noch über Python gesteuert, für das Modul müsste das aber noch auf PHP umgestellt werden. Falls Du da Code hast kannst Du mir den zukommen lassen?

Hi,

ne, im Augenblick steuere ich den noch garnicht. Ich versuche derzeit den lokal über einen MQTT-Client zu steuern, bin aber erst am Anfang…

Sobald ich was neues habe melde ich mich!

Gruß

Hi,
Ich habe das erstmal provisorisch gelöst indem ich ein Teil der Abdeckung unterm Kühlschrank entfernt habe, darunter steht die Ladestation, funktioniert problemlos!

Gruß

Gesendet von iPhone mit Tapatalk

Super. Vielen Dank für die Info. Auch eine coole Idee ihn unter der Küche zu parken :slight_smile:

Dann wird das mit dem Loch ja funktionieren. Trockenbauer setzt heute die Wand, bzw. erst mal die Ständer - das Loch für den Roboter ist schon eingeplant.

Grüße

Ich habe mir das mal näher angeschaut habe aber Probleme mit dem Token. Mein Token hat eine Länge von 96, da spukt das win mirobo Skript einen Fehler aus. Du weist nicht zufällig wie bzw. was man anpassen müsste damit das geht?

So wenn man den 96 Token umrechnet in den 32 Token, dann lassen sich auch deutsche Sprachdaten aufspielen, jetzt muss ich das Gleiche nur noch in PHP machen. Mühsam ernährt sich das Eichhörnchen, wird aber hoffentlich noch.

Wer sich einen kostenlosen Gitlab Account anlegen will oder bereits einen besitzt, der kann sich bei mir per PM melden mit den Usernamen für Gitlab. Ich kann dann ein Beta Repository zum Testen freischalten.

Hi,
Ich bin leider bedingt durchs Studium erst ab März wieder an meinem Zweitwohnsitz wo der Roboter steht, dann teste ich gerne!

Gesendet von iPhone mit Tapatalk

Keine Eile, momentan gibt es so oder so noch Probleme mit dem Socket bzw. der Kommunikation, den Fehler muss man erst mal einschränken und beheben.

Es scheint momentan zunehmend schwerer zu werden an den Token zu kommen. In den neuen App Versionen MiHome 5.1.1 ist der Token nicht mehr lokal gespeichert. Der lässt sich also nur noch mit 5.0.19 auslesen. Mal sehen wie sich das weiter entwickelt.

Er lässt sich also auch nichtmehr aus dem Backup auslesen (iPhone)?

Gesendet von iPhone mit Tapatalk

Das habe ich noch nicht kürzlich probiert, das ging noch mit der Version die ich genutzt habe. Ich gehe aber davon aus das dies Xiaomi auch durch ein Update anpassen wird. Leider kommt man bei IOS ja nicht an ältere Versionen ran, aus dem App Store wird ja immer die aktuelle Version gezogen, so dass dies dann Probleme machen könnte.
Für Android kann man die Version 5.0.19 nutzen
Mi Home 5.0.19 (Android 4.0.3+) APK Download by Xiaomi Inc. - APKMirror
damit ist noch ein Auslesen des Tokens möglich.

Da mein Roborock bereits seit 15 Tagen unterwegs ist sollte er bald ankommen. Hätte vorab schonmal eine Frage bezüglich des Tokens. Ist das ein fester Token oder ändert der sich. Und falls er sich ändert wann genau. Bei WLAN wechsel oder sporadisch?
Gruß

Gesendet von iPhone mit Tapatalk

Der Token ist fest, dieser ändert sich nur wenn das Gerät in ein neues WLAN gehängt wird bzw. in den Werkszustand versetzt wird, so lange da nichts geändert wird bleibt also alles beim alten, der Token muss nur einmal hinterlegt werden.
CodeKing hat auch einen Sauger und wollte sich das mal näher anschauen ob es eventuell irgendeine Möglichkeit gibt den Sauger nicht mit der App in Betrieb zu nehmen, sondern initial den Token in IP-Symcon abzuholen. Wir werden sehen ob es dafür eine Lösung gibt. Ansonsten wenn man den Token hat funktioniert auch die Kommunikation.

Hallo,

erstmal vielen Dank für die schnelle Freigabe des Moduls.
Nach einigen Problemen mit dem verbinden des Roborocks musste ich ein Änderung im Skript durchführen.
Problem ist das mein Roborock in einem anderen Subnetz ist (Mesh Netzwerk) und dieser ein an Pingen nicht erlaubt. Sodass ich immer den Fehler bekam dass die IP des Saugers nicht richtig sei. Ich habe deinen Ping Befehl einfach auskommentiert. Danach lief es ohne Probleme.

Ich muss sagen HAMMER Modul, es funktioniert einwandfrei.
2 Dinge hätte ich jedoch anzumerken.

1.Die Ausgabe im Log ist ein wenig lästig. Da alle 15 Sekunden 26 Einträge gemacht werden mit folgendem Inhalt:
23.02.18 00:14:23 | VariableManager | [RoborockIO (Roborock #36204)\Last Message ID] = 7644

  1. Entweder habe ich die Fernbedien-Funktion aus dem Webfront noch nicht verstanden oder sie ist fehlerhaft.
    Drücke ich auf den Button „Start“ startete zwar Roborock das Saugen doch schaltet er nach gefühlt 4 Sekunden wieder ab.
    Bewegen konnte ich ihn mit dieser Funktion noch nicht.

Grüße tasmanie

Gut müssen wir mal schauen wie man so Sonderfälle berücksichtigt.

Das freut einen zu hören dann können wir ja bald über einen Release nachdenken. Das das alles funktioniert hat man unter anderem auch CodeKing zu verdanken, der sich stark eingebracht hat und insbesondere die Kommunikation mit dem Sauger noch mal deutlich verbessert hat.

Ja das ist bekannt, hier müssen wir schauen ob es irgendeine andere Lösung gibt. Das Problem ist das die MessageID persistent gespeichert werden soll, das geht nur mit einer Variable. Ob man das gleiche auch mit einem Buffer lösen kann müssen wir noch mal schauen.

Remote Control ist noch nicht ganz fertig, das kann ich selber erst am Wochenende anschauen, da kennt sich aber CodeKing mit aus, er hat das eingebaut.
Ansonsten fehlen ja auch noch ein paar Sachen, die kann man ja auch noch später ergänzen, Hauptsache die wesentlichen Dinge lassen sich alle steuern und visualisieren.