How to ignore discovery results across devices types

This is in respect to the androidtv binding. ATV uses the GoogleTV protocol as a base connection and then adds other protocols on top of it for enrichment. As an example, the NVidia ShieldTV has it’s own extra protocol to get information about available apps. During discovery we look for mdns for both GTV and STV. PhilipsTV (PR pending merge) also has an extra protocol which is found by upnp. This causes multiple entries in the inbox for STV and PTV. I have representation-property set against the ip address of the device since it’s the only thing constant across them all. This works great for the protocol specific entry (e.g. androidtv:shieldtv:abcde), but not the GTV entry (e.g. androidtv:googletv:abcde) because the users only add the protocol specific one (which includes both GTV and STV). What I would like to do is hide the GTV entry if a thing exists inside the same binding with the same representation-property. For example, if an androidtv:shieldtv:abcde thing exists, the androidtv:googletv:abcde should be ignored.

Can you make protocol a config option instead of a separate thing maybe? I suppose you have bunch of options which are different between these two, are dofferent protocols resulting in various channels?

On the lower level - as far I remember there was DiscoveryItemProcessor or similar interface (maybe DiscoveryResultProcessor?). Name suggests it shall have access to the results as they appear.

That would be a major change in the way the binding is designed and I’m not sure if that would resolve the issue either as we still are scanning for different mdns announcements. Also yes, there are a bunch of different options and even more so channels that are vendor specific between each.