Skip to content
Home Assistant TestFlight
Lighting

Xiaomi Miot

al-one/hass-xiaomi-miot · vv1.1.5

HACSCloud polling

Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成

In Apple Home through HomeKit Bridge

What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.

EntityShows up asNote
lightLight
switchSwitch or outlet
coverBlind, garage door, window or door
climateThermostat
fanFan
humidifierHumidifier or dehumidifier
media_playerTV, receiver or media switchesNeeds its own HomeKit Bridge in accessory mode
cameraCameraNeeds its own HomeKit Bridge in accessory mode
remoteTV remote (activities)Needs its own HomeKit Bridge in accessory mode
alarm_control_panelSecurity system
binary_sensorSensor (motion, contact, leak, smoke…)
sensorSensor (temperature, humidity, air quality…)
vacuumVacuum (as a switch)
water_heaterWater heater (as a thermostat)
buttonButton (as a switch)
selectMode picker (as switches)
device_trackerPresence (as an occupancy sensor)

3 reports below say how a device from this integration behaves in the Home app.

What people report

Very wide Xiaomi/Mijia device-category coverage, mostly cloud with optional LAN; Bluetooth devices are cloud-only and some newer cameras and scooters expose few entities. New models are added regularly by PR.

  • Works6
  • Partly works2
  • Not working4
  • Requested6
  • Won’t be supported1
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Mijia Smart DC Inverter Circulation Fan ProWorksEntity customizations added
Saved copy
MIoT spec link: https://home.miot-spec.com/spec/xiaomi.fan.p90 Adds entity customizations for the Mijia Smart DC Inverter Circulation Fan Pro (米家智能变频循环扇Pro). Notes on the spec: - Fan speed is a stepless `fan-level` range (1~100) in the `fan` service, so the fan entity picks it up as a percentage without a converter. Unlike `p85`, the duplicate `dm-service.fan-level` is a mirror and is left unexposed. - Instead of the usual `horizontal-swing-included-angle`, this model exposes independent `left-angle` / `right-angle` / `up-angle` / `down-angle` under `dm-service`, plus `symmetrical-swing-h` / …

Excerpt saved from GitHub on 2026-10-23.

PR #2915 · 2026-08
Xiaomi air purifierWorks LocalLocal over WiFi; needs Xiaomi account for setup; ESP32 flashable
Saved copy
I have a Xiaomi air purifier, and it's able to talk to HA locally over WiFI. The current mIOT integration supports a bunch of products locally. You will need to create a xiaomi iot account for initial setup.

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2025-05
Xiaomi Mi Temperature Humidity Monitor 2Works CloudFixed after report: cloud updates stalled silently; 3-strike unavailable fix merged
Saved copy
Device model / 设备型号 miaomiaoce.sensor_ht.t2 ### Component version / 插件版本 1.1.1 ### HA core version / HA版本 2025.7.0 ### Integrated mode / 集成方式 Automatic (自动模式) ### The problem / 问题详情 有时候会突然发现HA中小米温度计的数据突然不再更新,而是保持历史某个时间点的数据(也没有报错说设备不可用),如果重启HA就可以更新数据 最近没有更新或重启任何插件or HA本身,就是不知道什么时候突然就不再更新数据了。从米家APP中是可以看到那几天的历史数据的,看来只是HA获取不到。 问题出现频率: 近两个月出现了3-4次 涉及设备: 家中所有小米温度计都是这个情况,不是单个设备问题。 本人粗鄙的思考: 在家中同一网络是有一个小米中枢网关的,我的理解是这些设备应该可以通过本地网络获取状态?可是在设备的info里面记录的updater却是cloud。并且,在日志中,也只能查找到查询cloud时的超时报错(可能有更多内容我没看懂)。 查询设备状态时能不能改成先用local查询状态,失败了再尝试cloud?还是说已经是这个逻辑只不过local失败的日志没有打印? …

