Xiaomi Mi Plants Monitor Flower

not sure about the other values, but the temperature data is not correct …

You sure your not living on the sun? :wink:


I am getting similar results to @anon35356645. The first time the device was connected to HA the results were correct, however, any subsequent results have been way too high.

The only one that is correct is the battery percentage.

I’ve set median to ‘3’, but can see from the logs each time HA queries the device it returns these high values.

And I can confirm, I am not living on the Sun :slight_smile:

are you sure? :wink:

No, it’s 700 degrees colder :smile:


I have nine of these sensors set up around my house. I sometimes get the high numbers you guys are reporting as well, so I did some investigating.

I can say from my testing, that the abnormal results seem to be directly correlated to their range from the base station. I have four plants pretty close to the Pi running HASS - they have never shown crazy high results. Meanwhile, the plants furthest away seem to have this issue even with median: 5.

My shortest distances are from 1-2m with direct line of sight.

Longest distance is roughly 8m through a wall. (I know this exceeds the expected range, still testing to see what I can get away with).

To those of you struggling with temperatures north of 4000 degrees, I would suggest temporarily relocating the sensor closer to your base station to see if the problem clears up.

Mine is 20 cm from my pi3 with Bluetooth

One of mine is about 5m away and I only once a week get a wrong value.
The closer once almost never give a wrong value.

Mine works perfectly. Pi is within 3 feet

I have 4, 1 is about 8m away with two asbestos walls between, the other 3 are between 1 and 3m away from my PI all have never given a bad reading.

So I’ve found that if I turn the bluetooth service off and then back on again, the first time the values are read they are correct, but then for any subsequent reads the return values are too high.

   hciconfig hci0 down
   hciconfig hci0 up
   python3 demo.py

Tested with a short distance and get the same results.

The battery percentage is always correct funnily enough though. Crossed checked using the Flower Care app and that is returning the correct values.

Firmware version is 2.8.6 so I don’t know whether this may be leading to the incorrect data? Is it correctly for anyone else on this version?


I’m also running homebridge with the ‘homebridge-bluetooth’ plugin, disabling this plugin while running homebridge seems to have resolved the incorrect values so far - will monitor to ensure it’s consistent (fingers crossed)

Does anyone know whether I would also see a significant increase in battery drain having it linked with home assistant? I’ve found the battery has dropped around 8% in 2 days of usage with HA, where when I was using only my phone previously the battery dropped around 2% in a week.

Do i understand correctly i will not be able to run room-assistance (BLE tracker) and xiaomi miflower in HA at the same time as they will be locking the BT adapter on RPi3?


I have around 10 of these devices and have now successfully integrated them all with Home assistant.

I have a problem now of not knowing which one is which. As HA reads average data, I have tried to tie up each sensor by looking at readings on the flower app and then mapping them to HA, however this is a nightmare.

Is there any way I can “find” or “Ping” the device in HA (similar to the find device in the app)

I can’t see a mac address printed on the device anywhere, and the app does not give up the mac address either…

Any help here would be greatly appreciated…


If something technical does not help, you could put them one by one in the dark and read light levels after setting the polling temporarily to a few minutes and switching averaging off for all plant sensors…
Tedious, but should work.


I removed the batteries from all my devices - then for each device in turn:

  • replaced the battery;
  • ran hcitool lescan to get the mac address

To avoid doing it again I wrote the unique part of the mac address (they were all very similar) on the device for future reference.

1 Like

Also getting abnormal high values. Distance is not that far away. So any other solutions for that?

Try median: 3 - this filters out single spikes.
Or median: 5 - will also filter double spikes.

1 Like


How do I change the polling from the default?

Is this located in the file miflora_poller.py? if so, which liine do I modify? All I can see in there is retries after failure…

Sorry, this was the first ever .py file I have opened! :slight_smile:

1 Like