# \[APP\]\[Pro\] Xiaomi Mi Home App

**URL:** <https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118>\
**Category:** Apps\
**Tags:** app, homey-pro\
**Created:** [August 22, 2018, 11:14am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118 "2018-08-22T11:14:52Z")\
**Posts on this page:** 20\
**Page:** 24

<div class="post-metadata">

**Author:** ![Kingcool](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kingcool/32/9538_2.png) [@Kingcool](https://community.homey.app/u/Kingcool)\
**Post date:** [September 3, 2019, 9:22pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/473 "2019-09-03T21:22:16Z")

</div>

Will test tmrw 🙂

---

<div class="post-metadata">

**Author:** ![viix](https://avatars.discourse-cdn.com/v4/letter/v/4af34b/32.png) [@viix](https://community.homey.app/u/viix)\
**Post date:** [September 4, 2019, 7:06am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/474 "2019-09-04T07:06:35Z")

</div>

Im getting this on athom app run

```
✓ Pre-processing app...
✓ Validating app...

Warning: drivers.mi-robot is missing an array 'energy.batteries' because the capability measure_battery is being used. Specifying the type of battery will be required in the future.

Warning: drivers.air-monitor is missing an array 'energy.batteries' because the capability measure_battery is being used. Specifying the type of battery will be required in the future.

✓ Homey App validated successfully against level `debug`

Homey Offline
```

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 4, 2019, 10:01am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/475 "2019-09-04T10:01:28Z")

</div>

You should try again. Homey offline seems like a connection issue unrelated to my app. The warning is due to an unimplemented feature (energy manager which comes with firmware 3.0.0).

---

<div class="post-metadata">

**Author:** ![Kingcool](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kingcool/32/9538_2.png) [@Kingcool](https://community.homey.app/u/Kingcool)\
**Post date:** [September 4, 2019, 2:19pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/476 "2019-09-04T14:19:08Z")

</div>

Ok so got this today with the new version you posted on github yday:

(node:20197) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 4, 2019, 3:04pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/477 "2019-09-04T15:04:47Z")

</div>

> [@Kingcool](#):
>
> (node:20197) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

There should be more information on the console when running the app with `athom app run`. This does not tell me anything where the error came from.

---

<div class="post-metadata">

**Author:** ![Kingcool](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kingcool/32/9538_2.png) [@Kingcool](https://community.homey.app/u/Kingcool)\
**Post date:** [September 4, 2019, 7:22pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/478 "2019-09-04T19:22:33Z")

</div>

> 

─────────────── Logging stdout & stderr ───────────────  
2019-09-04 21:20:31 [log] [XiaomiMiioApp] Initializing Xiaomi Mi Home app …  
2019-09-04 21:20:34 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:20:46 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:20:58 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:03 [log] [ManagerDrivers] [zhimi-fan] [1] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:10 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:15 [log] [ManagerDrivers] [zhimi-fan] [1] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:22 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:27 [log] [ManagerDrivers] [zhimi-fan] [1] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:33 [log] [ManagerDrivers] [dmaker-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:33 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:39 [log] [ManagerDrivers] [zhimi-fan] [1] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:45 [log] [ManagerDrivers] [dmaker-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:45 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:51 [log] [ManagerDrivers] [zhimi-fan] [1] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:57 [log] [ManagerDrivers] [dmaker-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }  
2019-09-04 21:21:57 [log] [ManagerDrivers] [zhimi-fan] [0] { Error: Could not connect to device, handshake timeout  
at Timeout.handshakeTimeout.setTimeout [as \_onTimeout] (/node\_modules/miio/lib/network.js:450:17)  
at ontimeout (timers.js:498:11)  
at tryOnTimeout (timers.js:323:5)  
at Timer.listOnTimeout (timers.js:290:5) code: ‘timeout’, device: null }

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 4, 2019, 7:36pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/479 "2019-09-04T19:36:19Z")

</div>

Well, that was a nice try but I guess it ends here. I have no clue how to troubleshoot these timeouts without the actual device so I wont be adding support for the fans. It seems to be some connection issue. This usually happens when a wrong IP or token is used.

Just out of curiosity, do you have two fans connected, a zhimi and a dmaker model? And when pairing these did you see information about the device after hitting the test button?

---

<div class="post-metadata">

**Author:** ![Kingcool](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kingcool/32/9538_2.png) [@Kingcool](https://community.homey.app/u/Kingcool)\
**Post date:** [September 4, 2019, 8:00pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/480 "2019-09-04T20:00:46Z")

</div>

There is 2 Mi fan devices in the app when I press the add button in the app. So I tested both. One seams to be added as zhimi and one as dmaker.

I don’t know if I do it right when I take the token out. But it seams to change as I had a new token today for my fan.

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 4, 2019, 8:04pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/481 "2019-09-04T20:04:09Z")

</div>

You should only add it as the correct device (in your case probably a ZhimiFan). Remove the Dmaker device. If you are not sure about the correct token you will need to check that first as the errors you have could very well be caused by that.

---

<div class="post-metadata">

**Author:** ![Kingcool](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kingcool/32/9538_2.png) [@Kingcool](https://community.homey.app/u/Kingcool)\
**Post date:** [September 4, 2019, 8:31pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/482 "2019-09-04T20:31:17Z")

</div>

But I don’t know which one of the once are the Zhimifan, both of them is called Mifan in the app 🙂

I’ve tried to discover the token but it’s hidden. So I had to connect to the wifi of the fan and then get the token out. If I then try to connect to it through the app, do you think the token will be another one?

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 4, 2019, 8:59pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/483 "2019-09-04T20:59:24Z")

</div>

Ah, I see the duplicate names now. I have fixed that on GitHub. Just remove both devices and re-pair the correct one. But first you need to retrieve the correct token. The token of a miio device will change once you connect it to your router. You need to use one on the supplied methods here to retrieve the correct token after it’s been connected to your WiFi.

> <https://github.com/jghaanstra/com.xiaomi-miio/blob/master/docs/obtain_token.md>

---

<div class="post-metadata">

**Author:** ![Tukun](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tukun/32/14477_2.png) [@Tukun](https://community.homey.app/u/Tukun)\
**Post date:** [September 7, 2019, 11:11am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/484 "2019-09-07T11:11:41Z")

</div>

Hi there, great APP! I have verious Xiaomi products and I am wondering wether it is possible to get the Xiaomi MI Rice Cooker integrated as well?

---

<div class="post-metadata">

**Author:** ![HarmJ](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harmj/32/9835_2.png) [@HarmJ](https://community.homey.app/u/HarmJ)\
**Post date:** [September 12, 2019, 12:50pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/485 "2019-09-12T12:50:32Z")

</div>

Seems like that after the latest update to firmware 3.5.4\_0622 my Roborock S6 isnt working correctly any more. The flow cards wont trigger the cleaning options. After returning to the dock the status is still cleaning. Anyone with the same problem?

---

<div class="post-metadata">

**Author:** ![chinswain](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/chinswain/32/8047_2.png) [@chinswain](https://community.homey.app/u/chinswain)\
**Post date:** [September 18, 2019, 2:43pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/486 "2019-09-18T14:43:42Z")

</div>

Hi,

I think I see the issue, it does not update the night mode when the Yeelight app schedule changes it (Until a device turns on the light).

I use the Yeelight schedule (within mobile app) so the lights come on in night mode between 21:00 and 06:00

 ![Screenshot_20190918-123506_Yeelight](https://us1.discourse-cdn.com/flex025/uploads/athom/original/2X/5/54e3d07843fc93be89b4500b8bb9b925cfd80037.jpeg)

My flow checks if night mode is on before turning on the light from a movement sensor, in case the light has been switched to day mode intentionally. So when turning on night mode via the scheduler it does not register with Homey.

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 18, 2019, 3:16pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/487 "2019-09-18T15:16:11Z")

</div>

If that is the case it might be an issue with the Yeelight api where it does not broadcast an update when changed through the schedule. There is then no way for my app to know it has been changed. You should ask the Yeelight company about this

---

<div class="post-metadata">

**Author:** ![chinswain](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/chinswain/32/8047_2.png) [@chinswain](https://community.homey.app/u/chinswain)\
**Post date:** [September 18, 2019, 3:29pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/488 "2019-09-18T15:29:27Z")

</div>

I will raise it with them and let you know their response.

---

<div class="post-metadata">

**Author:** ![Jan\_Peeters](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jan_peeters/32/86660_2.png) [@Jan\_Peeters](https://community.homey.app/u/Jan_Peeters)\
**Post date:** [September 18, 2019, 6:56pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/489 "2019-09-18T18:56:30Z")

</div>

Good luck!

---

<div class="post-metadata">

**Author:** ![Andrey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/andrey/32/9729_2.png) [@Andrey](https://community.homey.app/u/Andrey)\
**Post date:** [September 19, 2019, 7:03am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/490 "2019-09-19T07:03:00Z")

</div>

Hi!

Are Xiaomi Yeelight / Viomi bath heaters supported by the app?

> **[US $129.58 |2019 Xiaomi VIOMI Smart LED Bath Heater APP Control 2400W Ceiling...](https://www.aliexpress.com/item/33062063353.html?spm=a2g0o.productlist.0.0.12cd4cc2juwQGl&algo_pvid=347791f2-f7fd-463c-9f79-29c910ed4e6c&algo_expid=347791f2-f7fd-463c-9f79-29c910ed4e6c-2&btsid=c4e28b6f-3d99-43cb-93e1-565fd4cecf67&ws_ab_test=searchweb0_0%2Csearchweb201602_1%2Csearchweb201603_52)**
>
> Smarter Shopping, Better Living! Aliexpress.com

> **[US $174.99 10% OFF|Xiaomi Yeelight Smart Bath Heater Bluetooth Mobile APP...](https://www.aliexpress.com/item/4000042554432.html?spm=a2g0o.productlist.0.0.6e3c2fa11Bk3tE&algo_pvid=93bb6d3e-f33c-474b-b1a4-162b1aa5af25&algo_expid=93bb6d3e-f33c-474b-b1a4-162b1aa5af25-2&btsid=c0780b08-f540-4f3c-8757-f2ca3d8db5cd&ws_ab_test=searchweb0_0%2Csearchweb201602_1%2Csearchweb201603_52)**
>
> Smarter Shopping, Better Living! Aliexpress.com

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 19, 2019, 9:35am UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/491 "2019-09-19T09:35:48Z")

</div>

No, at least one of these is a Bluetooth product instead of a WiFi product. And both do not have the Yeelight open api. If the first is a WiFi communicating though the miio protocol it would still not be added because the development of the miio library has stopped. No new products will be added.

---

<div class="post-metadata">

**Author:** ![Phuturist](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phuturist/32/49_2.png) [@Phuturist](https://community.homey.app/u/Phuturist)\
**Post date:** [September 22, 2019, 5:17pm UTC](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/492 "2019-09-22T17:17:12Z")

</div>

@Kingcool @viix what is the current status of you guys testing the Zihmi Fan and/or Dmaker fan. I’m about the revert any changes I made for this unless I can get clear info on what is (not) working.

[Previous page](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118.md?page=23)

[Next page](https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118.md?page=25)