Excerpt saved from GitHub on 2026-10-23.

Issue #2716 · 2025-12
Xiaomi Smart Air Purifier ProWorksPM2.5 readings drive air quality alert automation
Saved copy
Smoke detection (air quality) - smoke detector vs air quality monitor. Hi, I'm running HAOS on a miniPC and need advice on improving my air quality monitoring and fire/smoke protection system. Mainly due to potential issues with fireplace in a living room, but also like with other smart and HA stuff, simply why not!?" I currently have automation through Xiaomi Smart Air Purifier Pro where I monitor PM2.5, and when it jumps above 450, all Alexas increase to 100% volume, TTS plays "Warning warning. Air quality is bad... PM2.5 reading is \[actual reading\]...)", smart lights start flashing 15x …

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit thread · 2025-08
Xiaomi Smart Fan 3WorksPartly in Home
Extra preset-mode switches appear; iOS 16 shows all with same name
Fan works via HACS Xiaomi Miot Auto
Saved copy
The problem Hi there I have Xiaomi smart fans 3 at home and absolutely love them! they can be integrated via a HACS-addon GitHub - al-one/hass-xiaomi-miot: Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成 and are recognized as zhimi.fan.za5. In HA they have the following entities: the first entity is definied as a fan-entity, the indicator light as a light-entity and the physical lock as a switch-entity. the issue I ONLY expose the fan-entity to Homekit, however Homekit somehow also sees two switches. If I click on …

Excerpt saved from GitHub on 2026-10-23.

Issue #91503 · 2023-04
Xiaomi Smart Plug xiaomi.plug.04Works LocalEnergy sensors and LAN support PR open
Saved copy
Summary This PR combines three related changes, in this order: 1. Add daily/monthly energy sensors, LAN support and unambiguous settings for `xiaomi.plug.04`. 2. Enable the existing direct MIoT LAN path for `iot.switch.padw2p`. 3. Fix energy restoration precision and false decrease detection on top of the shared statistics implementation already merged in #2900. 4. Replace deprecated device-registry lookups while retaining minimum-HA compatibility. The implementation reuses the integration's existing Device, converters, platform entities and cloud statistics coordinator. It does not introduce …

Excerpt saved from GitHub on 2026-10-23.

PR #2973 · 2026-09
Mi Air Conditioner Companion 2Partly works CloudPartly in Home
Fan speed set from Home app failed until translation added
Fan speed settable in HA; HomeKit speed needs translation fix (case mismatch)
Saved copy
根据您描述的问题,这是关于小米空调伴侣2(lumi.acpartner.mcn02)在HomeKit中设置风速时的大小写不匹配问题。以下是分析和解决方案: 问题分析: 1. HomeKit期望的风速值为首字母大写(如"Medium"),但Home Assistant内部使用的是全小写(如"medium") 2. 这是由于HomeKit桥接组件中的`ordered_fan_speeds`使用了预定义的小写值,而设备期望大写值 解决方案: 1. 通过自定义配置修正风速属性: 在`configuration.yaml`中添加以下配置: [code] 2. 或者使用更完整的设备自定义配置: ```yaml xiaomi_miot: device_customizes: lumi.acpartner.mcn02: miot_type: urn:miot-spec-v2:device:acpartner:0000A00C:lumi-mcn02:1 select_properties: fan_level fan_speeds: Low,Medium,High,Auto chunk_prope

Excerpt saved from GitHub on 2026-10-23.

Issue #2570 · 2025-07
Xiaomi Electric Scooter 5 ProPartly works CloudOnly an info button entity; no battery or odometer sensors
Saved copy
I enabled debug logging, however there are no logs when I press `button.xiaomi_5pro_2486_info`. I tried 'Cloud' mode - still nothing Temporary workaround does not work for me. So I kindly request to add full support for device model: xiaomi.scooter.5pro FULL ATTRIBUTE BLOCK: ``` button.info: Xiaomi Electric Scooter 5 Pro NAAA model: xiaomi.scooter.5pro did: "1150140312" mac: CC:4D:75:D4:24:86 lan_ip: "" app_link: mihome://device?uid=1794605420&did=1150140312 miot_type: urn:miot-spec-v2:device:scooter:0000A077:xiaomi-5pro:1 available: true home_room: 1794605420 Garage button.info: Xiaomi …

