Neue/unbekannte Geräte:Russische App zur Datenanalyse:
https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fwww.kapiba.ru%2F2017%2F11%2Fmi-home.htmlVerzeichnis /sdcard/vevs/logs auf dem Telefon anlegen und neu starten
Dann sollte die App alle Kommandos mitloggen, d.h. alle Funktionen einmal bedienen und dann dort ins Log schauen
------------------
Hier eine Anleitung von reddit, die für alle Geräte funktionieren sollte:
- For the vacuum to be updated on the emulated android, your phone and the emulator must share server, e.g. region. If you, like me, are from Europe, this wasn't an option back in Mi Home 5.0.0. The first thing to do is to change your app location to someplace that the emulator also can connect. I went with "Other". Obs: You have to reconnect the vacuum as part of this process, which also gives it a new token.
- Now time to emulate. I used this one: https://www.memuplay.com/ Download and install.
- Download a downgraded version of Mi Home: https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/
- Open Memu. In the black bar on the right hand side, click the "Install APP" icon (the one with apk on it). Find the downgraded Mi Home that you just downloaded.
- When it finishes installing, open the app and sign in to the same user as on your phone. Make sure to choose the same region. If the same region is not available, you have to redo step 1. When the vacuum loads as active and you can open it and see the map, you have done it right.
- Now close the app (small circle at the right hand black menu). Click on memu's setting icon (gear symbol on the right side). Under the tab "Others", Enable Root Mode. This will restart the emulator.
- Open the Memu's File Manager. Click the Hamburger to open the left side panel, go to setting (gear at bottom), General Settings, and change Access Mode to Root.
- You now have access to the Root Folder. Click on it, and go to /data/data/com.xiaomi.smarthome/databases and select miio2.db. Keep this file selected.
- We now want to copy this to a folder that is shared between the emulator and your computer. By Default, you can find one of these in the emulator at Home/sdcard/Download . The corresponding folder on your computer has been created by Memu in your Download-folder on Windows, called "MEmu Download". To see other Shared folders, click on "Shared folder" on the right hand side in Memu. Copy miio2.db here by clicking the symbol with small squares in the top bar of the File Manager.
- Now you have the database. Last thing to do, is to get some program that runs SQL and get your token. I used http://sqlitebrowser.org/ . Download and install.
- Open "DB Browser for SQLite", and click "Open Database". Locate miio2.db on your computer.
- Go to "Execute SQL"-tab, and write: "select token from devicerecord where localIP is '192.168.0.1'" Change 192.168.0.1 with you vacuum's IP address. Run the code with the blue-play button, and you have your token.
MiHome Versionen ab September 2017 verschlüsseln den Token in der DB, sollte das Auslesen nicht klappen könnt ihr auch eine ältere Version der App ausprobieren.
-
Android Version 4.2.0 (apk installieren)
- iOS Version 3.0.0 (mit Cydia Impactor installieren)Den Token für die Einrichtung des Staubsaugers bekommt ihr danach so:
Android: (alle FWs)
- Aus DB unter /data/data/com.xiaomi.smarthome/databases/miio2.db
- Aus Android Backup mit MiToolkit, zu finden unter
https://github.com/ultrara1n/MiToolkitiOS mit Jailbreak: (alle FWs)
- Aus DB unter /var/mobile/Containers/Data/Application/514106F3-C854-45E9-A45C-119CB4FFC235/Documents/
USERID_mihome.sqlite
- Gerätetokens finden sich in der Datenbank
iOS: (alle FWs)
- Unverschlüsseltes iTunes Backup auf den Rechner kopieren
- Mit
http://www.imactools.com/iphonebackupviewer/ Free öffnen
- RAW, com.xiaomi.home,
USERID_mihome.sqlite -> Extrahieren
- Token aus der Datei lesen
Android Flole App: (FW < .3074)
- Installation der alternativen App von https://xiaomi.flole.de/ auf Android
- (Löschen der App-Daten, falls diese schon mal installiert wurde)
- (WiFi-Reset des Staubsaugers, falls er schon eingerichtet war)
- Verbinden mit dem AP des Staubsaugers
- Roboter in der App suchen
- App-Settings exportieren
- 32-stelligen Token aus der so erzeugten Datei kopieren, z.B.:
[{"c":"::1","d":12345678,"e":"12345678901234567890123456789012","f":"Mi Vacuum","g":0}]
Python Script: (FW < .3074)
- Script xpn.py aus dem Anhang runterladen
- (WiFi-Reset des Staubsaugers, falls er schon eingerichtet war)
- Verbinden mit dem AP des Staubsaugers
- Script Aufruf zum Auslesen über
python xpn.py -info
Einrichtung ohne App: (FW < .3074)
- Token auslesen und WLAN-Anmeldung ohne die Xiaomi App vornehmen mit folgendem Request:
{"id":1111,"method":"miIO.config_router","params":{"country_domain":"sg","ssid":"<SSID>","uid":<XIAOMI_USERID>,"gmt_offset":3600,"passwd":"<PASS>"}}Achtung:Der Token ändert sich bei jedem (WiFi-)Reset des Staubsaugers und muss danach (nach der Einrichtung) neu ausgelesen werden.
96-stelligen Token entschlüsseln:http://aes.online-domain-tools.com/1. 96-stelligen Token auslesen und dann bei [ Input text ] einfügen
2. unter dem Feld den Button [ Hex ] auswählen
3. Bei [ Key ] 32x eine 0 (Null) einfügen
4. unter dem Feld den Button [ Hex ] auswählen
5. Auf das grüne [ Decrypt ] klicken
6. unten rechts steht der entschlüsselte Token
imageBei copy&paste müssen die Leerzeichen aus dem entschlüsselten Token noch entfernt werden.
Diverses:
- shairport-sync verwandelt den Sauger nebenbei in einen Airport Speaker