Skip to end of metadata
Go to start of metadata

Zur Kommunikation mit dem Robot muss ein sogenannter Token ermittelt werden, der für jegliche Kommunikation mit dem Robot verwendet wird. Der Token muss aus der Original-Mi Robot App ausgelesen werden.


Achtung

Es kann durchaus sein, dass sich der Token einmal ändert. z. B. wenn der Robot resettet wird oder nach einem Firmware-Update. Wenn die Kommunikation mit dem Robot gestört ist oder nicht funktioniert, dann sollte man zunächst den Token überprüfen.


Auslesen des Token für iOS Geräte

Hinweis

Unter iOS ist der Token in der App mittlerweile verschlüsselt. Das kann man daran erkennen, dass der Token 96 Zeichen lang ist. Ein unverschlüsselter Token ist lediglich 32 Zeichen lang. Viele alte Anleitungen im Netz berücksichtigen diese Verschlüsselung noch nicht! Im Plugin müsst ihr unbedingt einen unverschlüsselten (d. h. 32 Zeichen langen) Token verwenden! Daher empfehle ich Euch nach dieser Anleitung hier vorzugehen.


Zunächst müsst ihr die iOS-App für Euren MiRobot installieren. Die App heisst "Mi Home" und findet sich im AppStore. Eine Anleitung zur Einrichtung der App findet sich hier: https://www.iphone-ticker.de/ausprobiert-xiaomi-mi-roboter-staubsauger-mit-app-bedienung-114523/

Jetzt müsst Ihr ein unverschlüsseltes Backup Eures iOS-Gerätes mit iTunes anlegen. Mit dem Backup werden auch die Daten der Mi Home App mitgesichert, aus denen wir den Token dann extrahieren müssen. Nachdem ihr das Backup erzeugt habt, installiert ihr die kostenlose Software iBackup Viewer: http://www.imactools.com/iphonebackupviewer/

Startet nun iBackup Viewer und wählt euer iOS Device im Startbildschirm aus. Jetzt geht ihr auf das iCon für "Raw Files" (das Symbol zeigt einen Verzeichnisbaum). Im linken Fenster scrollt ihr Euch runter bis zum Eintrag "AppDomain-com.xiaomi.mihome" und wählt diesen aus. Im rechten Fenster sucht ihr jetzt den Einträge "Documents/17xxxxxxxx_mihome.sqlite" (xxxxxxxx variiert). Ihr könnt dazu per Klick auf das "Name" Feld nach diesem Feld sortieren oder ihr verwendet die Suche oben rechts. Wenn ihr den Eintrag gefunden habt markieren und oben rechts auf "Exportieren" klicken.

Die exportierte Datei schiebt ihr jetzt per Windows Explorer auf Euren LoxBerry (z. B. ins Verzeichnis /opt/loxberry/webfrontend/html/tmp) oder ihr benutzt dazu WinSCP.

Jetzt müsst Ihr Euch per Putty auf dem LoxBerry einloggen. Auf der Kommandozeile müsst ihr nun folgenden Befehl eingeben:


COMMAND  miio-extract-tokens /opt/loxberry/webfrontend/html/tmp/17xxxxxxxx_mihome.sqlite


Die Ausgabe sieht wie folgt aus:

loxberry@loxberry:~ $ miio-extract-tokens /opt/loxberry/webfrontend/html/tmp/1765602737_mihome.sqlite
INFO:miio.extract_tokens:Reading database from /opt/loxberry/webfrontend/html/tmp/1765602737_mihome.sqlite
INFO:miio.extract_tokens:Reading tokens from Apple DB
Saugi WoZi
Model: rockrobo.vacuum.v1
IP address: 192.168.3.40
Token: 354e6b4f447893562c5675497a354938
MAC: 34:CE:00:EB:71:64


Den Token jetzt per Copy&Paste im Plugin eintragen (unter Putty markiert ihr einfach den Token und er wird automatisch in der Zwischenablage gespeichert).

  

Auslesen des Token für Android Geräte

Seit der Verschlüsselung der Mi Settings (und gerade dann wenn auch euer Android-Handy verschlüsselt ist) funktioniert bei mir nur folgende Methode (alle Anleitungen vor Frühsommer 2018 sind unbrauchbar!):

  1. alte Mi Home Version deinstallieren
  2. Mi Account Login-Passwort auf der Mi Homepageseite temporär ändern (zur eigenen Sicherheit)
  3. im Internet nach geänderter MiHome_5.6.10_vevs.apk Datei suchen (Stand: 26.10.2019; beim Download kein Benutzername; die 6 Ziffern dahinter sind das Passwort) und herunterladen
  4. installieren der apk Datei (Installation von Dateien aus unbekannten Quellen muss zugelassen sein am Handy)
  5. Login in der gerade installierten App (Server muss unbedingt der ausgewählt werden, den ihr auch zuvor hattet, sonst werden die Geräte nicht automatisch wieder erscheinen; hattet ihr also zuvor den Server "Mainland China" dann auch jetzt diesen auswählen)
  6. warten bis der Staubsaugerroboter angezeigt wird, auf diesen klicken um diesen einmalig zu initialisieren
  7. dann zurück auf die Xiaomi App Hauptseite zurückgehen und unten rechts auf Profil klicken
  8. dann im Profil auf ´Teilen´ (geteilte Geräte) klicken
  9. dann auf ´Share this device´
  10. in der Zeile unterhalb des Staubsaugerrobotersymbols sieht man dann den Token des Staubsaugers (lange auf Nummer klicken, dann wird sie in den Zwischenspeicher kopiert und ihr könnt sie per E-Mail an euch versenden o.ä.)
  11. geänderte MiHome App wieder deinstallieren
  12. Mi Account Login-Passwort auf der Mi Homepageseite wieder zurückändern
  13. offizielle MiHome App wieder installieren


Alternativ:

  1. Install an older version of the smartphone app. Version 5.0.19 works for sure with the 1st gen Vacuum Robot, for the 2nd gen (S50) you should try version 3.3.9_5.0.30
  2. Setup your Android device with the Mi Home app
  3. Enable developer mode and USB debugging on your phone and connect it to your computer
  4. Get the ADB tool for Windows: https://developer.android.com/studio...orm-tools.html
  5. Create a backup of the Mi Home app: .\adb backup -noapk com.xiaomi.smarthome -f backup.ab
  6. On your phone you must confirm the backup. Do not enter any password and press button to make the backup
  7. Get ADB Backup Extractor and install it: https://sourceforge.net/projects/adbextractor/
  8. Extract all files from the backup on your computer: java.exe -jar ../android-backup-extractor/abe.jar unpack backup.ab backup.tar
  9. Unzip the ".tar" file
  10. Open /com.xiaomi.smarthome/database/miio2.db with a SQLite browser (for instance http://sqlitebrowser.org/) - Execute the query "select token from devicerecord where localIP is '192.168.0.1'" where you replace the IP address with the IP address of the Mi Home device you want to get the token from. It will show you the 32 character device token for your Mi Home device.


 Diese Anleitung kann für das Auslesen des benötigten Tokens genutzt werden. Eine Alternative zum Auslesen des Tokens über eine Android-Software und Reset des Robots gibt es in dieser Anleitung.

  • No labels