architecture icon indicating copy to clipboard operation
architecture copied to clipboard

New device class doorbell needed to resolve homekit issue

Open mikebsec opened this issue 5 years ago • 0 comments

Context

As discussed in home-assistant/core#40052 - the 0.114 addition of homekit doorbells has taken on the assumption that all devices that have a binary_sensor with DEVICE_CLASS_OCCUPANCY are doorbells. There are devices with this class that are not doorbells (Nest Cameras are one example), that are now sending doorbell notifications by the hundreds to users through homekit every time there is motion.

Proposal

With the addition of a new DEVICE_CLASS_DOORBELL the logic in homekit at https://github.com/home-assistant/core/blob/0c077685b6f74179cbaecde31577b0da4f975ad6/homeassistant/components/homekit/init.py#L682 could explicitly grab doorbells for this functionality, rather than incorrectly grabbing other devices.

Consequences

Homekit integration can now understand what is a doorbell rather than assuming non-doorbells are doorbells as well. The current integration has broken existing user behavior, and adding this device class was suggested by the homekit maintainer. I am not aware of any downsides but I admittedly don't know of other doorbell functionality throughout home-assistant widely.

mikebsec avatar Sep 20 '20 17:09 mikebsec