Xiaomi Sensors - Battery Level - anybody know what it really means?

Hi all. I have a bunch of Xiaomi sensors - temperature/humidity, door/window, motion. They all report a battery_level - but I’m not too sure exactly what the reported number actually represents. Looks like this:

Is it %? I know that even when these devices are brand new, I don’t think I’ve ever seen anything > 55 or so…



It must be %, the plug sockets show 100

All my sensors arrived at around 47. they have only changed by 1 - 4 in 6 months, cant see battery levels in the app to compare but doesn’t seem right

That makes the most sense to me also … but like you, I have never seen a sensor > 50 or so. Seems like if it was really a percent, some of these things would have been near 100% straight out of the box brand new.

The good news here is that I have never had to change a battery yet in the 6 months I’ve had them …



Why not try to swap a battery anyway, just to see if the indicated battery capacity changes? I’ll give it a try if I remember to buy the right type of batteries the next time I’m at my local tech/gadget store.

My sensors all report somewhere between 31-49 (%), newer ones slightly higher than older ones.

Ok - so quick experiment. I replaced the battery in one of my motion sensors. These sensors use a 3V CR2450 Lithium battery. With the battery that has been in the sensor for several months, the battery_level was being reported from HASS as 45. When I took the battery out, I measured the voltage at 2.98. The new battery had a voltage of 3.25V fresh out of the package. When I replaced the battery, HASS still reported the battery_level as 45.

So…still no idea what the heck battery_level means :open_mouth:


No, me neither. I bought a 3V CR1632 the other day to try with one of my door sensors and fitted it this morning. Battery level changed from 49 to 55, not quite what I would have expected but at least it changed.

Edit: within minutes, the battery level dropped to 51.

1 Like

I’ve graphed the battery level value.

As you can see, once it reaches a value is almost flat. Maybe a signal level?


Fascinating graph, revin.

I’ve read everything on every forum about Xiaomi Aqara sensors, and it seems that the battery_level reported is simply meaningless?

So what happens when the sensors run out of battery, they just silently stop working?

Would you mind sharing the code snippet for your graph?
Would love to use that!

I’ve had a motion sensor not working properly for a while. The current battery level is being reported as 33, so that is possibly the minimum level to operate correctly. Haven’t put a new battery in it yet.

I posted some background here: Xiaomi Aqara > Battery level

1 Like

I am having serious problems with the Xiaomi temperature sensors. I have tried changing batteries, as you can see in the attached timeline. But batteries drains very quickly (within one or two weeks), I loose connection to the sensors. I wouldn’t mind if the battery reading was wrong, as most of you points out, but I do experience drop-outs when the battery gets to about 60%. Then I can push to button on the sensor to get it working again, and it runs for about 1 week more to about 35-37% and then it drops out again.I have tried changing batteries, but with same results.

Am I doing something wrong, how can you get your sensors to work for months ? - When I only get weeks ?

Hoping for some advice on the matter, as I now have 6 sensors that all have the exact same behavior.


Are they far away from the gateway? It could be due to low connectivity.

Well I have 6 sensors around the house, and the gateway somewhere in the middle. But all acts the same no matter the placement.

I had this connectivity issue. For me It was 2.4ghz wifi interference as the frequencies are close to Zigbee. Try manually setting your wifi router to a channel away from 11 like 1 or 5.

1 Like

Same behavior here.

Did you find any solution?

Try @Haden suggestion as this is most likely not a battery issue.

After the sensors was lost a couple of times, it stabilized. It would seem that a voltage of some sort in the batteries causes this. I am using different brands of batteries, all with same issues. But when the Battery level gets below 40%, it seems to hold its voltage and the sensors are not loosing connection any more.

Can someone please paste a snippet of the code to read the batteries? Still does not work here after 2 hours for the Switch and Cube… as they only have it as attributes.
I read the same attributes from the hue motion sensor, but it just does not work with the xiaomis.

Here you go. 

  - platform: template
        friendly_name: "Bedroom Battery"
        unit_of_measurement: '%'
        value_template: "{{ state_attr('sensor.temperature_158d000234878e', 'battery_level') | round(0) }}"
        device_class: "battery"
1 Like