These ESPHome components are designed for MIoT devices which adhere to the Xiaomi MIoT Serial Communication protocol.
Such devices contain two microcontrollers, one actually controls the hardware, and the other acts as a LAN/cloud gateway.
These components allow you to replace the firmware on the latter, hence liberating your devices from the vendor cloud.
Since this uses ESPHome, adding your liberated devices to Home Assistant becomes a breeze with the official integration:
There are probably many more devices that could be supported, currently there are ESPHome configs for the following:
Device | Model Version | Wiki | ESPHome Config | MIoT Specification |
---|---|---|---|---|
Mi Air Purifier 3H | zhimi.airpurifier.mb3 | link | zhimi.airpurifier.mb3 | link |
Mi Air Purifier 3C | zhimi.airp.mb4a zhimi.airpurifier.mb4 |
link | zhimi.airp.mb4a | link link |
Xiaomi Smart Air Purifier 4 | zhimi.airp.mb5 | link | zhimi.airp.mb5 | link |
Xiaomi Smart Air Purifier 4 Lite | zhimi.airp.rmb1 | link | zhimi.airp.rmb1 | link |
Xiaomi Smart Air Purifier 4 Pro | zhimi.airp.vb4 | zhimi.airp.vb4 | link | |
Xiaomi Mi Smart Standing Fan 2 | dmaker.fan.p18 | dmaker.fan.p18 | link | |
Xiaomi Smart Pet Food Feeder | mmgg.feeder.fi1 | link | mmgg.feeder.fi1 | link |
Smartmi Evaporative Humidifier 2 | zhimi.humidifier.ca4 | zhimi.humidifier.ca4 | link | |
Smartmi Air Purifier | zhimi.airpurifier.za1 | zhimi.airpurifier.za1 | link |
Some of the devices have more than one model (like Mi Air Purifier 3C). If their MIoT specifications are compatible, the ESPHome config will be usable with all of them.
Some devices have Xiaomi proprietary chip instead of ESP32 chip. Those devices are not supported.
Device | Model Version | Wiki | MIoT Specification |
---|---|---|---|
Mi Air Purifier 2S | zhimi.airpurifier.mc1 | link | link |
Either download an ESPHome config or create your own (see below) and feed it to ESPHome to build the firmware.
There's no need to clone this repo, unless you plan to contribute - which would be very welcome!
First, look up the desired device on the Xiaomi MIoT Spec site.
Each device defines its service (SIID
) and property (PIID
) IDs. You just have to add all the desired properties with their according IDs to your ESPHome yaml config.
For examples, see the supported devices table above and compare a config against its specification.
Once your newly added device is working, please open a PR to add its config here!
Please feel free to open issues and/or pull requests here.
Alternatively, there's a thread on the official ESPHome forums.