Root-Zugriff auf Xiaomi Mi Vacuum Robot & Roborock S5


  • Hi,
    ich bin ebenfalls neu hier. Ich habe exakt (wie in der PM schon mitgeteilt) die selben Symptone wie du, konnte aber den php Fatal Error eliminieren.

    In der vom Fehler genannten show.php wird "mysqli->insert" benutzt. Die Funktion kennt php-mysqli nicht. Du musst das mit mysqli->query ersetzen:


  • Danke für die Info.
    Was ich raus bekomme ist folgendes:


    Für die Hosts Datei brauche ich aber ja DNS Namen.. Wie bekomme ich die denn?

    Ich habe herausgefunden, dass folgende Domains zu diesen IPs gehören:


    ott.io.mi.com

    ot.io.mi.com


    Nachdem ich diese in der /etc/hosts Datei umgeleitet habe füllt sich die miii.log alle fünf Sekunden mit folgender Fehlermeldung:


    Quote

    [20180912 12:58:48] [WARNING] server ip(127.0.0.1), my ip(127.0.0.1), we might be using a buggy router.

    [20180912 12:58:48] [WARNING] server ip(127.0.0.1), my ip(127.0.0.1), we might be using a buggy router.

    [20180912 12:58:48] [WARNING] no server detected.

    [20180912 12:58:48] [WARNING] internet connection failed


    Jetzt benötige ich noch ein Lösung, dass mir der Speicher nicht voll läuft ^^


    EDIT sagt: Nach dem Blocken dieser Domains kann ich leider auch den Roboter nicht mehr mit Valetudo steuern. Sehr merkwürdig...

    Edited 2 times, last by Matrab ().

  • Naja, du sollst die ja auch nicht auf die 127.0.0.1 umbiegen. Siehe Anleitung zu Dustcloud. Du brauchst eine offizielle IP (also auch nicht aus 192.168.0.0/24. Diese IP kannst du dann via iptables gerne auf eine lokale IP umbiegen, aber erstmal muss es eine aus einem externen Netz sein.

    Steht alles in der Installationsanleitung von Dustcloud.

  • Hallo Stef.73. Ja das habe ich im Nachhinein auch noch mal gelesen gehabt. Ich würde aber gerne auf Dustcloud verzichten wollen und stattdessen Valetudo nutzen. Hypfer schreibt in seinem Thread ja auch, dass er Valetudo geschrieben hat, um kein Dustcloud installieren zu müssen. Ich frage mich nun aber, wie ich die beiden Domains ohne Dustcloud nun genau umbiegen muss. Hierfür habe ich Hypfer in dem anderen Thread auch schon gefragt.

  • Ich denke das wird so nicht gehen. Eventuell kann man ja eine "dustcloud-light" direkt auf dem robbie laufen lassen. ohne SQL-Log, ohne Map-Funktion, ohne command-server, einfach nur die erforderlichen PING-Antworten, die der miio_client erwartet. Nur ist leider kein python auf dem Teil. Aber apt geht ja :).

  • Hallo alle Zusammen,


    habe jetzt schon viel gelesen über den root zum Sauger.

    Allerdings bin ich noch nicht ganz "eins" mit der Sache.

    Kann mich vielleicht jemand per TeamViewer durch die Sache bringen ?


    Gruß

    Kevin

  • Ich denke das wird so nicht gehen. Eventuell kann man ja eine "dustcloud-light" direkt auf dem robbie laufen lassen. ohne SQL-Log, ohne Map-Funktion, ohne command-server, einfach nur die erforderlichen PING-Antworten, die der miio_client erwartet. Nur ist leider kein python auf dem Teil. Aber apt geht ja :).

    Doch funktioniert und hier ist beschrieben wie: https://github.com/Hypfer/Valetudo/tree/master/deployment


    Hatte diese Info nicht sofort gefunden, da in der README nichts davon steht.

  • Sicher? Das Problem ist ja, das der miio_client die Zusammenarbeit verweigert, wenn er seine cloud nicht erreicht. Und die Sachen die dort beschrieben sind, sperren den Zugriff zu den cloud-Servern.


    Gruß Stef

  • Mittels Valetudo lässt sich mein Sauger wunderbar steuern. Auch mit den oben genannten Firewallregeln. Ich habe lediglich die letzte Regel (iptables -A OUTPUT -j DROP) entfernt, um auch per apt Updates einspielen zu können. netstat -tup zeigt keinerlei Verbindung ins Internet an.

  • Hallo,


    Danke - klappt wunderbar.


    Kann man irgendwo im System Ereignisse abfangen, um Änderungen des Zustands mizubekommen?


    Würde den Sauger gern via mqtt einbinden, aber nicht ständig pollen, wie der Zustand ist.


    Lars

  • Hi Kevin,

    das ist die richtige und originale. Genauer die https://dustcloud.seemoo.de/pu…2/original/v11_001518.pkg

    Das ist die aktuellste, die als pkg-Datei vorliegt. Es gibt wohl eine 1632, aber die wird gerade erst ausgerollt.

    Du musst mit der firmwarebuilder.sh wie unter https://github.com/dgiese/dust…-manual-update-root-Howto beschrieben (Abschnitt Instruction on Linux) die FW bauen und dann mit der flasher.py hochladen.


    VG Stef

  • Okay Danke,

    der Flash ist jetzt drauf..... Installiert gerade.

    Kann ich den Roboter jetzt wieder mit dem Normalen WLAN verbinden ? und ist der dann über SSH erreichbar ?

  • Du brauchst den private key, denn du bei der erstellung der firmware verwendet hast, und die ip des Robbies am Router.

    Gruß Stef


    (Genauer: den private key zu dem public key, den du verwendet hast)