Add CO Accessory support to Homekit Controller

Currently the Homekit Controller when integrating the Nest Protect accessory from Homebridge only adds Smoke and Motion entities, whilst the Protect support CO as well. I can see the CO characteristic is available in the information received from Homebridge, but the integration doesn’t consume it.

I think it would be fairly easy to add support by duplicating the Smoke entity, which seems to utilise the HA binary sensor DEVICE_CLASS_SMOKE, however there is no DEVICE_CLASS_CO in binary sensor. I’ve seen conversation about using DEVICE_CLASS_GAS, but not sure of any downstream affects of just duplicating the smoke code.

If I get a chance, I might give it a go, but would welcome any advice. At the moment I can’t see in the code where it is filtering out unwanted characteristics, so any pointers would be welcome :grinning: