Xiaomi MIoT
homebridge-miot · v2.0.0
Adds Xiaomi MIoT devices such as fans, purifiers, humidifiers, vacuums and cameras to HomeKit.
What it says it supports
Brands
- Xiaomi
- Zhimi
- Smartmi
- Dmaker
Devices it names
- fans
- heaters
- humidifiers
- air purifiers
- air conditioners
- curtains
- robot cleaners
- lights
- oven
- air fryer
- kettle
- cameras
- video doorbell
- pet feeder
- BLE/Zigbee sensors
Shows up in Apple Home as from its README
- Lights
- Outlets
- Switches
- Thermostats
- Air Conditioners and Heaters
- Air Purifiers
- Fans
- Humidifiers
- Windows and Coverings
- Cameras
- Doorbells
- Sensors
- Speakers
- Robot Vacuum Cleaners
- Appliances
Sensor readings in its code
What people report
Large list of tested Xiaomi/Mijia fans, purifiers, humidifiers, heaters, plugs, curtains and vacuums; many need MiCloud. Maintainer and contributors add models on request, though devices without a MIoT spec cannot work.
- Works42
- Partly works9
- Not working2
- Requested8
- Won’t be supported1
The plugin’s own supported-device list
| Device | Status | What they said | Source |
|---|---|---|---|
| Chunmi cooker | Works | Support added in merged PRSaved copyYes, tested Rice Cooker, works correctly. Excerpt saved from GitHub on 2026-10-22. | PR #449 · 2023-03 |
| Dreame mc1808 robot vacuum | Works | Room cleaning documented and worksSaved copySource: this article. Tested on my own dreame.vacuum.mc1808. Works well. Excerpt saved from GitHub on 2026-10-22. | PR #478 · 2023-04 |
| Gosund SmartStrip | Works | Support added in merged PRSaved copyThanks for the PR! Appreciate that! Looks good! Excerpt saved from GitHub on 2026-10-22. | PR #161 · 2021-12 |
| Gosund wall plug | Works | Support added in merged PRSaved copyThanks for the PR. Found one issue and could you also please add the device to the supported devices list? Excerpt saved from GitHub on 2026-10-22. | PR #83 · 2021-09 |
| ijai.vacuum.v3 robot vacuum | Works | Action buttons and room cleaning added; requires MiCloudSaved copyAdd ijai.vacuum.v3 actions buttons support (mainly room cleaning). I couldn't find an option to perform this without a micloud connection, so changed "requiresMiCloud" to true. Also, parameters for action requests should not be parsed (actual request to clean the specific room looks like that: {"params":{"aiid":3,"did":"DEVICE_ID","in":["10",0,1],"siid":7}}). Additionally, I've updated the robot cleaner wiki to include an example of configuring action buttons. Excerpt saved from GitHub on 2026-10-22. | PR #517 · 2023-08 |
| Mi Door and Window Sensor | Works | Support added in merged PRSaved copyNew device support Excerpt saved from GitHub on 2026-10-22. | PR #509 · 2023-08 |
| Mi Smart Air Circulator Fan | Works | Listed as tested and workingSaved copy… connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Mi Smart Air Fryer Pro 4L | Works | Added and tested workingSaved copyAdded device module for careli.fryer.maf05a (Mi Smart Air Fryer Pro 4L) Tested with the device. Working fine. Excerpt saved from GitHub on 2026-10-22. | PR #453 · 2023-03 |
| Mi Smart Antibacterial Humidifier S | Works | Support added in merged PRSaved copycgllc.airm.cgs2 (Qingping Air Monitor 2) deerma.humidifier.jsq1 (Mi Smart Antibacterial Humidifier S) Excerpt saved from GitHub on 2026-10-22. | PR #659 · 2025-01 |
| Mi Smart Baseboard Heater | Works | Support added after requestSaved copyThanks @merdok! Here is the full log: [37m[12/10/2022, 7:45:26 PM] ^[[39m^[[36m[miot]^[[39m [Heater] Model unknown! Starting device discovery! ^[[37m[12/10/2022, 7:45:27 PM] ^[[39m^[[36m[miot]^[[39m [Heater] Device found! Setting up miot device from local connection! ^[[37m[12/10/2022, 7:45:27 PM] ^[[39m^[[36m[miot]^[[39m [Heater] Did not specified. Got did: 274545712 from device! ^[[37m[12/10/2022, 7:45:27 PM] ^[[39m^[[36m[miot]^[[39m [Heater] Connected to device: leshow.heater.bs1 ^[[37m[12/10/2022, 7:45:27 PM] ^[[39m^[[36m[miot]^[[39m [Heater] Device identified! Model: leshow.heater.bs1 … Excerpt saved from GitHub on 2026-10-22. | Issue #405 · 2022-12 |
| Mi Smart Baseboard Heater 1S | Works | Works perfectly per contributorSaved copyWorks perfect. leshow.heater.bs1s. Excerpt saved from GitHub on 2026-10-22. | PR #104 · 2021-10 |
| Mi Smart Baseboard Heater 3 | Works | Listed as tested and workingSaved copy… the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart Fan 1X) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Mi Smart Standing Fan Pro | Works | Listed as tested and workingSaved copy… work correctly so you should always try adding it to the plugin! Devices marked as 🔵[MiCloud] require a MiCloud connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Mi Smart Tower Fan | Works | Listed as tested and workingSaved copy… connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Mijia Air Circulation Fan | Works | Support added in merged PRSaved copythanks! Excerpt saved from GitHub on 2026-10-22. | PR #610 · 2024-07 |
| Mijia Pure Smart Humidifier | Works | Listed as tested and workingSaved copy… the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart Fan 1X) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Philips candle bulb | Works | Support added in merged PRSaved copyThanks! looks good Excerpt saved from GitHub on 2026-10-22. | PR #330 · 2022-09 |
| Qingping Air Monitor 2 | Works | Support added in merged PRSaved copycgllc.airm.cgs2 (Qingping Air Monitor 2) deerma.humidifier.jsq1 (Mi Smart Antibacterial Humidifier S) Excerpt saved from GitHub on 2026-10-22. | PR #659 · 2025-01 |
| Roborock S5 | Works | Added; contributor tested workingSaved copyHi @merdok Instead of asking to add devices I went ahead and try to add one myself, this one is made based on roborock.vacuum.s5e. I have tested it locally on my device and seems to be working. Kindly accept the PR. THanks Jarek Excerpt saved from GitHub on 2026-10-22. | PR #165 · 2021-12 |
| Roborock S7 Pro Ultra | Works | Support added in merged PRSaved copyThanks! Looks good! Excerpt saved from GitHub on 2026-10-22. | PR #476 · 2023-04 |
| Smartmi Electric Heater 1S | Works | Listed as tested and workingSaved copy… Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Smartmi Evaporative Humidifier 2 | Works | Listed as tested and workingSaved copy… Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Smartmi Standing Fan 3 | Works | Listed as tested and workingSaved copy… connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Trouver Finder robot vacuum | Works | Added in v0.9.9; user confirms works greatSaved copyPlease add support for the Trouver Robot LDS Vacuum-Mop Finder (MODEL: dreame vacuum p2036). Thank you. Excerpt saved from GitHub on 2026-10-22. | Issue #69 · 2021-08 |
| Viomi Kick-Line heater Pro2 | Works | Added; temperature read from alternate propertySaved copySince some heaters (like the Viomi Kick-Line Heater) doesn't support environment:temperature properties, temperature readings on Apple Home when the device is turned on will be 0. These devices instead publish their temperature readings through heater:temperature property and this will need to be displayed instead. Excerpt saved from GitHub on 2026-10-22. | PR #407 · 2022-12 |
| Xiaomi Air Conditioner KFR-35GW/V1A1 | Works | Support added in merged PRSaved copylooks good! thanks Excerpt saved from GitHub on 2026-10-22. | PR #609 · 2024-07 |
| Xiaomi Air Purifier 2 Mini | Works | Tested, all functions workingSaved copyTested on my own device, all functions working Excerpt saved from GitHub on 2026-10-22. | PR #156 · 2021-12 |
| Xiaomi Air Purifier 3 | Works | Tested by contributor, works fineSaved copyThis PR adds a device module for zhimi.airpurifier.ma4 (Xiaomi Air Purifier 3). Tested this using my device and worked fine. Excerpt saved from GitHub on 2026-10-22. | PR #493 · 2023-07 |
| Xiaomi Air Purifier 4 (mb5) | Works | Support added in merged PRSaved copyLooks good! Thanks for the PR Excerpt saved from GitHub on 2026-10-22. | PR #209 · 2022-02 |
| Xiaomi Air Purifier 4 Pro | Works | Listed as tested and workingSaved copy… work correctly so you should always try adding it to the plugin! Devices marked as 🔵[MiCloud] require a MiCloud connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
Show 32 more
| Device | Status | What they said | Source |
|---|---|---|---|
| Xiaomi Dehumidifier 13L | Works | Support added in merged PRSaved copy… `requiresMiCloud: true` does. Does it mean all communication between homebridge and the device is going through the micloud? If so does anything else such as Xiaomi SmartHome Hub Gateway overrides this requirement as they are advertised for "local automation"? Excerpt saved from GitHub on 2026-10-22. | PR #613 · 2024-07 |
| Xiaomi Dehumidifier 22L | Works | Listed as tested and workingSaved copy… Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart Fan 1X) 🔵[MiCloud] dmaker.fan.p18 (Mi Smart Fan 2) air.fan.ca23ad9 (AIRMATE CA23-AD9 Air Circulation Fan) zhimi.fan.v3 (Smartmi Standing Fan V3) 🔵[MiCloud] zhimi.fan.sa1 (Mi … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Xiaomi Mi Air Purifier 3C | Works | Listed as tested and workingSaved copy… Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Xiaomi Mi Air Purifier 3H | Works | Listed as tested and workingSaved copy… Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) dmaker.fan.p5 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Xiaomi Mi Air Purifier Pro H | Works | Listed as tested and workingSaved copy… work correctly so you should always try adding it to the plugin! Devices marked as 🔵[MiCloud] require a MiCloud connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| Xiaomi Mi Smart Kettle Pro 2 | Works | Support added via merged PR (author says vibe coded)Saved copyNOTICE: This PR was completely vibe coded Since my Smart Kettle Pro 2 does not work correctly, I have decided to add support for it. Excerpt saved from GitHub on 2026-10-22. | PR #736 · 2026-02 |
| Xiaomi Mi Smart LED Bulb Essential (White and Color) | Works | Tested two bulbs, working on jailbroken iPhone SESaved copyI just installed Homebridge on jailbroken iPhone SE and inserted homebridge-miot v1.3.1 plugin. https://preview.redd.it/3n32ur5yc1u91.jpg?width=1576&format=pjpg&auto=webp&s=15f77e97b077a12dc5b27ff767a8542f1877d5ca \- Tested two Xiaomi Mi Smart LED Bulb Essential (White and Color) and it works !!!! Excerpt saved from Arctic Shift Reddit archive on 2026-10-22. | Reddit thread · 2022-10 |
| Xiaomi Mijia Robot Vacuum 1T | Works | Added with room cleaning; everything seems to workSaved copyI just got this robot. The miot command set is almost identical to dreame.vacuum.p2008. Everything seems to work. I also wanted room cleaning functionality. I have added a room_clean action for the vacuum which calls the cleaning command with the appropriate parameters to initiate targeted cleaning. The custom action definition for room cleaning in the homebridge config has to be something like: { "action": "room_clean", "name": "Clean Kitchen", "params": [ 18, "{\"selects\": [[4,1,1,2,1]]}" ] } The first parameter of 18 is passed to piid 1 and indicates room cleaning (19 would be area … Excerpt saved from GitHub on 2026-10-22. | PR #51 · 2021-06 |
| Xiaomi smart speaker | Works | Smart speaker support added in merged PRSaved copyHi, I was trying to support the smart speaker, and currently not finished yet, I faced some trouble. From logs I didn't see anything wrong, but the accessory not appeared. Could you please help review the code to see if the code style & format is correct and maybe anything I was missing to do? This is a famous smart speaker in China named "小爱音箱Pro / Mi AI Speaker Pro". Spec: https://home.miot-spec.com/spec/xiaomi.wifispeaker.lx06 Edit: accessory appeared as 'Not responding'. Excerpt saved from GitHub on 2026-10-22. | PR #393 · 2022-11 |
| Yeelight Bedside Lamp 2 | Works | Support added in merged PRSaved copyThanks! Looks good. Excerpt saved from GitHub on 2026-10-22. | PR #423 · 2023-01 |
| Yeelight color light 1 | Works | Added and tested on own lightsSaved copyadded support for yeelink color 1 light, tested on my own lights Excerpt saved from GitHub on 2026-10-22. | PR #163 · 2021-12 |
| Yeelight Smart Ceiling Fan S2001 | Works | Listed as tested and workingSaved copy… connection. Please specify the `micloud` property in the `config.json` Devices marked as 🔴[BLE Mesh] and 🟡[Zigbee] require a connection over a Gateway or Hub. Fan zhimi.fan.za4 (Smartmi Standing Fan 2S) 🔵[MiCloud] zhimi.fan.za5 (Smartmi Standing Fan 3) zhimi.fan.fa1 (Mijia DC Circulating Fan) zhimi.fan.fb1 (Mi Smart Air Circulator Fan) dmaker.fan.1c (Mi Smart Standing Fan 1C) dmaker.fan.p8 (Mi Smart Standing Fan 1C CN) dmaker.fan.p9 (Mi Smart Tower Fan) dmaker.fan.p10 (Mi Smart Standing Fan 2) dmaker.fan.p11 (Mi Smart Standing Fan Pro) dmaker.fan.p15 (Mi Smart Standing Fan Pro EU) … Excerpt saved from GitHub on 2026-10-22. | Docs: supported_devices.md |
| 090615 switch mesw2 | Partly works | Added, but switch3:on not polled automaticallySaved copyRelated to #357 . However after I add this js file and restart homebridge, `switch3:on` still not pulled automatically. (If I manually add it into property monitor, it works.) I see these two property actually have the same name, both are `switch:on`, the last one was renamed to `switch3:on` by plugin (I guess). Maybe that's the reason? Excerpt saved from GitHub on 2026-10-22. | PR #360 · 2022-10 |
| Cuco/Gosund CP1 plug | Partly works | Unsupported indicator-light polling broke polling batch; removed in merged fixSaved copyWhat changed Remove the unsupported `indicator-light` service and property from `cuco.plug.cp1`. Why The CP1 device does not support `siid=3`. Including it in property polling caused the complete polling batch to fail, eventually stopping polling and breaking local control. [code] Validation `node --check` passed. `git diff --check` passed. Deployed to Homebridge on my local instance. Initial property fetch returned `switch:on` successfully. Subsequent polling completed without failures. Manual local control was verified successfully. Excerpt saved from GitHub on 2026-10-22. | PR #750 · 2026-07 |
| Mi Smart Microwave | Partly works | State fixed, needs MiCloud; toggling/controlling still does not workSaved copy… in the SIID / PIID for oven status so the current state is correctly reflected. Requires MiCloud. Fixes minor spelling typo. Toggling / controlling the microwave oven unfortunately still does not work, however. Excerpt saved from GitHub on 2026-10-22. | PR #50 · 2021-06 |
| Roidmi V60 robot vacuum | Partly works | Matter room selection fails with MIOT -4006; fix PR openSaved copySelecting a room in Apple Home on `roidmi.vacuum.v60` currently reaches the generic `vacuum:start-room-sweep` action with a string room ID and fails with MIOT code `-4006`. The same robot supports room cleaning through the vendor `sweep:start-sweep` action (SIID 14, AIID 1). Route Matter vacuum-only room cleaning for this model through area mode `2`, passing a JSON payload with the configured `mapId` and numeric `segmentId` array. Validate that all selected rooms have valid IDs and share a map before sending the command. Unsupported mopping modes fail explicitly. Other models and … Excerpt saved from GitHub on 2026-10-22. | PR #759 · 2026-10 |
| Xiaomi Air Purifier 5S | Partly works | Added; fan speed fallback not fully compatible with 11 discrete levelsSaved copy… great library and also for the incredibly Miot spec metadata fetcher. Regarding the fan speed fallback logic: The logic in `homebridge-miot/lib/modules/airpurifier/AirPurifierDevice.js` determines whether percentage-based fan speed control can be enabled by checking if any of the following properties are defined as ranged integers: `air-purifier-favorite:fan-level` `motor-speed:favorite-level` `custom-service:favorite-level` `custom-service:favorite-speed` The property air-purifier:fan-level is not considered for this check because it uses a fixed three-value list (e.g., 0 = Level 1, 1 = … Excerpt saved from GitHub on 2026-10-22. | PR #691 · 2025-07 |
| Xiaomi Humidifier 3C | Partly works | Fan level shown as 0 and illegal rotation speed warningSaved copy[37m[5/27/2021, 12:18:51 AM] ^[[39m^[[36m[miot]^[[39m [Luftfilter Xiaomi] Did not specified. Got did: 361081581 from device! ^[[37m[5/27/2021, 12:18:51 AM] ^[[39m^[[36m[miot]^[[39m [Luftfilter Xiaomi] Doing device specific setup ^[[37m[5/27/2021, 12:18:51 AM] ^[[39m^[[36m[miot]^[[39m [Luftfilter Xiaomi] Doing initial properties fetch ^[[37m[5/27/2021, 12:18:51 AM] ^[[39m^[[36m[miot]^[[39m [Luftfilter Xiaomi] Device setup finished! Device ready, you can now control your device! ^[[37m[5/27/2021, 12:18:52 AM] ^[[39m^[[36m[miot]^[[39m [Luftfilter Xiaomi] Filter life level: 96%. ^[[37m[5/27/2021, … Excerpt saved from GitHub on 2026-10-22. | Issue #32 · 2021-05 |
| Xiaomi Mi Air Purifier (v3) | Partly works | Works; known fan level polling failureSaved copyPS: The `zhimi.airpurifier.v3` product name is not v3, it's just first version of Xiaomi Mi Air Purifier. However there's a known issue for this device: fan level polling failed. If anyone knows how to solve it, please have a try. `Error while parsing response from device for property air-purifier:fan-level. Response: {"did":"686324","siid":2,"piid":2,"code":-704220043,"exe_time":0}` Excerpt saved from GitHub on 2026-10-22. | PR #359 · 2022-10 |
| Xiaomi PM2.5 Monitor | Partly works | Added but needs MiCloud connectionSaved copyHi @merdok I based on our design I have added support for Xiaomi PM 2.5 Monitor (zhimi.airmonitor.v1). I thought it could work without Mi Cloud connection but unfortunately it can not. I have it running for couple hours and everything seems to be ok. Kindly accept my PR Excerpt saved from GitHub on 2026-10-22. | PR #219 · 2022-02 |
| Xiaomi Smart Air Purifier 4 Compact | Partly works | Works only with Miot plugin, which exposes each button individually with poor UISaved copyThis model works only with Miot plugin Excerpt saved from Arctic Shift Reddit archive on 2026-10-22. | Reddit comment · 2023-11 |
| Dreame D9 Max robot vacuum | Not working | Plugin reports device not online; vacuum must be added to Mi Home for MIoT pluginSaved copySo all my devices work well with homekit except my robot vacuum dreame d9 max i use miot plugin, which finds device itself, dreametech app to controll it, and get following message: \[DreameBot D9 Max\] The device with deviceId 661057964 is not online! Device must be online for proper synchronization! Device is on and on charging station at that time ​ ​ Excerpt saved from Arctic Shift Reddit archive on 2026-10-22. | Reddit thread · 2024-02 |
| Dreame L10s Pro Ultra Heat | Not working | No MIoT spec exists; generic device with limited propertiesSaved copyDevice model DREAME L10s Pro Ultra Heat Model info: dreame. vacuum.r2338a Device name DREAME L10s Pro Ultra Heat Does the device require a MiCloud connection? No Anything special about the device? Not Working Switch, All other functions are not displayed LOG Homebridge: [5/9/2024, 3:13:07 AM] [homebridge-miot] Restarting child bridge... [5/9/2024, 3:13:07 AM] Got SIGTERM, shutting down child bridge process... [5/9/2024, 3:13:12 AM] [homebridge-miot] Child bridge process ended [5/9/2024, 3:13:12 AM] [homebridge-miot] Process Ended. Code: 143, Signal: null [5/9/2024, 3:13:19 AM] … Excerpt saved from GitHub on 2026-10-22. | Issue #592 · 2024-05 |
| Qingping Air Monitor Pro | Requested | Support PR closed without mergeSaved copyAdded support for Qingping Air Monitor Pro v1 Excerpt saved from GitHub on 2026-10-22. | PR #732 · 2026-01 |
| Roborock Q Revo | Requested | Draft support PR closed without mergeSaved copyDraft as I have to test it properly Excerpt saved from GitHub on 2026-10-22. | PR #564 · 2024-01 |
| Xiaomi Air Conditioner Companion 2 | Requested | Support PR closed without mergeSaved copy… update. Do you think it is better to set the current temperature to the target temperature in that case then set it to 0 degree? I was wondering how the air conditioner works if it cannot read the current temperature. I mean in that case it has no relation to how much it should heat... Excerpt saved from GitHub on 2026-10-22. | PR #54 · 2021-07 |
| Xiaomi fan xiaomi.fan.p85 | Requested | PR adds device class; currently falls back to generic handlingSaved copyAdds device classes for two Xiaomi fans that currently fall back to generic handling. dmaker.fan.p39 (Xiaomi Smart Tower Fan) Power, fan level 1–4 (`fan:fan-level`) and stepless speed (`fan:speed-level`) Modes: Straight Wind / Natural Wind / Sleep Horizontal swing plus angle (30/60/90/120/150) Manual move left/right (`fan:motor-control`, write-only) Off delay (`fan:off-delay-time`, minutes), LED (`fan:brightness`), buzzer (`fan:alarm`), child lock xiaomi.fan.p85 (Mijia Smart Standing Fan Pro Slim) Power, fan level 1–4, stepless speed (`dm-service:fan-level`) Modes: Straight Wind / Natural … Excerpt saved from GitHub on 2026-10-22. | PR #760 · 2026-10 |
| Xiaomi IR air conditioner remote | Requested | Support PR closed; IR remote via Xiaomi speaker requestedSaved copyDevice model Living Room Xiaomi Smart Speaker xiaomi.wifispeaker.l05g 6b4f316b556150307270383556797959 561346725 192.168.1.41 tw Living Room AC miir.aircondition.ir02 ir.1622213879634477056 tw Device name Living Room Xiaomi Smart Speaker (IR Control) Created from app air conditioner remote I have Speaker with IR Remote control. Successfully added this custom IR remote to homebridge, looks like it's supported and recognized as air conditioner, but doesn't work and does't response. Here's config, i used IP and token of speaker and model and id of created remote. `{ "name": "Living Room AC … Excerpt saved from GitHub on 2026-10-22. | Issue #446 · 2023-03 |
| Xiaomi Robot Cleaner X20+ | Requested | PR closed; switch names not populated correctlySaved copyJust following the suggestion to open a PR. However, when I restart with the file in place locally, none of the switches seem to have their names populated correctly. Not sure what's up with that. Excerpt saved from GitHub on 2026-10-22. | PR #737 · 2026-02 |
| Xiaomi Smart Tower Fan | Requested | PR adds power, fan level, speed and modes; still openSaved copyAdds device classes for two Xiaomi fans that currently fall back to generic handling. dmaker.fan.p39 (Xiaomi Smart Tower Fan) Power, fan level 1–4 (`fan:fan-level`) and stepless speed (`fan:speed-level`) Modes: Straight Wind / Natural Wind / Sleep Horizontal swing plus angle (30/60/90/120/150) Manual move left/right (`fan:motor-control`, write-only) Off delay (`fan:off-delay-time`, minutes), LED (`fan:brightness`), buzzer (`fan:alarm`), child lock xiaomi.fan.p85 (Mijia Smart Standing Fan Pro Slim) Power, fan level 1–4, stepless speed (`dm-service:fan-level`) Modes: Straight Wind / Natural … Excerpt saved from GitHub on 2026-10-22. | PR #760 · 2026-10 |
| Xiaomi Vacuum Robot S20 | Requested | Support PR closed without mergeSaved copyThanks for the contribution, @claudiomadureira! 🙏 The `ijai.vacuum.v18` (Xiaomi Robot Vacuum S20) device definition has been merged into `main` in commit b23f2d0. I landed the device file directly (rather than via the merge button) because the branch had drifted quite a bit, the version bumps targeted 1.8.8 while `main` is already at 1.9.1, and there were conflicts in CHANGELOG/package.json. The device file itself was merged verbatim, with a fresh changelog entry and a supported-devices listing (marked as MiCloud-only). Closing this as merged-by-content. If you get a chance to confirm it … Excerpt saved from GitHub on 2026-10-22. | PR #740 · 2026-03 |
| Mi Motion Activated Night Light 2 | Won’t be supported | Exposes no usable properties; events not supportedSaved copyHere is Mi Motion Activated Night Light 2 https://www.merdok.org/miotspec/?model=yeelink.light.nl1 And there's Mi Motion Sensor https://www.merdok.org/miotspec/?model=lumi.sensor_motion.v2 Both of them have events "motion-sensor:motion-detected" So Mi Motion Sensor is displayed in room page: Is it possible to display here Mi Motion Activated Night Light 2 as well ? Excerpt saved from GitHub on 2026-10-22. | Issue #452 · 2023-03 |
Gathered from the plugin’s GitHub issues, pull requests, discussions, wiki and docs, and from r/homebridge. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local + cloud
Local miIO by IP and token, optional MiCloud
You’ll need
- Device IP and token
Compatibility
| Verified by Homebridge | Yes |
|---|---|
| Homebridge versions | ^1.6.0 || ^2.0.0-beta.0 |
| Homebridge 2.0 | Yes |
| Node.js | ^18.20.4 || ^20.15.1 || ^22 || ^24 |
| Settings in Homebridge UI | Yes |
| Matter | Yes (uses the Homebridge 2 Matter API) |
| Platform name | miot |
| License | MIT |
Community signals
| Downloads a week | 1,372 |
|---|---|
| Downloads a month | 6,755 |
| GitHub stars | 492 |
| Open issues | 2 |
| Closed issues | 628 |
| Discussions | 58 |
| Last code push | 2026-09-25 |
| Latest version | 2.0.0 (2026-09-25) |
| First published | 2021-02-28 |
| Releases | 109 |
In ReReHome
Whatever this plugin publishes reaches Apple Home as a normal HomeKit accessory behind your Homebridge bridge, so ReReHome shows and controls it like any other.
Bridges get their own settings page listing the accessories behind them.
Caveats from the README
- Unlisted devices categorized via miot spec
HomeKit services in its code
Found by scanning the published npm package. A plugin can register a service only for some devices.
- AirPurifier
- AirQualitySensor
- Battery
- CarbonDioxideSensor
- ContactSensor
- Fanv2
- FilterMaintenance
- HeaterCooler
- HumidifierDehumidifier
- HumiditySensor
- LeakSensor
- LightSensor
- Lightbulb
- MotionSensor
- OccupancySensor
- Outlet
- SecuritySystem
- Switch
- TemperatureSensor
- Thermostat
- WindowCovering
Sources
- npm: https://www.npmjs.com/package/homebridge-miot
- Source code: https://github.com/merdok/homebridge-miot
- Issues: https://github.com/merdok/homebridge-miot/issues
- Verified plugins list: https://github.com/homebridge/verified





