unfoldedcircle / feature-and-bug-tracker

Feature and bug tracker repository for Unfolded Circle products
21 stars 0 forks source link

[bug] Since 1.7.4/5 my external integrations are not discovered anymore #353

Closed Kat-CeDe closed 3 months ago

Kat-CeDe commented 3 months ago

Is there an existing issue for this?

Description

I had 4 external integrations successfully running and wanted to add a 5th but it was not discovered. I disconnected existing external integrations and they are also not detected anymore.

How to Reproduce

Start an external integration on port 8000. I used Android TV Try to add external integration and search the external integration

Expected behavior

external integration is found, I can change the port if I want to

System version

1.7.5

What part of the system affected by the problem?

Integration

Additional context

No response

klada commented 3 months ago

I guess you are using Zeroconf + mDNS for discovery. Is this correct?

What I noticed is that when external integrations are publishing their mDNS names the remote does not discover them. I was able to work around that by telling my external integrations to publish their (resolvable) DNS name. For Python integrations this could be achieved by setting UC_MDNS_LOCAL_HOSTNAME.

Kat-CeDe commented 3 months ago

Hi, I tested further. My external denon is found but not Android TV but it is running in my network as you can see here:

This is the current source of Android TV from git. As you can see I already used your UC_MDNS_LOCAL_HOSTNAME before it was simply debian.local.

Ralf

zehnm commented 3 months ago

There has been no change in mDNS discovery, nor Remote Two system configuration or library updates in 1.7.x which could influence discovery. This is more likely an issue with the network, the mDNS service announcement or something blocking mDNS.

I guess you are using Zeroconf + mDNS for discovery. Is this correct?

Remote Two uses mDNS to discover external integrations. Name resolving must work, otherwise the integrations are not shown in the discovery dialog. To test if mDNS is working correctly on a Linux host (excluding services on the same host):

avahi-browse -d local --parsable --resolve --terminate _uc-integration._tcp

(This is the exact same command used on the Remote).

My external denon is found but not Android TV

Denon device discovery uses UPnP SSDP, Android TV device discovery uses mDNS.

Kat-CeDe commented 3 months ago

Hi, this is the result: +;enp7s0;IPv4;rb_denon_1;_uc-integration._tcp;local +;enp7s0;IPv4;uc_androidtv_driver;_uc-integration._tcp;local =;enp7s0;IPv4;rb_denon_1;_uc-integration._tcp;local;uc-denon-hk.local;192.168.178.9;8002;"developer=Unfolded Circle ApS" "ver=0.2.4" "name=Denon AVR Network Receivers" =;enp7s0;IPv4;uc_androidtv_driver;_uc-integration._tcp;local;uc-atv-sz2.local;192.168.178.9;8003;"developer=Unfolded Circle ApS" "ver=0.4.6" "name=Android TV"

I already had 3 external Android TV integrations running now not 1 is found.

Ralf

Kat-CeDe commented 3 months ago

Hi, it was my fault. One used and one new integration had the same id. Sorry for the wrong alert.

Ralf

zehnm commented 3 months ago

Good to hear it's working. @Kat-CeDe please close this issue.