Replaced the CR2032 battery on a contact sensor after it failed to report for a few days, and it now shows 200% battery. The battery reads at 3.25V on my voltmeter, a bit on the high side, but not 100% higher.
Could someone on staff kindly check and or adjust the battery percent calculation for the Generic Zigbee Contact Sensor (no temp). Adding the actual volts reported by the device as part of the Events Description Message would be ideal.
Hub: C-4 220.127.116.11
Using system driver "Generic Zigbee Contact Sensor (no temp)"
Device: Linkind Model ZB-DoorSensor-D0003
I have the same issue with Linkind Leak Sensors. I have 4 of them installed. I initially used the Generic Zigbee Moisture Sensor (no temp). I then used the same but without the "(no temp)". One of them then showed the correct battery level. I looked at the device page for differences, The only thing I saw different was the 1 that was working correctly wasn't in use by Amazon Echo Skill. I removed all 4 from the Amazon Echo Skill and 3 of the 4 are now showing the correct battery level. Maybe just a coincidence - I can't figure it out.
Like I said, I changed the driver from Generic Zigbee Moisture Sensor (no temp) to the Generic Zigbee Moisture Sensor and Saved Device, Config, Save Preferences. Prior to that, I removed the sensor from Amazon Echo Skill within hubitat. After an hour or so, I checked and all 4 are reading 100% and the one Smartthings moisture sensor is reading 87%. Don't know why it worked, but it did.
I was confused when I read these statements. I thought Zigbee reported battery only in volts. After a bit of research I learned (some/all?) Zigbee battery powered devices can report battery as a percentage in cluster 21. The number is between 0-200, divide by 2 then round up to get the actual percentage. So that cluster 21 report of 200% is actually 100% and is apparently not properly processed by some or all of the zigbee generic drivers.
I also learned it's possible to configure the Zigbee device to select which if any types of battery reporting, volts or percentage, are sent. Based on @mike.maxwell 's comments it appears the Linkind devices are not responding to (or not receiving) the configuraration commands as expected.
Since the HE drivers are proprietary, it's possible that:
Some drivers properly handle Zigbee cluster 21 reports
The zigbee configuration commands were accepted by the device
I trust Mike Maxwell will figure this out and get it corrected.
The Linkind leak sensor supports both battery voltage and percentage reporting.
From my notes on the driver used on SmartThings Edge:
-- Battery updates:
-- The device allows for setting a report frequency for both battery voltage and battery percentage. By default
-- the reporting is disabled (no unsolicited battery reports).
As @arnb said, Zigbee battery percentage reporting returns units of 0.5%, and I've never seen the device report a value higher than 200. I'm not sure why Hubitat would ever process this into a range outside of 0-100% (value / 2). It pops up every so often though.