Cant Get Battery Values from MiFlora Sensors

I’ve noticed that I don’t get the battery Values from the Xiaomi MiFlora. I’ve got little Raspberry Pi Zero running Plantgateway and this returns the Battery value, as does the Flowercare App, but nothing from the Logs of ESPHome

[21:39:06][D][esp32_ble_tracker:365]: Xiaomi MiFlora C4:7C:8D:6A:01:00 Got temperature=23.0°C
[21:39:27][D][esp32_ble_tracker:377]: Xiaomi MiFlora C4:7C:8D:6A:01:00 Got moisture=13%
[21:39:47][D][esp32_ble_tracker:385]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got soil conductivity=0µS/cm
[21:39:50][D][esp32_ble_tracker:365]: Xiaomi MiFlora C4:7C:8D:6A:01:00 Got temperature=23.0°C
[21:40:15][D][esp32_ble_tracker:385]: Xiaomi MiFlora C4:7C:8D:6A:01:00 Got soil conductivity=1142µS/cm
[21:40:42][D][esp32_ble_tracker:365]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got temperature=23.9°C
[21:40:54][D][esp32_ble_tracker:381]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got illuminance=9lx
[21:41:07][D][esp32_ble_tracker:385]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got soil conductivity=0µS/cm
[21:41:11][D][esp32_ble_tracker:385]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got soil conductivity=0µS/cm
[21:41:19][D][esp32_ble_tracker:365]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got temperature=23.8°C

Config is

- platform: xiaomi_miflora
mac_address: C4:7C:8D:6A:01:00
temperature:
name: "Plant03 Temperature"
moisture:
name: "Plant03 Moisture"
illuminance:
name: "Plant03 Illuminance"
conductivity:
name: "Plant03 Conductivity"
battery_level:
name: "Plant03 Battery"

Anyone have any idea’s on this?

Debug Log Looks Like

[21:56:50][VV][esp32_ble_tracker:545]: Parse Result:
[21:56:50][VV][esp32_ble_tracker:565]: Address: C4:7C:8D:6A:08:BE (PUBLIC)
[21:56:50][VV][esp32_ble_tracker:567]: RSSI: -82
[21:56:50][VV][esp32_ble_tracker:568]: Name: 
[21:56:50][VV][esp32_ble_tracker:576]: Ad Flag: 6
[21:56:50][VV][esp32_ble_tracker:579]: Service UUID: FE:FE95
[21:56:50][VV][esp32_ble_tracker:581]: Manufacturer data: ''
[21:56:50][VV][esp32_ble_tracker:582]: Service data: 'q �'
[21:56:50][VV][esp32_ble_tracker:585]: Service Data UUID: FE:FE95
[21:56:50][VV][esp32_ble_tracker:597]: Adv data: 02.01.06.03.02.95.FE.15.16.95.FE.71.20.98.00.9E.BE.08.6A.8D.7C.C4.0D.07.10.03.09.00.00. (29 bytes)
[21:56:50][D][esp32_ble_tracker:378]: Xiaomi MiFlora C4:7C:8D:6A:08:BE Got illuminance=9lx
[21:56:50][V][sensor.sensor:020]: 'Plant04 Illuminance': Received new state 9.000000
[21:56:50][V][mqtt.client:387]: Publish(topic='plantgateway02/sensor/plant04_illuminance/state' payload='9' retain=1)
[21:56:50][V][esp32_ble_tracker:432]: Already discovered device C4:7C:8D:6A:08:BE
[21:56:50][VV][esp32_ble_tracker:545]: Parse Result:

If that Helps any?

Thanks

Matthew

Hi, I have the same problem, ESPHome running about week and still didn’t get the battery Values from the MiFlora.

1 Like

I have the same problem. Also with the temperature/humidity sensor from Xiaomi - the round one. I like both, but would like to know battery status.

From https://esphome.io/components/sensor/xiaomi_hhccjcy01.html :
The battery_level does not appear to work with some firmware versions of the device (the other sensors do work though). See https://github.com/esphome/issues/issues/107 for more information.

To make it work one of the situations must happen:

  • Sensor manufacturer must modify their firmware so battery status is broadcasted again.
  • Esphome must implement hybrid BTLE device readings (active for battery status and passive for rest of the miflora sensors).

Does it have sense to monitor MiFlora battery by platform: miflora and other sensors by ESP32?