[APP][Pro] Xiaomi Mi Home App

App Store Production: https://homey.app/a/com.xiaomi-miio
App Store Test: https://homey.app/a/com.xiaomi-miio/test

About the app

Use Homey to control supported Wi-Fi devices that are normally managed through the Xiaomi Mi Home app.

The app can also control supported Xiaomi and Aqara Zigbee devices connected through a compatible Xiaomi Mi Home Gateway. You can use multiple gateways and distribute your Zigbee devices between them; the app itself does not impose a fixed limit on the number of connected Zigbee devices.

If you want to connect Zigbee devices directly to Homey without using a Xiaomi gateway, use the separate Xiaomi Zigbee app available in the Homey App Store.

A list of devices currently supported by this app is available here:

Important information

Xiaomi does not officially support controlling these devices outside the Mi Home ecosystem. Pairing therefore requires additional steps and, in some cases, a certain level of technical knowledge.
If device support LAN/Local MioT, it must be on the same VLAN as Homey

Please also keep in mind that:

  • Not every Xiaomi ecosystem device is supported.
  • Devices that look identical may use different model IDs or protocols.
  • Regional variants, such as EU and CN models, may behave differently.
  • Xiaomi may change its devices, firmware, cloud services or ecosystem at any time.
  • Such changes may temporarily or permanently prevent Homey from communicating with a device.

Is an existing device no longer working?

For general help and troubleshooting, first post your question in this Homey Community topic.

Please describe the issue in English and include as much relevant information as possible:

  • Confirmation the device is on the same VLAN and subnet, as Homey
  • The exact product name
  • The device model ID, for example zhimi.airpurifier.mc1
  • The product variant or region, such as EU or CN
  • The installed app version
  • The Homey model and Homey firmware version
  • Whether the device previously worked
  • Any relevant error message
  • The steps needed to reproduce the problem

Please also send a diagnostic report from within the Xiaomi Mi Home app on Homey and include the diagnostic report ID in your post.

If the problem has been identified as an app bug and can be reproduced, you may create a GitHub issue here:

Before opening a new issue, please check whether the same problem has already been reported.

Pairing miIO devices

For Homey to communicate with a device through the miIO protocol, the device’s unique token is usually required. Retrieving this token may require additional tools and technical knowledge.

Token retrieval instructions:

Video instructions:

To determine which Homey driver should be used for your device, consult the supported-device list:

Whenever possible, give the Xiaomi device a fixed IP address or DHCP reservation. This helps prevent communication problems if its IP address changes.

Requesting support for a new device

Not every Xiaomi ecosystem device can be supported automatically. Before requesting support, check whether the device is already listed:

Support for a new device normally requires at least one of the following:

  1. An existing open-source implementation or library that documents the device’s miIO methods and properties.
  2. Technical information supplied by a user who owns the device, including its exact model ID and the methods, properties and values used by the device. This information can often be obtained by inspecting or capturing communication between the device and the Mi Home app. Further information is available in the python-miio contribution guide.
  3. Physical access to the device for development and testing. This generally means that a user would need to provide or send the device to the developer.

Without access to the protocol information or the physical device, adding support is usually not possible.

Requests for new-device support can be submitted here:

When submitting a request, always include:

  • The exact product name
  • A link to the exact product variant
  • The complete model ID, for example roborock.vacuum.a15
  • The region or variant, such as EU or CN
  • Any known miIO methods and properties
  • Links to an existing implementation in another open-source project, if available

Please do not submit only a marketing name or product photograph. Xiaomi frequently sells visually similar products with different model IDs and protocols.

Support the development

:heart: Community apps and appreciation

These Homey Community apps are developed and maintained in my spare time.

Did you know? In my experience maintaining community Homey apps, only a very small proportion of users choose to support their development financially—even when a new device integration or specific feature has been implemented at their request.

Contributions are never required, but they are a meaningful way to recognise the time invested in development, testing, compatibility updates and ongoing user support. If one of my apps has been useful to you, you can optionally show your appreciation here:

:heart: Send an optional thank-you via PayPal

A contribution does not unlock additional features or affect the support you receive. It is simply a way to say thank you.

My Homey apps

