Sengled Contact Sensors reporting greater than 100 battery

Starting after my upgrade to 2.3.2.126 multiple Sengled Contact Sensors (using the Generic Zigbee Contact Sensor (no temp) driver) started reporting greater than 100% battery. I switched to the w/temp driver, configured, gave it a beat, and switched back and three of them they recorded a real battery %, but two of them are still reporting greater than 100%. This is across 5 sensors and all happened the same day so it seems unlikely to be a device specific problem and more likely a software/driver problem. I've since upgraded to 2.3.2.127 hoping that maybe a fix was included, but they are still in the same state. I've rebooted the hub as well just for good measure. Anyone have any ideas?

Are they saying something like 255%? I had something that did that (trying to remember exactly what) and I worked out it was trying to say -1 - ie indicate unsatisfactory battery state

1 Like

They are saying 102% or 124%, but are reading 50% on the few that seemed to come back after changing the driver back and forth (they were at 50% before this happened). What does "unsatisfactory battery state" mean?

I assumed at some hardcoded level of emptiness - but not totally empty or the device would not have been able to signal the state. Obviously signalling 255 or -1 is a deliberately coded act. Anyway a change of battery sorted it in my case. Yours doesn't sound like the same thing now you've told me more.

One of the two "self corrected" after several hours (reported an accurate battery level). The remaining is reporting no events (at all) so I'm going to reset/battery change and see if it's got other issues.

I am having the same issue with 3 of my 11 Sengled Contact Sensors. If there's any detail or logs I can provide that would be helpful to the community please let me know.

I just upgraded to today's update and the one that was reporting over 100% (which I confirmed was not dead and was reporting other events) refreshed with an accurate battery level. Did that correct yours as well?

And... nope. Still giving random weird battery readings on multiple devices. I changed the battery in one reading 102% and it immediately recorded 124%.

Same. I have 2 sensors now reading wrong, one saying 190 and the other saying 200.

Can you post the driver being used as well as the data from the device data section?

"Generic Zigbee Contact Sensor (no temp)" and the devices are all the same model:

  • endpointId: 01
  • model: E1D-G73
  • application: 05
  • manufacturer: sengled

can you enable debug logging in the driver then click the configure command, and post the debug logs?, thanks

Sorry to be daft, but where are the debug logs? The logs for the device show nothing interesting:

dev:1072022-06-17 08:14:47.312 pm warnconfigure...

dev:1072022-06-17 08:14:41.652 pm warndescription logging is: true

dev:1072022-06-17 08:14:41.651 pm warndebug logging is: true

dev:1072022-06-17 08:14:41.649 pm infoupdated...

dev:1072022-06-17 07:58:37.061 pm infoDining Room Door was closed

dev:1072022-06-17 07:57:55.586 pm infoDining Room Door was opened

dev:1072022-06-17 07:42:43.712 pm infoDining Room Door was closed

dev:1072022-06-17 07:42:39.062 pm infoDining Room Door was opened

dev:1072022-06-17 06:40:26.184 pm infoDining Room Door battery is 124%

Those are the logs. The device was sleeping when the command was sent.
We have two choices here
Factory reset the contact (do not delete it from hubitat), then re include it or
Run the configure command a half second before opening/closing the sensor.

I happen to be sitting next to one of them:

dev:1082022-06-18 08:41:05.606 aminfoPlay Room Door was closed

dev:1082022-06-18 08:41:05.580 aminfoPlay Room Door battery is 50%

dev:1082022-06-18 08:41:05.576 amdebugdescMap: [raw:5A9B0100010A20002019, dni:5A9B, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:19, clusterInt:1, attrInt:32]

dev:1082022-06-18 08:41:03.785 aminfoPlay Room Door was opened

dev:1082022-06-18 08:41:02.627 aminfoPlay Room Door was closed

dev:1082022-06-18 08:41:01.499 amdebugdescMap: [:]

dev:1082022-06-18 08:40:59.525 aminfoPlay Room Door was opened

dev:1082022-06-18 08:40:59.518 amwarnconfigure...

dev:1082022-06-18 08:40:51.371 amwarndescription logging is: true

dev:1082022-06-18 08:40:51.370 amwarndebug logging is: true

dev:1082022-06-18 08:40:51.369 aminfoupdated...

dev:1082022-06-18 04:58:17.933 aminfoPlay Room Door battery is 102%

Still happens consistently across all sensors. Set up an app to notify me and they come and go with bad values. Even ones of the same model that I hadn't caught doing it before. They seem to correct more if there are events. The ones that don't see much activity tend to stick on a bad value for a longer period of time (which makes sense).

did you try option 2? (factory resetting the device then re-including it)

Sorry I thought that was an attempt to collect logs only. Are you suggesting it might fix the inconsistent reporting?

Yes, the configure command didn't work as the device seems to be uninterested in receiving data even when it's transmitting.
If you factory reset the device (do not delete it from hubitat), then pair it again, the device will pair to the existing driver (so it won't break any of your automations) and will also re-configure itself, this should fix the battery reporting.

Okay, that's going to take awhile because I have a dozen or more, but I'll try it next report.