Getting the LIFX Switch to work via HomeKit Controller integration

Hey folks,

I’m trying to get the LIFX Switch to be properly detected by the HomeKit Controller integration as the underlying aiolifx library that powers the core LIFX integration does not support the switch nor have LIFX released any further local protocol docs for it, which makes HomeKit the best integration method right now.

I’ve managed to get it working by tweaking the manifest.json to only include model types for the various bulbs, i.e.

  "homekit": {
    "models": [
      "LIFX A19",
      "LIFX Beam",
      "LIFX Candle Color",
      "LIFX Clean",
      "LIFX Dlight",
      "LIFX GU10",
      "LIFX Mini",
      "LIFX Nightvision"

(Aside: I’m waiting for LIFX’s Hardware Director to confirm the list above is either complete or to provide any missing bulb-specific prefixes.)

And this works: Home Assistant sees the LIFX Switch, allows me to pair it using the HomeKit code and even creates the device and entities, but instead of completely cleanly, it throws an error: “Invalid flow specifed”.

I’m assuming there’s something else that needs to be done to get HomeKit Controller to avoid trying to use the core LIFX integration but I have no idea what/how. I’m assuming that because the underlying aiolifx library thinks that LIFX Switches are bulbs, it’s somehow getting confused.

Any ideas?

I’ve opened a draft PR here: Narrow the list of models of LIFX devices discovered using HomeKit by Djelibeybi · Pull Request #70027 · home-assistant/core · GitHub which narrows the devices.

This is fixed via Fix race during homekit controller pairing by bdraco · Pull Request #69948 · home-assistant/core · GitHub