What to do when prompted by two integrations to configure the same device?

I’m a little confused about what I’ve already done and what I should do when it comes to all of the prompts I’ve gotten lately to configure devices that I’ve already configured. The built-in HomeKit Controller integration is prompting me a lot to configure devices that I’ve already configured via the brand-specific (but also “official”) integration for that device. (For example, my LIFEx bulbs, or my LG smart TV.) I understand that there are cases where HomeKit is a better choice for integration than the brand-specific integration. But what I’m not sure of is whether or not I should always “ignore” a HomeKit Controller-discovered device if I’ve already configured it via another integration, or configure it via the HomeKit Controller integration too. If I configure a device both ways, won’t it then appear as two different devices/entities to Home Assistant? That seems like it could get confusing, or worse. So is it best practice to configure it via one integration only, and ignore the discovery on the other? Or maybe I’ve got something misconfigured if I’m getting multiple prompts to configure the same device at all? What strategy do the rest of you employ for devices that are detected by more than one integration? Thanks.

Most likely yes. There’s a small chance each integration would try to use the same unique identifier for the device (like its serial number or something). In that case the same device would appear as part of both integrations. Which could be a bit confusing but is ultimately harmless.

Entities would not be shared. Each integration will create the entities required for the device. If they both happen to pick the same entity ID then you’ll get two entities and one will have _2 added to its ID. Even if the two entities are otherwise identical you’ll still get two, one per integration.

Confusing - yes, its possible. Most likely you’ll have duplicate devices to keep track of.

Worse - doubtful. Even if they pick the same device ID things will work fine. The only thing I’m not totally sure about is what happens when you remove one of the integrations. If they do happen to share a device ID you might want to test that before investing too much time in it. I only had this happen once personally and it was the unifi integration which is designed to add entities to existing devices so it intentionally doesn’t clean up devices when its removed. I’ve never had it happen by accident before.

I mean depends? I’d say its best practice to keep things minimal and not add things you don’t intend to use. So if one integration does everything you need it to do then ignore discovery on the other. If each integration has some features you need that the other doesn’t then add both.

No, this is normal. Complex devices like TVs and things often support multiple communication protocols to ensure maximum interoperability. HA does this too so it will pick up the same device on multiple supported protocols.

I always lean towards broad integrations that target a protocol or specification over brand/manufacturer specific ones. Like I said above minimal so I want as few integrations configured as possible to cover all my devices. If the brand/manufacturer integration is the only option or does something that isn’t possible otherwise then sure I’ll go with that.

The other thing to think about is what is more likely to change and create headaches for you in the future. According to analytics 20% of all HA users are using HomeKit so a breaking change would be a huge deal and you’d likely find a lot of help and guidance from users in a similar boat if it happened. It’s also firmly established in the marketplace and not subject to whims of any one manufacturer so a sudden external change is unlikely. I’m not sure which manufacturer-specific integration you’re looking at but something to keep in mind. As those likely have lower usage numbers within HA and is subject to the whims of one particular manufacturer. Especially if it involves a cloud service or must be internet connected and auto-updates.

Fwiw I’m not trying to say “definitely go HomeKit”. I actually don’t use HomeKit at all personally, I’m just using it as an example of something which is big, broad and popular. But of course the counterpoint is I tried to use it for my TV and struggled so ended up going with the Vizio integration. So its a lot of trial and error and then sticking with something you find that works.

2 Likes

Thanks, Mike! That’s very helpful to know it’s normal, and I’ll go with the strategy you’ve described.

In addition to Mike’s comments, for the Lifx / Homekit Connect integrations there are pros and cons to each. e.g.


Homekit Connect:

Pro:

  • Uses local push.

Con:

  • Requires you to remove each light bulb and get the id number printed on it.
  • Uses only the standard light services and has no effects.

Lifx:

Pro:

  • Has effect support and extra services, e.g. setting the light state when off
  • Can be configured with the IP address only

Con:

  • Uses local polling

You need to weigh these up and decide what fits your use case best.

1 Like

Thanks, Tom. That’s great additional detail to consider about one of the specific integrations I mentioned. I appreciate your response. Regarding the other one, the LG Smart TV, I really want the notification service that is part of the LG integration, and I suspect (but have not verified) that isn’t available if I use the HomeKit Connect integration.

I don’t have that TV but suspect you are correct as there is no mention of notification services in the Homekit Controller documentation. https://www.home-assistant.io/integrations/homekit_controller/