Excerpt saved from GitHub on 2026-10-23.

Issue #2807 · 2026-03
HFJH fish bowl aquariumNot working LocalAdded by local IP and token but goes unavailable when internet is down
Saved copy
{ "state": { "entity_id": "button.hfjh_m100_4f95_info", "state": "2025-12-02T18:11:20.454110+00:00", "attributes": { "button.info": "Akvas", "model": "hfjh.fishbowl.m100", "did": "", "mac": "2C:19:5C:0C:4F:95", "lan_ip": "192.168.1.62", "app_link": "", "miot_type": "urn:miot-spec-v2:device:fish-tank:0000A0A2:hfjh-m100:3", "available": true, "home_room": "", "icon": "mdi:information", "updater": "local", "fish_tank.on": true, "fish_tank.water_pump": true, "fish_tank.pump_flux": 1, "fish_tank.temperature": 25, "fish_tank.water_pump_status": 2, "no_disturb": false, "no_distu

Excerpt saved from GitHub on 2026-10-23.

Issue #2758 · 2026-01
Mija Smart Plug 3Not workingBroken in Home
Device not shown in HASS Bridge after pairing
Via HACS Xiaomi Miot Auto, not visible in HomeKit Bridge; closed not planned
Saved copy
The problem Hi I'm new to `home assistant` (`hass`). I am having the following problem with `Homekit Bridge`: First, I installed `Xiaomi Miot Auto `in hass with `HACS `to make my `Mija Smart Plug 3 `available in hass. This step has worked and I can control `Mija Smart Plug 3 ` in `Xiaomi Miot Auto`. Then I clicked `SUBMIT `all the way in `Homekit Bridge `as per the default configuration and I don't see the corresponding device in the newly appearing control tab for the service `HASS Bridge:21064`. The QR code that appears when I scan it with Home in my iPhone also shows that the device cannot …

Excerpt saved from GitHub on 2026-10-23.

Issue #94430 · 2023-06
Xiaomi CW700S cameraNot working CloudCamera control image gone; other cameras (CW400) fine
Saved copy
Device model / 设备型号 isa.camera.700sa ### Component version / 插件版本 1.0.20 ### HA core version / HA版本 2025.9.3 ### Integrated mode / 集成方式 Automatic (自动模式) ### The problem / 问题详情 Didnt touch anything but the Camera Control Image of my cw700s (isa.camera.700sa Firmware: 5.3.1_0081 ☁️) doesnt show up anymore, tried upgrading the Xiaomi Miot Auto, didnt help, I'm now on Version 1.0.20. but tried 1.0.21. and also 1.0.22 without success. This camera image was working before with 1.0.20, it was able to show the last recorded motion event video what was really cool, since that the camera hasnt been …

Excerpt saved from GitHub on 2026-10-23.

Issue #2643 · 2025-09
Xiaomi Smart Camera CW300Not working CloudSame missing camera image though motion data and stream address update
Saved copy
Device model / 设备型号 isa.camera.700sa ### Component version / 插件版本 1.0.20 ### HA core version / HA版本 2025.9.3 ### Integrated mode / 集成方式 Automatic (自动模式) ### The problem / 问题详情 Didnt touch anything but the Camera Control Image of my cw700s (isa.camera.700sa Firmware: 5.3.1_0081 ☁️) doesnt show up anymore, tried upgrading the Xiaomi Miot Auto, didnt help, I'm now on Version 1.0.20. but tried 1.0.21. and also 1.0.22 without success. This camera image was working before with 1.0.20, it was able to show the last recorded motion event video what was really cool, since that the camera hasnt been …

Excerpt saved from GitHub on 2026-10-23.

Issue #2643 · 2025-09
Huoman PF20i pet feederRequestedFeeder entities PR open
Saved copy
Summary Add MIoT support for `huoman.feeder.pf20i`. - Expose feeder fault status, desiccant remaining time, physical-controls lock, manual feeding, and desiccant-life reset. - Represent `indicator_light.on` as the feeder's night mode switch. - Add a local persistent `number` entity for the manual feeding serving size (`1–20`). - Pass the locally stored serving size to the `pet_food_out` action. - Preserve the existing serving-size entity identity during migration. `feeding-measure` is not readable through the Xiaomi cloud API for this model, so it must not be treated as a device-state …

Excerpt saved from GitHub on 2026-10-23.

PR #2946 · 2026-09
IMILAB C40 cameraRequestedFull support PR closed unmerged
Saved copy
Add device customization with all MIOT properties and actions - Add camera to local devices list - Improve camera.py with human_tracking support for PTZ cameras - Add comprehensive pt-BR translations for camera entities - Add comprehensive en translations for camera entities Supported features: - Camera control (power, night vision, watermark, tracking) - Memory card management (status, space, format) - Motion and AI detection (human, pet, baby cry, sound) - Cruise control and virtual fence - Fire/smoke detection - Streaming via Google Home (HLS) and Alexa (RTSP)

Excerpt saved from GitHub on 2026-10-23.

PR #2752 · 2026-01
Leeshow fanRequested CloudCloud-only; local control requested
Saved copy
Based on the information provided about your Leeshow fan (model: leshow.fan.ss4), here's what you need to know about enabling local control: 1. Current Status: - Your fan is currently operating in cloud mode (as indicated by the "Updated over cloud" message) - The integration is set to Automatic mode, which should prefer local control when available 2. Local Control Possibility: - To check if local control is possible, you can: * Go to the integration's options * Try switching to "Local mode" manually * Check if the device appears in the [list of supported local …

Excerpt saved from GitHub on 2026-10-23.

Issue #2519 · 2025-05
qdhkl air fresh fb27RequestedSupport PR closed unmerged
Saved copy
Summary Add support for the qdhkl.airfresh.fb27 air fresh device with MIoT specification urn:miot-spec-v2:device:air-fresh:0000A012:qdhkl-fb27:1 ## Changes - Added device to supported local devices list in `miot_local_devices.py` - Added device customization configuration in `device_customizes.py` with correct MIoT specification type Closes #2747 🤖 Generated with Claude Code

Excerpt saved from GitHub on 2026-10-23.

PR #2748 · 2026-01
Viomi vacuum v10Requested LocalLocal support PR open
Saved copy
… contribution. The code, tests, live-device testing and this description were all done by Claude Opus 5.5. ## Summary Adds local (host/token) support for `viomi.vacuum.v10`, a Mi Robot Vacuum-Mop P variant built by Viomi. The device only answers legacy miio commands on the LAN. MIoT `get_properties` times out, so until now it had no local control in this integration. Its MIoT spec (`viomi-v10:1`) uses the same siid/piid/aiid layout as `viomi.vacuum.v8`, and python-miio's `ViomiVacuum` already treats `v6/v7/v8/v10/v13` as one family. ## Changes - `miio2

Excerpt saved from GitHub on 2026-10-23.

PR #3004 · 2026-10
Xiaomi H50 Pro vacuumRequestedDevice-specific support PR open
Saved copy
Adds device-specific support for xiaomi.vacuum.ov42gl (H50 Pro) ### TLDR ## Summary This PR adds support for the Xiaomi H50 Pro vacuum (model `xiaomi.vacuum.ov42gl`) to the Home Assistant Xiaomi MIoT integration, exposing roughly 150 properties and 88 actions from the device's full MIoT specification. ## Features - Map camera (`camera.map`): downloads the encrypted map from Xiaomi's cloud, decrypts it (AES-128-CBC, device-specific key derivation), and renders it as a PNG, robot position, charge station, cleaned path, forbidden zones, refreshed every 30s. Individual layers (base station, …

Excerpt saved from GitHub on 2026-10-23.

PR #2914 · 2026-08
Xiaomi Gateway Hub 1Won’t be supported CloudBluetooth sensors behind it only supported via cloud mode
Saved copy
我的网关是中枢网关xiaomi.gateway.hub1,在Xiaomi Gateway 3中不支持该设备。。。 在HA configuration.yaml中给xiaomi.gateway.hub1加上了如下配置,开发者工具那边能看到网关的updater变成了local,但是温度计的还是cloud。 想请教下大佬这里是不是有某种限制?蓝牙设备就一定要读取cloud的状态? @al-one [code]

Excerpt saved from GitHub on 2026-10-23.

Issue #2716 · 2025-12

Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Cloud polling

Goes through the maker’s cloud, asking it for updates every so often. Needs the internet and an account.

Details

Installs (analytics)21,845 (3.08%)
GitHub stars6,183
Latest versionv1.1.5 (2026-10-04)
Set up in the UIYes
Maintainers@al-one
LicenseApache-2.0

Devices listed in its README

  • 🔌 outlet / switch
  • 💡 light
  • ❄️ air-conditioner / air-conditioner-outlet / ir-aircondition-control
  • 🌀 fan / ceiling-fan
  • 🛀 bath-heater / 🔥 heater / thermostat
  • 📷 camera / video-doorbell ❓️
  • 📺 television / 📽️ projector / tv-box
  • 🗣️ intelligent-speaker ❓️
  • 🎮️ ir-remote-control ❓️
  • 🔐 lock / 🚪 door
  • 👕 washer / dryer / fridge
  • 🚰 water-purifier / kettle
  • ♻️ air-purifier / air-fresh / hood
  • 🌡 temperature-humidity-sensor / submersion-sensor / smoke-sensor
  • 🥘 cooker / pressure-cooker / electric-steamer
  • 🍲 induction-cooker / oven / microwave
  • 🍗 air-fryer / multifunction-cooking-pot
  • 🍵 health-pot / ☕️ coffee-machine
  • 🍹 juicer / fruit-vegetable-purifier
  • ♨️ water-heater / dishwasher / foot-bath
  • 🦠 steriliser / towel-rack
  • 🪟 curtain / window-opener / airer
  • 🧹 vacuum / mopping-machine
  • 💦 humidifier / dehumidifier / diffuser
  • 🍃 air-monitor / 🪴 plant-monitor
  • 🛏 bed / blanket / 😴 sleep-monitor
  • 💺 chair / table
  • 💆 massager / magic-touch
  • 🏃 walking-pad / treadmill
  • 🚽 toilet / cat-toilet / 🪥 toothbrush
  • 🐱 pet-feeder / ⛲ pet-drinking-fountain / 🐟 fish-tank
  • 🦟 mosquito-dispeller / germicidal-lamp
  • 🚘 rearview-mirror / head-up-display
  • ⌚️ watch / bracelet
  • 🚶 motion-sensor / 🧲 magnet-sensor ❓️
  • 📳 vibration-sensor
  • 🌐 router / 🖨 printer
  • Wireless Switch (like: lumi.sensor_switch.v1 / lumi.remote.b686opcn01)
  • Motion Sensor (like: lumi.sensor_motion.v1)
  • Window and Door Sensor (like: lumi.sensor_magnet.v1)

Notable forks

Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.

ForkStarsLast pushDescription
esin/hass-xiaomi-miot★ 72023-03-19Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成
yichengchen/hass-xiaomi-miot★ 32023-11-21Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成

In ReReHome

Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.

Bridges get their own settings page listing the accessories behind them.