Homey Community Forum

Xiaomi mi flora sensor/ropot app

Xiaomi mi flora sensor/ropot app

This app integrate the Xiaomi mi flora sensor and Xiaomi mi flora ropot into Homey.


Keep in mind:

  • For an optimal signal strength keep the sensor within a close distance of Homey.
  • Always download the original Xiaomi Mi Flora app and add the devices to the app. This automatically updates the sensor’s firmware to the latest version.

Do you like the app? You can make me happy by buying me a beer!


Q1 Why can’t the sensor be found by Homey?

  • Check if the eensor is not connected to another bluetooth device. The Xiaomi Mi Flora app for example

Q1 Why are the readings from the sensors different than in the Xiaomi Mi Flora app?

  • It is caused by old firmware (2.7.0), try to update the sensors through the Xiaomi Mi Flora app

Q3 Is the app compatibel with v2.0.0?

  • The app is only compatible from v2.1.2 and up due to change to the BLE core.

Report Bugs for this App to the Developer

  • Please use the Link in the App Store and follow the community guidelines, the more info provided the faster it can be solved.


  • Stable v1.5.x compatible
  • Beta v1.5.x compatible (v2.0 currently in review)
  • Alpha v2.x compatible (breaks after one iteration due to Homey core bug)

Supported devices

  • Xiaomi mi flora pot
  • Xiaomi mi flora sensor

Release history

v1.0.0 - 09.04.2018

  • first alpha to app store.

v1.0.1 - 10.04.2018

  • add documentation
  • revert changes because it breaks the flow card.

v1.0.2 - 17.04.2018

  • moved capabilities to drivers because of RoPot missing one.
  • update capability name from fertilizer to nutritions.
  • change tags for capability in card to user preferred language.
  • add tags: report with a human readable report of the status.

v1.0.3 - 17.04.2018

  • add missing battery report translation

v1.0.4 - 18.04.2018

  • add missing icon
  • add documentation to readme

v1.0.5 - 20.04.2018

  • bump 1.0.4

v1.0.6 - 23.04.2018

  • bump 1.0.5

v1.0.7 - 27.04.2018

  • change trigger min/max with correct translation
  • fixed validation error
  • remove unused try catch
  • add trigger: ‘outside threshold’
  • add documentation
  • bubble up error and throw exception, but before that add new timeout

v2.0.0 - 17.05.2018

  • make drivers compatible with com.mi.flora
  • refactoring capabilities
  • add settings explanation for threshold
  • add min/max validation for threshold

v2.0.1 - 18.05.2018

  • change app id

v2.0.2 - 18.05.2018

  • mark device as broken due to missing capability battery

v2.0.3 - 25.05.2018

  • add support for ropot condition cards

v2.0.4 - 25.05.2018

  • add information on the pairing screen

v2.0.5 - 25.05.2018

  • removed test code

v2.0.6 - 25.05.2018

  • resolved merge conflicts

v2.0.7 - 17.08.2018

v2.0.8 - 17.08.2018

v2.0.9 - 01.10.2018

  • resolved issue: https://github.com/koktaildotcom/homey-mi-flora/issues/45 (Add a trigger card: Device is out of range )
  • add homeyCommunityTopicId for linking to new community forum
  • add html report for sending status report as email
  • improve error handling and prevent un-disconnected devices

v2.0.10 - 01.10.2018

  • add missing dependencies

v2.0.11 - 01.10.2018

  • add missing dependencies

v2.0.12 - 01.10.2018

  • improve settings page
  • verbose forced disconnect from BLE after error

v2.0.13 - 20.10.2018

  • filter the existing devices out of the device list on pairing
  • add readable time format to HTML report

v2.0.14 - 24.10.2018

  • throw error and stop loading if no devices can be found

v2.0.15 - 11.11.2018

  • add version number app for logging
  • improve check on available settings
  • make html rapport generating optional
  • add uuid to device settings for flora sensor

v2.0.16 - 11.11.2018

  • resolved ManagerSettings get exception
  • improve handling exceptions
  • limit timeout by 5 seconds
  • use a different strategy based on homey version

v2.0.17 - 11.12.2018

  • add BLE permission into manifest

v2.0.18 - 12.12.2018

  • removed BLE permission into manifest due to incompatibility with < v2.0.0

v2.0.19 - 21.12.2018

  • removed html report to prevent cpu warns
  • changed version number strategy because it failed with on 2.0.0
  • try to resolve not setting a timer on exception issue

v2.1.0 - 11.01.2019

v2.1.2 - 14.03.2019

  • connect to service directly

v2.1.3 - 15.03.2019

  • fixed bug that gives an error on pairing
  • moved update sequence to app to centralize
  • add callback on added device so updating starts right away

v2.1.4 - 15.03.2019

  • add identify possibility into settings
  • add initializing the retry counter before fail scenario
  • improve catching the exceptions within the handling function

