Handle DNSError during radio browser setup (#95597)
```
2023-06-29 08:11:06.034 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Radio Browser for radio_browser
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 390, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/radio_browser/__init__.py", line 25, in async_setup_entry
await radios.stats()
File "/usr/local/lib/python3.11/site-packages/radios/radio_browser.py", line 124, in stats
response = await self._request("stats")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/backoff/_async.py", line 151, in retry
ret = await target(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/radios/radio_browser.py", line 73, in _request
result = await resolver.query("_api._tcp.radio-browser.info", "SRV")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers')
```
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""The Radio Browser integration."""
|
||||
from __future__ import annotations
|
||||
|
||||
from aiodns.error import DNSError
|
||||
from radios import RadioBrowser, RadioBrowserError
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
@@ -23,7 +24,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
|
||||
try:
|
||||
await radios.stats()
|
||||
except RadioBrowserError as err:
|
||||
except (DNSError, RadioBrowserError) as err:
|
||||
raise ConfigEntryNotReady("Could not connect to Radio Browser API") from err
|
||||
|
||||
hass.data[DOMAIN] = radios
|
||||
|
||||
Reference in New Issue
Block a user