Giter VIP home page Giter VIP logo

homebridge-mi-fan's Introduction

homebridge-mi-fan

npm version

XiaoMi fan plugins for HomeBridge.

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

Note: If you find bugs, please submit them to issues or QQ Group: 245480 (previous 15987618) (previous 107927710).

Supported Devices

1.ZhiMiDCVariableFrequencyFan(智米直流变频落地扇 799RMB)
2.ZhiMiNaturalWindFan(智米自然风风扇 599RMB)
3.MiDCVariableFrequencyFan(米家直流变频落地扇 399RMB)
4.DmakerFan(米家风扇1X 299RMB)
5.DmakerFanp5c(新款米家智能直流变频落地扇1X)

Pre-Requirements

1.Make sure your IOS version is ios11 or later.

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-fan

Configuration

"platforms": [{
    "platform": "MiFanPlatform",
    "deviceCfgs": [{
        "type": "ZhiMiDCVariableFrequencyFan",
        "ip": "192.168.1.xxx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "fanName": "room fan",
        "fanDisable": false,
        "temperatureName": "room temperature",
        "temperatureDisable": false,
        "humidityName": "room humidity",
        "humidityDisable": false,
        "buzzerSwitchName": "fan buzzer switch",
        "buzzerSwitchDisable": true,
        "ledBulbName": "fan led switch",
        "ledBulbDisable": true
    }, {
        "type": "ZhiMiNaturalWindFan",
        "ip": "192.168.1.xxx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "fanName": "room fan",
        "fanDisable": false,
        "temperatureName": "room temperature",
        "temperatureDisable": false,
        "humidityName": "room humidity",
        "humidityDisable": false,
        "buzzerSwitchName": "fan buzzer switch",
        "buzzerSwitchDisable": true,
        "ledBulbName": "fan led switch",
        "ledBulbDisable": true
    }, {
        "type": "MiDCVariableFrequencyFan",
        "ip": "192.168.1.xxx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "fanName": "room fan",
        "fanDisable": false,
        "temperatureName": "room temperature",
        "temperatureDisable": false,
        "humidityName": "room humidity",
        "humidityDisable": false,
        "buzzerSwitchName": "fan buzzer switch",
        "buzzerSwitchDisable": true,
        "ledBulbName": "fan led switch",
        "ledBulbDisable": true
    }, {
        "type": "DmakerFan",
        "ip": "192.168.1.xxx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "fanName": "room fan",
        "fanDisable": false,
        "buzzerSwitchName": "fan buzzer switch",
        "buzzerSwitchDisable": true,
        "ledBulbName": "fan led switch",
        "ledBulbDisable": true
    },
    {
        "type": "DmakerFanP5c",
        "ip": "192.168.1.xxx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "deviceId":"xxxxxxx",
        "fanName": "room fan",
        "fanDisable": false,
        "buzzerSwitchName": "fan buzzer switch",
        "buzzerSwitchDisable": true,
        "ledBulbName": "fan led switch",
        "ledBulbDisable": true
    }]
}]

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

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.1.2 (2024-04-24)

1.add support for DmakerFanP5c.

0.1.1 (2019-06-03)

1.add support for DmakerFan.

0.1.0 (2018-07-11)

1.add support for Mi DC VariableFrequency Fan.
2.add support for ZhiMi NaturalWind Fan.

0.0.5 (2018-02-10)

1.update 'package.json'.

0.0.4 (2017-09-11)

1.optimized code.

0.0.3 (2017-09-09)

1.optimized code.

0.0.2 (2017-09-09)

1.fixed bug that led switch error.

0.0.1 (2017-09-05)

1.support for ZhiMi DC VariableFrequency Fan.

homebridge-mi-fan's People

Contributors

hassbian-abc avatar yinhangcode avatar jacktonyma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.