Saugroboter (xiaomi-mi-robot-vacuum) Token auslesen

  • Da "ich" es relativ kompliziert finde auch mit den bereits vorhandenen Informationen im Netz den benötigten Token für die Einbindung des Xiaomi Saugroboter in Homebridge auszulesen, habe ich nach meinem erfolgreichen Versuch mal eine kleine Anleitung erstellt wie es bei mir funktioniert hat:


    Variante 1:


    1.) Saugroboter im Wifi über die Xiaomi miHome App einbinden.


    2.) Unverschlüsseltes iTunes Backup auf den Computer kopieren


    3.) Mit http://www.imactools.com/iphonebackupviewer/ Free Installieren und das oben erstellte Backup öffnen


    4.) Über das Icon Raw Datei den Ordner (AppDomain-com.xiaomi.mihome) öffnen



    5.) Die Datei (Documents/1719973717_mihome.sqlite) Exportieren und mit einem Text Editor öffnen.

    "Bin mir nicht sicher ob die Zahlen Kombination im Dateinamen überall gleich ist"




    6.) Token mit 96 Stellen auslesen.




    7.) Token Entschlüsseln da dieser in der neuesten Firmware 96-Stellig anstatt 32-Stellig ist.


    Das extrahierte 96-Stellige Token aus dem iOS-Backup lautet als Beispiel:


    16a935db276e19b1c7bef0739f2deb7d3aca43c5e26a3c6445351cb2fb8495ea0143db63ee66b0cdff9f69917680151e


    Über die Seite http://aes.online-domain-tools.com kann das Token zu diesem 32-Stelligen Token decodiert werden:


    4a447a41467058496746505541597033


    Dabei sind folgende Einstellungen zu verwenden:


    573-token-decode-png

    8. Token in die Config eintragen.


    9. Fertig





    Variante 2:


    Auslesen des Token mit einem RasPi3:


    1.) Am Robo blinkt die blaue LED Wlan Led


    2.) wicd-curses installieren und starten


    Code

    1. sudo apt install wicd-curses
    2. wicd-curses

    Bevor wicd-curses nun aber überhaupt funktioniert, muss in den Einstellungen des Programms den Dhcp-Client anpassen,.


    3.) Öffnet dazu mit [Shift]+[P] die Einstellungen und wechselt mit [Pfeil-rechts] in den „Reiter“ Externe Programme — dieser ist recht leicht zu übersehen.


    In diesem wählt ihr dann die Option dhclient an und speichert die Einstellung mit [F10].


    Arbeitet ihr via SSH mit dem RasPi, dann wird die Funktionstaste etwas in der Terminal-App auslösen und die Eingabe nicht zum entfernten Rechner übertragen. Bei Bedarf könnt ihr aber die blauen Flächen quasi wie Buttons einer GUI auch einfach mit der Maus anklicken und so eure Konfiguration abspeichern .


    5.) Im Hauptmenü das WLAN vom Robo mit Enter bestätigen, dadurch verbindet sich der Raspi mit dem WLAN vom Robo.


    6.) Mit Alt+F2 zweite Konsole aktivieren und mit pi anmelden.

    starten von:


    Code

    1. miio --discover --sync

    (Mit "miio --discover --sync > token.txt" wird es in eine Tetdatei umgeleitet.)


    danach sollte so etwas erscheinen:

    Code

    1. INFO Discovering devices. Press Ctrl+C to stop.
    2. Device ID: 64610661
    3. Model info: Unknown
    4. Address: 192.168.8.1
    5. Token: 346b3xxxxxxxxxx73xxxxx262xxx14d via auto-token
    6. Support: Unknown


    7.) Nun den Token in die config.json eintragen.


    8. Fertig



    det und Stylewalker danke für eure Beiträge und Hinweise!




    Viel Spass damit!


    Gruß Nastra

  • Klingt ja schon wieder abenteuerlich das ganze. Aber danke für die Anleitung. Es verkürzt das warten ;)


    Und jetzt ist der robi drin? Wie sieht das ganze jetzt aus?

    Wer nicht mit der Zeit geht, muss mit der Zeit gehen 8o

  • Cool danke Nastra ! Warte noch auf den Sauger, dann versuche ich das ganze mal.

  • Zitat

    Nastra hast du mit Versandversicherung bestellt? Kann das anklicken und kostet 6 Euro.

    Ne habe ohne Bestellt, hab ich garnicht gesehen das es die gibt =O ist ja zum Glück trozdem angekommen.


    Dann ist ja alles Gut, ich gehe auch mal davon aus das es trozdem passt. Sollte ja auch nur als Hinweis für die anderen und für zukünftige Bestellungen sein ;)


    Hier ein erster Erfahrungsbericht:


    Ja er spricht Englisch, obwohl Chinesich auch lustig gewesen ist. Einmal Ente Süßsauer wird gestartet ?


    Ich kann die ganzen Test im Netzt eigentlich nur untermaueren, der Roborter macht einen sehr guten und sauberen Job. Wirkt sehr wertig. Er holt obwohl es augenscheinlich sauber ist trozdem noch Dreck vom Boden. Fährt sehr Koordiniert die Räume ab.


    Was mir aufgefallen ist das er manchmal etwas ruckelt bei auf dem Fliesenboden hört sich an wie ein radieren der Gummireifen bin mir da nicht ganz sicher wo dran es liegt oder ob es normal ist. Vielleicht kann vek030 dazu noch was sagen?


    Homebridge Anbindung funktioniert auch, nachdem es mit dem Token klappt was will man also mehr für den Preis?


  • Bei mir klappt das irgendwie nicht. Habe den Token wie hier beschrieben extrahiert...


    Code
    1. {
    2. "accessory": "MiRobotVacuum",
    3. "name": "Vacuum Cleaner",
    4. "ip": "192.168.178.27",
    5. "token": "7a61354c674b55717650743642577463"
    6. }

    Ich erhalte aber beim Starten einen Fehler


    Und


    Kann mir hier jemand helfen?


    Viele Grüße

    Daniel

  • Da scheint was beim Installieren des Plugin falsch gelaufen zu seien. Deinstallier es nochmal:

    Code
    1. sudo npm uninstall -g homebridge-xiaomi-mi-robot-vacuum miio

    und Installier es nochmal hiermit vieleicht klappt es ja dann:


    Code
    1. sudo chown -R $USER /usr/local && npm install homebridge-xiaomi-mi-robot-vacuum miio -g

    hat meiner ansicht nach aber nichts mit dem Extrahieren des Token zu tuen.

  • Was macht der Befehl ?

    Code
    1. Chown -r user$

    Wer nicht mit der Zeit geht, muss mit der Zeit gehen 8o

  • Umgeht die Schreibrechte. Steht auch in der Befehlssammlung.

  • Da scheint was beim Installieren des Plugin falsch gelaufen zu seien. Deinstallier es nochmal:

    Code
    1. sudo npm uninstall -g homebridge-xiaomi-mi-robot-vacuum miio

    und Installier es nochmal hiermit vieleicht klappt es ja dann:


    Code
    1. sudo chown -R $USER /usr/local && npm install homebridge-xiaomi-mi-robot-vacuum miio -g

    hat meiner ansicht nach aber nichts mit dem Extrahieren des Token zu tuen.

    Danke, habe es jetzt 3 mal Versucht. Leider immer wieder die Fehlermeldung mit dem Token.

    Vielleicht hast du ja noch ne Idee, sonst mach ich nen separaten Thread auf.


    Hier nochmal meine Config



    Und die Zeilen aus dem Backup:


  • Mhhh, da muss ich jetzt auch passen. Bin aber immer noch der auffassung das es nichts mit dem Token zu tuen hat da die zweite Fehlermeldung aussagt das dein Plugin nicht erkannt wird.


    Dieses Problem hatten wir schon bei mehreren Plugins, bisher hat es eigentlich mit dem Befehl geklappt die Schreibrechte zu umgehen das es dann doch Installiert wird.


    Welche node, npm und Homebridge Version hast du Installiert?

  • tuhe nochmal deinstallieren

    und dann einzeln installieren, ob da eine Fehlermeldung kommt.

    Code
    1. sudo chown -R $USER /usr/local && npm install miio -g
    2. sudo chown -R $USER /usr/local && npm install homebridge-xiaomi-mi-robot-vacuum -g
  • Ich habe ein Update, Upgrade, npm update und firmware-update gemacht. Jetzt funktioniert es. Vielen Dank!

  • Freut mich!?

  • Muss ich für den Robo eigentlich beide Plugins haben? homebridge-miio und homebridge-xiaomi-mi-robot-vacuum ?

  • Das homebridge-xiaomi-mi-robot-vacuum ist mir ja klar, aber wofür benötige ich das Miio ?

  • Okay, was kann ich dann alles steuern?

  • Sagt mal funktioniert die hier beschriebene Vorgehensweise für den Token nicht?


    https://www.npmjs.com/package/…ge-xiaomi-mi-robot-vacuum

    Wer nicht mit der Zeit geht, muss mit der Zeit gehen 8o