Smart Presence  | 72x72
Smart Presence
Wi-Fi presence detection
Xiaomi Mi Home | 72x72
Xiaomi Mi Home
Xiaomi Mi Home devices
Broadlink    | 72x72
Broadlink
IR, RF and smart devices
TP-Link KASA LAN |                     72x72
TP-Link KASA LAN
Local Kasa control
Yeelights LAN | 72x72
Yeelights LAN
Local Yeelight control
Xiaomi Miija | 72x72
Xiaomi Miija
Temperature and humidity sensors
Octoprint    |            72x72
Octoprint
Monitor your 3D printer
Virtual Radar | 72x72
Virtual Radar
ADS-B aircraft tracking
enigma2      | 72x72
enigma2
Control Enigma2 receivers

View all my Homey apps →

Reserved

Thanks for the heads up of the new forum - might have missed it if not for your post @Phuturist!

Concerning Roborock S50 (version 2)

I have an issue where homey looses contact to the vacuum. Each time you’ve published an update, the vacuum has started to report status changes etc again for a few days, then it suddenly stops and I cannot neither retrieve status changes nor control it. I will from now on try to restart homey / xiaomi mi home app to see if it solves the problem or not.

Is this an issue others are familiar with?

Well, there is an issiue with the miio library that causes time outs when sending commands. This might be related. When you think it has lost connection, have you tried sending the same command like 8 - 10 times in a row to see if one of them eventually gets through.

The issue is registered here: https://github.com/jghaanstra/com.xiaomi-miio/issues/27

Hi,
Since I’m in love with my Yeelights I bought an Homey to connect them.
Unfortunately the Ceiling light is not working properly. It’s missing some fine tuning.
When I try to set Night mode in a flow the lowest setting is way higher then the lowest setting in the Yeelight app. For example in the Yeelight app the light can be set like real moonlight, bright enough not to bounce your head on a door and dark enough to fall asleep easily.
My light is the Yeelight LED Ceiling Light, modell number YLXD01YL.
I would be grateful if you could help me/us with this issue.

Hello Geurti, I have looked at the code but did not find anything that could cause this. I did not write the code for the night mode myself though. I’ll ask the author of the code if he is able to explain this and will let you know.

Hi!

Thanks for awesome work with the app! I have a problem sending the ”go to dock” command from homey to my Roborock.

The roborock either doesn’t react or just stops mid-room without a word. Is this a known problem?

There is an issue with the miio library which causes send commands to time out. See [Bug] Sometimes commands to miio device time out and need to be repeated · Issue #27 · jghaanstra/com.xiaomi-miio · GitHub.

The vacuum cleaner not returning to the dock when requested but stopping instead is not a know problem. Which version of the vacuum cleaner are you using?

S50 (the white roborock)

I can get the ”on” command to work even if I have to send it more then once. But dock just won’t work.

To avoid disappointment when buying a desk light, in the App description is written that the Eyecare Lamp 2 is supported, but untested. I own one and it is not supported by the App.

Thanx, I need to update that. It’s related to a bug in the miio library which has been reported here: Philips Eyecare 2: this.setModes is not a function · Issue #145 · aholstenson/miio · GitHub

Hopefully that bug will get squashed!

Before ordering a non supported light, could someone please tell me which Yeelight Ceiling light is supported. There seem to be a lot of different versions.

Thanks!

They are all suported. Yeelights have an open API, I have written support for this myself and dont depend on a 3rd library like miio.

Thanks for the conformation Jelger!

Hello!

Can someone tell me wich version(s) of the xiaomi gateways are supported, and what I can do with it using this app? There are 3 versions of it currently…

Probably all gateways are supported but only the led ring. From the app description:

  • Xiaomi Gateway Light - alarm not supported yet and subdevices are supported directly with the Xiaomi ZigBee app (tested)

Aaaah now I get it. Its only the light that is working… Thanks!

Hallo,

Nu vraagt de Homey voor het koppelen het ip adres een token en een polling.
Ip adres check
Token die weet ik niet.
Polling die weet ik ook niet.

Wie kan mij helpen? Heb wel wat gelezen over de token. Maar wordt daar niet echt wijzer van. Graag in jip en Janneke taal.

Alvast bedankt