Mi Flora battery life

I’ve had mine for about 2 and a half years now. I replace the battery about once a year. It’s worth noting, the battery reporting is not terribly accurate. I changed the battery last month, and today it’s showing 64%. When I first put that battery in, it was showing 27% with the fresh battery. I’d probably wait until it’s below 5% or stops working entirely before changing the battery, or just set a calendar reminder for once a year. That being said, it’s one of the most competitively priced sensors available, and the battery reporting is really the only complaint I’ve had so far.

Are you using esphome to report the mi flora values?

Because it no longer reports battery levels in the passive broadcast.

Hi Tom,
i have found with the newer (green coloured body) sensors the battery life is significantly shorter (2 months or so) than the older white body ones i have

Edit: also using ESPHome, but as you stated, ESPHome is passive

2 Likes

Ah! Thanks. I have the green version.

This simply isn’t going to be sufficient. I’m not prepared to replace batteries every 2 months.

I’ll either modify it to take a 1200mAh 3.7v lithium battery or bin it altogether. Haven’t made up my mind yet.

looking at the esphome logs, the sensors seems to broadcast constantly when comparing the timestamps for them

[23:54:33][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:33][D][xiaomi_ble:137]: Temperature: 27.4°C
[23:54:33][D][sensor:092]: ‘Peace Lily Temperature’: Sending state 27.40000 °C with 1 decimals of accuracy
[23:54:37][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:37][D][xiaomi_ble:137]: Temperature: 27.4°C
[23:54:37][D][sensor:092]: ‘Peace Lily Temperature’: Sending state 27.40000 °C with 1 decimals of accuracy
[23:54:45][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:45][D][xiaomi_ble:149]: Illuminance: 336lx
[23:54:45][D][sensor:092]: ‘Peace Lily Illuminance’: Sending state 336.00000 lx with 0 decimals of accuracy
[23:54:50][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (C4:7C:8D:6B:01:97):
[23:54:50][D][xiaomi_ble:137]: Temperature: 27.0°C
[23:54:50][D][sensor:092]: ‘Palour Palm Temperature’: Sending state 27.00000 °C with 1 decimals of accuracy
[23:54:53][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:53][D][xiaomi_ble:152]: Moisture: 25%
[23:54:53][D][sensor:092]: ‘Peace Lily Moisture’: Sending state 25.00000 % with 0 decimals of accuracy
[23:54:58][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:58][D][xiaomi_ble:152]: Moisture: 25%
[23:54:58][D][sensor:092]: ‘Peace Lily Moisture’: Sending state 25.00000 % with 0 decimals of accuracy
[23:54:59][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:54:59][D][xiaomi_ble:152]: Moisture: 25%
[23:54:59][D][sensor:092]: ‘Peace Lily Moisture’: Sending state 25.00000 % with 0 decimals of accuracy
[23:55:01][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:55:02][D][xiaomi_ble:146]: Conductivity: 328µS/cm
[23:55:02][D][sensor:092]: ‘Peace Lily Soil Conductivity’: Sending state 328.00000 µS/cm with 0 decimals of accuracy
[23:55:05][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:55:06][D][xiaomi_ble:146]: Conductivity: 328µS/cm
[23:55:06][D][sensor:092]: ‘Peace Lily Soil Conductivity’: Sending state 328.00000 µS/cm with 0 decimals of accuracy
[23:55:08][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:55:08][D][xiaomi_ble:146]: Conductivity: 328µS/cm
[23:55:08][D][sensor:092]: ‘Peace Lily Soil Conductivity’: Sending state 328.00000 µS/cm with 0 decimals of accuracy
[23:55:13][D][xiaomi_ble:134]: Got Xiaomi HHCCJCY01 (80:EA:CA:88:B3:6C):
[23:55:13][D][xiaomi_ble:137]: Temperature: 27.5°C
[23:55:13][D][sensor:092]: ‘Peace Lily Temperature’: Sending state 27.50000 °C with 1 decimals of accuracy

I present to you the Franken-flora:

7dB increase in signal strength (from -90 to -83dBm in the centre of my lawn). Was supposed to be a 9dBi antenna but matching losses and Chinese advertising hyperbole took the other 2 dB.

1800mAh battery that should last about 16 months (I got 2 months from a 220mAh CR3220).

Waterproof enclosure for outside use.

I’ll be surprised if it lasts a month.

Edit: holey shatballs bitman!

RSSI is now a steady -66dBm. I can move it further away from my irrigation controller and out of the centre of the lawn (which was a PITA to be honest).

9 Likes

the mother of all MiFloras,
now is it whipper-snipper proof?

It’s more whipper-snipper proof than the thin glass vial I had it in. Which isn’t saying much.

That box was surprisingly difficult to machine. I’m guessing polycarbonate rather than ABS.

2 Likes

My mifloras seem to last damn all time on batteries. Like a week!

Are these things supposed to be waterproof? Maybe the problem is moisture.

EDIT: having said that my outdoor sensor has just come back. It was all “unavailable” yesterday. Using esphome.

I didn’t think they were, but looking on Aliexpress just now they are listed as IP5x

Having pulled one apart, I can say they are definitely not water resistant in any significant way.

Nick how are yours connected?

Through ESP home or using the home assistant integration?

ESP home listens for broadcast messages and there is no scan interval to set.

The Home Assistant integration actively scans the device and if you are doing this too often it will affect battery life.

mine are esphome connected. It might be that the initial batteries were nearly flat (there is some complaint of that on the aliexpress ad that @sparkydave just posted).

Combined with the crap replacement batteries I got from wish.com, it may just be unique to me. :slight_smile:

Combined with the hail storm we got here yesterday which almost buried the outdoor one and ruined my lettuces…

I’m also experiencing the same. Maybe not 2 months but not much more than that. I’m also using ESPHome. I guess I’ll try to factory reset it and see if it improves.

Did anyone solve this? I’ve recently added an ESPhome to the mix, because one of my miflora sensors is too far from my HA NUC. I’ve been really surprised to see how frequently the ESPhome picks up broadcasts from the miflora (once per minute or two) compared to the 20 minute updates I’ve been used to with the HA native platform.

It’s got to kill battery life, but I can’t see why it should be any different for ESPhome, particularly as it is supposed to be a passive approach.

I had been wondering whether the ESPhome esp32_ble_tracker, which triggers very frequent bluetooth scans (once per minute or two), is responsible for the flurry of activity from the miflora. Even though the xiaomi_hhccjcy01 sensor just waits passively for broadcast messages, maybe the general bluetooth scans prompts them to happen.

The Mi Flora sensor is supposed to be completely passive, just listening for broadcast messages:

From the sensor page:

Note

The ESPHome Xiaomi integration listens passively to packets the xiaomi device sends by itself. ESPHome therefore has no impact on the battery life of the device.

I think it is just that the newer model broadcasts more often:

I’m not sure now, but I also think that the battery got worse after moving from using the RPi’s BT to ESPHome.

I have three of those slightly green bodied sensors and have to replace batteries every two months. I am ready to ditch them now, because that is just wasteful.
Sad that there’s no open source firmware, because this surely is a software fix.

That simply isn’t possible. ESPhome has no effect whatsoever on the device. It listens passively for the device’s broadcast messages.

If they could be reverse engineered the broadcast interval could be made greater to improve battery life. However…

Looking at the graphs of my sensor It seems it broadcasts after a % change in level of the sensor rather than at a fixed interval. Sometimes up to every 30 seconds. If this was made 3 minutes minimum you might get up to 12 months battery life. Probably substantially less though, as it’s not often that I see an update every 30 seconds.

The real issue is that they chose the wrong battery. Two CR123A batteries would be a better choice but would substantially change the “sleek” look of the product.

Hey Tom

How is the battery life going with the franken-flora?
In general, how is it fairing in its new housing?

It’s still going. That’s all I can tell from 5400km away. The broadcast messages no longer contain battery voltage.