Why Xiaomi and HomeKit are not friends out of the box
Xiaomiβs robot vacuum cleaners are among the most popular smart home devices thanks to their combination of price, functionality and integration with the Mi Home ecosystem. However, Apple owners face a problem: officially no Xiaomi robot vacuum cleaner supports the HomeKit protocol. This means that you will not be able to control it through the Home app on your iPhone or iPad, enable automation with other Apple devices (for example, start cleaning when you leave home), or use Siri voice commands.
The reason lies in the policy of Xiaomi: the company relies on its own ecosystem. Home/Mi Home Lite and partner platforms like Google Home or Amazon Alexa. But there are workarounds! In this article, we'll break down three workable integrations (via Home Assistant, ATHOM And Mi Home Bridge, their pros and cons, and the typical bugs that get in the way of connectivity. 2 Pro, Dreame D9 viomi V3 into 2026 year.
β οΈ Important: Before you start, make sure your robot vacuum cleaner is connected to Wi-Fi and runs on the Mi Home app. Without it, HomeKit integration is impossible!
Method 1: Connecting with Home Assistant (most reliable)
Home Assistant is an open-source smart home platform that supports thousands of devices, including Xiaomi robot vacuum cleaners, and allows you to βtranslateβ commands from Mi Home to the HomeKit protocol, making the device visible to Apple.
- π§ Full control of the device (including cleaning areas, schedule, suction level).
- π Stable operation without cloud servers (all data is processed locally).
- π οΈ Support for all models Xiaomi/Dreame/Viomi (even obsolete).
You'll need to set up:
- Computer or Raspberry Pi (recommended by Raspberry Pi 4 or Home Assistant Yellow).
- Installed Home Assistant (instructions for installation β official website).
- Mi Home Access Token (see below)
Install Home Assistant on Raspberry Pi or server |
Download the Home Assistant app on iPhone|
Get token access to Mi Home (via Mi Home Token Extractor)|
Write it down. IP-address of a robot vacuum cleaner on the local network|
Disable two-factor authentication in Mi Home (temporarily)
-->
Step 1: Obtaining Mi Home Token
The token is used to authenticate Home Assistant in the Xiaomi cloud, and you can do this in two ways:
- Through the Mi Home Token Extractor (Android): Install the app from GitHub. Sign in to your Mi Home account. Select a robot vacuum cleaner from the list of devices and copy the token.
- Through Packet Capture (iOS): Install Packet Capture from the App Store. Run traffic capture, open Mi Home and wait for the data update. Log a request to api.io.mi.com, the token will be in the ssecurity setting.
Step 2: Set up Home Assistant
Open the configuration file configuration.yaml and add the following code (replace). IP_Address and your Token to your data):
vacuum:
- platform: xiaomi_miio
host: IP_ ADRES
token: Your Token
name: "Xiaomi Robot Vacuum"Then add integration with HomeKit:
homekit:
- name: HomeKit Bridge
port: 51827
filter:
include_entities:
- vacuum.xiaomi_robot_vacuum
entity_config:
vacuum.xiaomi_robot_vacuum:
name: Xiaomi vacuum cleaner
feature_list:
- start_pause
- stop
- return_home
- battery_level
- statusReboot Home Assistant, and then the robot vacuum will appear in the Home app on the iPhone.
π‘
If the robot doesnβt show up in HomeKit, check that port 51827 is open in your routerβs firewall settings.
Method 2: Using the bridge ATHOM (beginner)
If Home Assistant seems too complicated, you can use the ready-made solution β the bridge. ATHOM (This device connects to your network and βtransfersβ commands from Mi Home to HomeKit without having to configure the server.
Pros of the method:
- π Easy to install (no need for Raspberry Pi or programming knowledge).
- π± Support for all Xiaomi devices, including vacuum cleaners, lamps and sensors.
- π Automatic firmware updates.
Cons:
- π° The cost of the bridge (~3,000 to 5,000 rubles).
- π Dependence on the cloud ATHOM (When servers fail, management may be lost).
Instructions for connection:
- Buy a bridge. ATHOM Mi Home Bridge (sold on AliExpress or in specialty stores).
- Connect the bridge to power and your Wi-Fi network.
- Install the app ATHOM on your iPhone and log in.
- In the app, select Add Device β Mi Home and enter your username/password from your Xiaomi account.
- Once synchronized, the robot vacuum will appear in the list of devices. Click Add to HomeKit.
- Scan it. QR-code in the application "Home" on the iPhone.
What to do if the bridge ATHOM Can't find a robot vacuum cleaner?
Limitations of the method:
Through ATHOM Only basic functions are available:
| Function | Available on HomeKit? | Note |
|---|---|---|
| Start/pause cleaning | β Yes. | It's stable. |
| Return to base | β Yes. | Sometimes it is delayed for 10-20 seconds. |
| Installation of cleaning areas | β No. | Only through Mi Home. |
| Adjustment of suction power | β No. | β |
| Voice control (Siri) | β Yes. | Teams: "Hey Siri, run the vacuum cleaner" |
π‘
Bridge. ATHOM β Best choice for beginners, but only for basic management. For advanced features (cleaning areas, schedules) you need Home Assistant.
Method 3: Manual addition via Mi Home Bridge (for experienced)
If you donβt want to buy a bridge ATHOM, You can build your own software bridge using a Node-RED or Python script, and this requires programming knowledge, but gives you complete control of the device.
Tools required:
- π₯οΈ Computer with Node.js installed (version 14)+).
- π¦ The miio library (installed via npm install miio).
- π Mi Home Access Token (see Method 1).
Adjustment steps:
- Install Node-RED: npm install -g --unsafe-perm node-red
- Launch Node-RED and open the web interface at http://localhost:1880.
- Install the node-red-contrib-mi-home package through the Manage Palette menu.
- Create a new flow with a miio vacuum node and enter IP-robot address and token.
- Add the homekit-bridge node and connect it to the vacuum cleaner node.
- Start the stream - the robot will appear in HomeKit.
Important: This method requires that a computer with Node-RED work all the time.
Home Assistant (full control)|
ATHOM (simplicity)|
Node-RED/Python (experiment)|
Not yet.
-->
Typical errors and their solutions
Even if you set up the integration right, it might not work, and here are the most common problems and ways to fix them:
β οΈ Warning: If the robot vacuum cleaner stopped responding to commands from HomeKit but is running on Mi Home, the access token has most likely expired. Update it via Mi Home Token Extractor and restart Home Assistant or Bridge.
| Problem. | Possible cause | Decision |
|---|---|---|
| The robot is not displayed in HomeKit | wrong token or IP-address | Check the token through the Mi Home Token Extractor and make sure that IP-The robot's address has not changed (set up static). IP router) |
| Commands are executed with a delay | Xiaomiβs cloud servers are overloaded | Use local management (in Home Assistant, specify the use_miot: false) |
| HomeKit shows "Not responding" | The bridge or Home Assistant has shut down. | Check the power of the device and restart the service |
| Cleaning areas are not working. | Limitation of the HomeKit protocol | Use Home Assistant with custom maps or manage zones through Mi Home |
Additional advice:
- π If the robot is βhangingβ in HomeKit, try removing it from the Home app and adding it again.
- π‘ For stable operation, turn off the energy-saving mode on the router for Xiaomi devices.
- π If you use two-factor authorization in Mi Home, temporarily turn it off while you set up.
Comparison of methods: which one to choose?
The choice of integration method depends on your technical skills and functional requirements.
| Criteria | Home Assistant | ATHOM | Node-RED/Python |
|---|---|---|---|
| Difficulty setting up | ββββ | β | βββββ |
| Cost | Free (required Raspberry Pi) | ~3 000β5 000 β½ | Free of charge. |
| Supported functions | All (including cleaning areas) | Basic (start/stop/return) | Everything (requires refinement) |
| Dependence on the cloud | β No (local management) | β Yes (servers) ATHOM) | β No. |
| Support for new models | β Yes (community updates) | β Yes (firmware updates) | β οΈ Manual refinement required |
Recommendations:
- π For maximum control: Home Assistant + locality.
- π― For simplicity: bridge ATHOM (if basic functions are lacking).
- π οΈ For experiments: Node-RED or Python script.
Security: Risks and How to Avoid Them
Integrating Xiaomi devices with HomeKit via third-party bridges or scripts carries potential risks:
β οΈ Note: When using a Mi Home access token, third parties can theoretically access your devices. Never share a token or store it in open repositories (e.g. on GitHub).
How to minimize the risks:
- π Use local management (turn off cloud sync in Home Assistant).
- π Regularly update the bridge firmware ATHOM or Home Assistant.
- π‘οΈ Set up network segmentation: place the robot vacuum cleaner and bridge in a separate subnet (VLAN).
- π± Enable two-factor authorization in your Mi Home account after receiving the token.
What to do if your account is compromised?
- Change your password in Mi Home immediately.
- Revoke all access tokens (remove devices from Home) Assistant/ATHOM and add again).
- Check the list of connected devices in your Xiaomi account for unknown gadgets.