XiaoMi outlet plugins for HomeBridge.
XiaoMi outlet plugins for HomeBridge.
Thanks for nfarina(the author of homebridge), OpenMiHome, aholstenson(the author of miio), all other developer and testers.
Note: I have only a part of these devices, so some devices don't have tested. If you find bugs, please submit them to issues or QQ Group: 107927710.
npm install -g homebridge-mi-outlet
"platforms": [{
"platform": "MiOutletPlatform",
"deviceCfgs": [{
"type": "MiPlugBase",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "living room outlet",
"outletDisable": false,
"temperatureName": "living room outlet temperature",
"temperatureDisable": false,
"switchLEDName": "living room led light switch",
"switchLEDDisable": true
}, {
"type": "MiPlugBaseWithUSB",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "study room outlet",
"outletDisable": false,
"temperatureName": "study room outlet temperature",
"temperatureDisable": false,
"switchUSBName": "study room outlet usb switch",
"switchUSBDisable": false
}, {
"type": "MiIntelligencePinboard",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "master room outlet",
"outletDisable": false,
"temperatureName": "master room outlet temperature",
"temperatureDisable": false,
"switchLEDName": "master room led light switch",
"switchLEDDisable": true
}, {
"type": "MiQingPinboard",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "dining room outlet",
"outletDisable": false,
"temperatureName": "dining room outlet temperature",
"temperatureDisable": false
}, {
"type": "MiQingPinboardWithUSB",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "kitchen room outlet",
"outletDisable": false,
"temperatureName": "kitchen room outlet temperature",
"temperatureDisable": false
}, {
"type": "MiPlugBaseEnhanced",
"ip": "192.168.88.xx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"outletName": "living room outlet2",
"outletDisable": false,
"temperatureName": "living room outlet2 temperature",
"temperatureDisable": false,
"switchUSBName": "living room outlet2 usb switch",
"switchUSBDisable": false,
"switchLEDName": "living room outlet2 led light switch",
"switchLEDDisable": true
}]
}]
setup MiJia(MiHome) app in your android device or android virtual machine.
open MiJia(MiHome) app and login your account.
refresh device list and make sure device display in the device list.
get miio2.db(path: /data/data/com.xiaomi.smarthome/databases/miio2.db) file from your android device or android virtual machine.
open website [Get MiIo Tokens By DataBase File], upload miio2.db file and submit.
Open command prompt or terminal. Run following command:
miio --discover
Wait until you get output similar to this:
Device ID: xxxxxxxx
Model info: Unknown
Address: 192.168.88.xx
Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx via auto-token
Support: Unknown
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" is token.
If token is "???", then reset device and connect device created Wi-Fi hotspot.
Run following command:
miio --discover --sync
Wait until you get output.
For more information about token, please refer to OpenMiHome and miio.