homebridge-mi-gateway

XiaoMi Gateway plugin for HomeBridge.

Usage no npm install needed!

<script type="module">
  import homebridgeMiGateway from 'https://cdn.skypack.dev/homebridge-mi-gateway';
</script>

README

homebridge-mi-gateway

npm version

XiaoMi Gateway plugin for HomeBridge.

Thanks for nfarina(the author of homebridge), OpenMiHome, aholstenson(the author of miio), all other developer and testers.

Pre-Requirements

Make sure you have V2 of the gateway.

Features

  • FM Switch
  • Lightbulb Control
  • Security

Installation

  1. Install HomeBridge, please follow it's README.
    If you are using Raspberry Pi, please read Running-HomeBridge-on-a-Raspberry-Pi.
  2. Make sure you can see HomeBridge in your iOS devices, if not, please go back to step 1.
  3. Install this plugin. npm install -g homebridge-mi-gateway

Configuration

Modify ~/.homebridge/config.json.

"accessories": [{
    "accessory": "MiGateway",
    "ip": "192.168.123.xx",
    "token": "your-token",
    "name": "MiGateway",
    "fmName": "FM",
    "lightName": "Lightbulb",
    "securityName": "Security"
}]

Get token

Get token by miio2.db

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.

Get token by network

Install miio: npm install -g miio@0.14.1

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.

License

Copyright 2018 by Stan Zhai. Licensed under MIT.