I have a few Zigbee devices (Xiaomi Aquara sensors, temperature, humidity, …) and some keep a 100% battery level a surprising amount of time (months) - still sending realistic data.
I recently changed my Zigbee hub and some of them did not want to join anymore. I bought a new set of batteries and they joined immediately (the blue light was brighter than usual too). So that would point to a weak battery.
The problem is that they report, with this new battery, only 31%. I tested another battery - again 31%.
So either the set I bought is old (these are store-bought VARTA batteries) but that would be surprising (and also the fact that two of them show the same 31%), or the battery level indication is wrong.
In my experience it depends on the manufacturer and the product. The Xiaomi door sensors for example show still 100% even though I have been using dome of them for over 2 years. The Xiaomi temp sensors seem to report a more reasonable level also all my Philips devices seem to avcurately report the battery level.
I have battery powered Zigbee devices from 2 manufacturers; Silicon Labs and Visonic. Both seem pretty accurate. The numbers go down over time (in big jumps, not a few percent at a time) until they reach zero. A little while later (if I don’t change the battery) they go off line.
I have noticed that they don’t report the battery level very often. Maybe a few times per day at most.
I started to add zigbee powered and battery devices gradually for the last 2 months. Some in addition to my setup, some replacing my WiFi base. My platform is Raspberry Pi 4, Conbee-II and ZHA.
Since I was mostly occupied with getting a reliable setup, and solid reliable connectivity, I did not pay yet too much attention to the battery states of my sensors (mostly Aqara Xiaomi, motion, illumination, vibration/tilt and pushbuttons), also because they all reported consistently 100%. As expected for new devices.
I updated to 2021.2.0 yesterday, and now after 24 hours my batterys show various levels. I’d say this looks more realistic compared to,everything 100%. Maybe jumping to conclusions, but I think this update made a change to a more reliable status.
Grtz
John