[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

Download the Hubitat app