米家的設備要使用在Homebridge上,就一定要拿到小米機器Token,才能加入Homebridge,下方分享了幾種方式,可以找自己最方便的方式獲取米家Smart Home Device的Token!
前往下載Android模擬器,然後開啟Root權限,操作畫面使用夜神模擬器因為很方便內建Root。
安裝米家App(舊版才看得到miio2.db),並正常登入帳號。
開啟模擬器root資料夾並前往此路徑/data/data/com.xiaomi.smarthome/databases/
,再來將資料夾裡的miio2.db拉到電腦裡。
接下來到GetMiio 這網頁,miio 這網站是為了把米家家電資料庫的各種資料解析出來,選擇剛剛拿到的 miio2.db 檔案,即可獲得Token。
將iPhone完整備份(請勿選取iPhone備份加密),如不清楚怎麼備份前往了解iPhone備份方式。
接下來操作iBackup Viewer。
找到此路徑xiaomi.mihome ➜ Documents ➜ XXXXXXXXXXXXX_mihome.sqlite
,點擊右上角Export ➜ Selected
,將此檔案存到本地端。
再來用DB Browser for SQLite打開Step3存的XXXXXXXXXXXXX_mihome.sqlite資料庫。
點擊執行SQL
,輸入select ZTOKEN,ZNAME,ZLOCALIP from ZDEVICE
現在就可看到有註冊過的小米設備的名字、Token與IP。(IP在之後設定Homebridge會用到)
新的米家智慧家電顯示的Token基本上是96位元HEX字串,要去解碼工具網解碼。
網站設定:Input type:選Text
Input text:貼上所需要解碼的96位的Token到表格裡
Function:選AES
Modle:ECB(electronic codebook)
Key:輸入00000000000000000000000000000000
(總共有32個0),下方再選Hex。
最後點擊> Decrypt
按鈕,在下方右邊生成的32碼就是可以用的Token。
解除安裝原本的米家App,下載米家 5.4.54版,這版本有一個bug,米家在SD卡內的紀錄檔案暴露了miio,所以能夠直接看到小米設備的Token。
正常登錄米家App,然後將機器都操作一遍。
再來開啟文件管理器(檔案瀏覽器)到/sdcard/SmartHome/logs/Plug_Devicemanager/
這個路徑。
打開yyyy-mm-dd.txt
的日誌紀錄檔案,並搜尋token
或是Device名稱的關鍵字。就看到設備Token跟IP了。