You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue: no overall discovery timeout like 30sec, but a socket read timeout while receiving SSDP records. With many devices this can easily take over a minute and the UI times out!
This happens to me now, with just 2 Sonos, 1 LG TV, 1 Hue Bridge and an AVR. Not really a big setup, but the discovery almost always times out. Even if the integration discovered the AVR, I can't finish the setup process.
The socket read timeout cannot be used for a discovery timeout. You might get 100 devices, and the first ones start sending messages again, while still processing the remaining records.
Another issue which increases the discovery timeout is #4:
Lots of devices are discovered which match the search query, like Sonos, LG, Hue, ...
Each device (IP address to be precise) is used to try creating denonavr.DenonAVR(ipaddress).
The denonavr library then tries to fetch all required information. In my environment this takes around 2-3 seconds for the Hue bridge alone. And the Hue bridge sends a record every few seconds! This is the time between these two log messages:
DEBUG:avr:Trying to get device info for 172.16.16.5
ERROR:avr:Failed to get device info. Maybe not a Denon device.
--> the number of attempts to create a DenonAVR object for every found SSDP record has to be decreased! Suggestion: create a list of well known header keys of 3rd party devices, that can be immediatly filtered out.
Known headers so far:
hue-bridgeid: Philips Hue bridge
X-RINCON-HOUSEHOLD: Sonos speakers
DLNADeviceName.lge.com: LG TV
TODO study SSDP protocol and HA implementation.
It would be great if Denon receivers could be clearly identifiable either by:
USN: The unique service name to identify the device.
--> is that just the generic upnp service?
SERVER: The server system information value providing information in the following format: [OS-Name] UPnP/[Version] [Product-Name]/[Product-Version].
--> is OS-Nameusable?
Probably the XML file has to be loaded from LOCATION and parsed for the required information...
Home Assistant has a central SSDP discovery:
An integration driver can specifiy in it's manifest file, which responses it wants to receive (or which ones will be associated to that integration).
Issue: no overall discovery timeout like 30sec, but a socket read timeout while receiving SSDP records. With many devices this can easily take over a minute and the UI times out!
This happens to me now, with just 2 Sonos, 1 LG TV, 1 Hue Bridge and an AVR. Not really a big setup, but the discovery almost always times out. Even if the integration discovered the AVR, I can't finish the setup process.
The socket read timeout cannot be used for a discovery timeout. You might get 100 devices, and the first ones start sending messages again, while still processing the remaining records.
Another issue which increases the discovery timeout is #4:
denonavr.DenonAVR(ipaddress)
.--> the number of attempts to create a DenonAVR object for every found SSDP record has to be decreased! Suggestion: create a list of well known header keys of 3rd party devices, that can be immediatly filtered out.
Known headers so far:
hue-bridgeid
: Philips Hue bridgeX-RINCON-HOUSEHOLD
: Sonos speakersDLNADeviceName.lge.com
: LG TVTODO study SSDP protocol and HA implementation.
It would be great if Denon receivers could be clearly identifiable either by:
--> is that just the generic upnp service?
[OS-Name] UPnP/[Version] [Product-Name]/[Product-Version]
.--> is
OS-Name
usable?Probably the XML file has to be loaded from
LOCATION
and parsed for the required information...Home Assistant has a central SSDP discovery:
The text was updated successfully, but these errors were encountered: