npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-mi-outlet

v0.3.0

Published

XiaoMi outlet plugins for HomeBridge(https://github.com/nfarina/homebridge).

Downloads

19

Readme

homebridge-mi-outlet

npm version

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.

Supported Devices

  1. MiPlugBase(米家智能插座基础版)
  2. MiPlugBaseWithUSB(小米智能插座_USB版)
  3. MiIntelligencePinboard(米家智能插线板)
  4. MiQingPinboard(青米智能插线板_五孔位版)
  5. MiQingPinboardWithUSB(青米智能插线板_USB版)
  6. MiPlugBaseEnhanced(米家智能插座增强版)

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 packages.
npm install -g homebridge-mi-outlet

Configuration

"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
    }]
}]

Get token

Get token by miio2.db (Recommend)

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

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.

Version Logs

0.3.0 (2018-09-10)

  1. add support for Mi PlugBase Enhanced: outlet, temperature sensor, LED switch, USB switch.

0.2.8 (2018-02-10)

  1. update 'package.json'.

0.2.7 (2017-11-18)

  1. modify class name, reduce the probability of conflicts due to the same class name and other plugins.

0.2.6 (2017-09-11)

  1. optimized code.

0.2.5 (2017-09-05)

  1. optimized code.

0.2.4 (2017-08-31)

  1. add outlet inuse display.

0.2.3 (2017-08-30)

  1. fixed bug that 'log of undefined' error.
  2. config item 'accessories' renamed 'deviceCfgs'.

0.2.2 (2017-08-29)

  1. fixed bug that many of the same type of device conflict with each other.

0.2.1 (2017-08-27)

  1. optimized code.

0.2.0 (2017-08-26)

  1. add support for Intelligence Pinboard: outlet, temperature sensor, LED switch.
  2. add support for Qing Pinboard: outlet, temperature sensor.
  3. add support for Qing Pinboard With USB: outlet, temperature sensor.
  4. fixed bug that homebridge not works when device is not responding.
  5. optimized code.
  6. fixed bug that run homebridge error there is no MiOutletPlatform in config.json file.

0.1.0 (2017-08-25)

  1. add support for PlugBaseWithUSB: outlet, temperature sensor, USB switch.
  2. add PlugBase LED switch.

0.0.1 (2017-08-24)

  1. support for PlugBase: outlet, temperature sensor.