[BUG] illegal value for a single device causes HomeKit integration to stop responding

My C-8 hub has been unresponsive for a few days on HomeKit using the official integration. Today I spent some time investigating this (completely re-setting and repairing HomeKit multiple times - not fun…) and finally think to have figured out the issue:

I just replaced some existing flaky Zigbee door/window sensors with Sengled G2 Zigbee sensors using the "Generic Zigbee Contact Sensor (no temp)" built-in driver (these sensors for some reason are a major pain to pair and typically hand in initializing…). One of them reports a battery level of 200% most of the time:


This sensor also doesn't seem to have been fully initialized properly, as some of the device info is missing:

For comparison - here is another identical sensor:

As long as the sensor with 200% battery level (which clearly is outside the specs for battery level being 0..100) is exposed via the HomeKit integration, none of the devices respond. It might be good to either silently ignore errors or truncate values to the valid range (the way I finally figured this out was moving everything back over to the Homebrige user app and continually seeing warnings it the console:

This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number 200 exceeded maximum of 100.

/cc @support_team

1 Like

I thought that was fixed, but apparently not all the way. Can you PM me the hub id?

1 Like

Any update? These sensors are still making my life miserable (after completely resetting Zigbee and re-building my mesh they now no longer want to report contact status)!but I had to disable battery reporting for all of them to get the HomeKit integration functional. Even with the latest FW bad values still completely break the whole integration rather than being truncated into their valid range.

This topic was automatically closed 360 days after the last reply. New replies are no longer allowed.