v2.1.5 - 17.03.2019

  • bump version due to invalid build

v2.1.6 - 22.03.2019

  • call the callback after saving the settings to prevent throwing an error
  • change the min/max to better threshold

v2.1.7 - 20.04.2019

v2.1.8 - 20.04.2019

  • bump version v2.1.7 because its is rejected from the store somehow

v2.1.9 - 27.04.2019

  • try to discovery services with every update to prevent sequence bug (only compatible with >=2.1.2 because of the timout bug

v2.1.10 - 15.05.2019



Example flows:

Send a notification if some plant needs water.

by: @Skorpion

Create a log if the sensors did’t report anymore after 2 hours.

by: @Dijker

Log and send a push notification when a plant needs water.

by: @Robinjo

Log and send a push notification when to replace the battery.

by: @Koktail

1 Like

Moved flows to openings post

Can I tha alpha access? Thanks

The app is currently in beta.
See: https://apps.athom.com/app/com.mi.flora

I have had my 6 Mi Flora sensors up and running on Home Assistant for 4 months now without any problems.

Moving them into Homey has not been a breeze.

It looks like the sensors stop updating to Homey after a couple of hours, which is kinda strange.

I see that others have experienced the same error before, but it seems like it’s been fixed with newer versions of the Mi Flora App…

I, however, still can’t get them to update…

My config is:

Mi Flora Firmware: 3.1.9
Mi Flora App version: 2.0.8
Homey firmware: 1.5.11


That is strange, i’ve been running the app (2.0.x) for 6 months without a problem. The (1.0.x) app was not stable however, at that point i’ve switched the old app for the new app.

Have you tried to remove and add a sensor again?
Have you tried to remove and add the app again?
Are u using the “mi flora app” and connect it to the devices?
Do you have another app in Homey that uses BLE?

Can you send a log to the developer:
Goto: /manager/settings/#homey:manager:apps
Click one time inside the white frame with: Apps installed on Homey
Hover the app: homey-mi-flora with the key and wait until the Send to developer button appear and click on it.

A hard reset (taking out the power) did the magic for me. Tried several times with both installing and uninstalling the sensors and the app, and also “soft” resetting the Homey though the menu.

Thank for your quick reply and awsome app.

Good to hear. Happy to help. :smiley:

I’ve added the example flows from the old forum.

Hmmm… I sent you the logs…

As you can see from the logs, the Homey lost contact with all my Floras after a while, and contact was established again when the Homey rebooted due to an automatic software update.

So something here isn’t quite right.

I’ve looked into the log. At one point is said: “failed connection to peripheral: Error: Peripheral not found.”.
Looks like the connection in interupted, the app tries that 3 times. After that it will resume updating the next device.

Are you sure the device is in range? (max 4 meters)
Do you have another BLE device attached to Homey?
Is your ‘Home Assistant’ still updating the sensors?

The device is in the same place as they were when I was using Home Assistant, and they are all in my living room, so +/- 4 meter.

No… I don’t have any other BLE devices connected, and Home Assistant is not updating the sensors.

The strange thing here is that after every reboot of Homey, they seem to update perfectly for a while, and then fail.

The logging does not show any strange behavior en looks good. I think the delayed event for updating for the next update is lost by Homey somehow. Can you set your update interval to 15 minutes and test it again?

What I’m doing wrong, 2x Mi Flora sensors with same firmware version, both with fresh battery after adding first one, scanning doesn’t find second one. Mobile app off, bluetooth off when scanning.

Homey Firmware Version: 1.5.13-rc.11
Xiaomi Mi Flora v2.0.8 Leendert De Kok

You do nothing wrong, should be found. Have you see the other device the first time? Can you try to scan again and send me a log?

Tried differently, hard reset, taking battery from first one out and etc. And i tried to get log by your manual too but no button appered in Homey deskop App and from web view too. Can’t find some screencast or video in internet about that “log button hack” too

Can you send a log to the developer:
Goto: /manager/settings/#homey:manager:apps
Click one time inside the white frame with: Apps installed on Homey
Hover the app: homey-mi-flora with the key and wait until the Send to developer button appear and click on it.

In google chrome:
Goto: /manager/settings/#homey:manager:apps
Click one time inside the white “frame” with: Apps installed on Homey.
Hover the app: ‘homey-mi-flora’ with the <alt> key and wait until the ‘Send to developer’-button appear and click on it.

Have you seen the sensor im either Homey or the xiaomi mi flora app?

Ah ok, now i see.


Yes both sensors correctly displayed in mobile app always when running app.


I put the update interval to 15 and everything ran perfectly well for 5 days.

Then suddenly yesterday, all Flora sensors stopped updating approximately at the same time, and around the time when I watered the plants.

Looks like there is nothing wrong in the app. Maybee the name of the device is different and is the device not found. Do you have access to a computer with bluetooth? Which OS are you running? Can you search for BLE devices?