core: Synology DSM timeout Error when HA starts 0.112.0

The problem

I get an error in the log when HA starts related to synolgy dsm integration

Environment

  • Home Assistant Core release with the issue: 0.112.0
  • Last working Home Assistant Core release (if known): not sure
  • Operating environment (OS/Container/Supervised/Core): Supervised
  • Integration causing this issue: Synology DSM
  • Link to integration documentation on our website: https://www.home-assistant.io/integrations/synology_dsm/

Problem-relevant configuration.yaml

None. It’s a GUI integration


Traceback/Error logs

Log Details (ERROR)
Logger: homeassistant.config_entries
Source: components/synology_dsm/__init__.py:311
First occurred: 7:33:31 AM (1 occurrences)
Last logged: 7:33:31 AM

Error setting up entry 10.90.11.40 for synology_dsm
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 426, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.7/http/client.py", line 1344, in getresponse
    response.begin()
  File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 725, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 403, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 735, in reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 428, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout
    self, url, "Read timed out. (read timeout=%s)" % timeout_value
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='10.90.11.40', port=5000): Read timed out. (read timeout=10)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 256, in _execute_request
    url, params=encoded_params, timeout=self._timeout, **kwargs
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 543, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='10.90.11.40', port=5000): Read timed out. (read timeout=10)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 220, in async_setup
    hass, self
  File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 161, in async_setup_entry
    await api.async_setup()
  File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 253, in async_setup
    await self._hass.async_add_executor_job(self._fetch_device_configuration)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 311, in _fetch_device_configuration
    self.information = self.dsm.information
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 327, in information
    data = self.get(SynoDSMInformation.API_KEY, "getinfo")
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 179, in get
    return self._request("GET", api, method, params, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 193, in _request
    self.discover_apis()
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 114, in discover_apis
    self._apis = self.get(API_INFO, "query")["data"]
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 179, in get
    return self._request("GET", api, method, params, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 223, in _request
    response = self._execute_request(request_method, url, params=params, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/synology_dsm/synology_dsm.py", line 275, in _execute_request
    raise SynologyDSMRequestException(exp)
synology_dsm.exceptions.SynologyDSMRequestException: {'api': None, 'code': -1, 'reason': 'Unknown', 'details': "ReadTimeout = HTTPConnectionPool(host='10.90.11.40', port=5000): Read timed out. (read timeout=10)"}

Additional information

Sample - I see this for every device. All entities unavailable image

I saw this in the beta yesterday as well but deleted the integration, restarted, added and all entities were detected properly again. But it gives this error above now for every restart.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 2
  • Comments: 17 (9 by maintainers)

Most upvoted comments

@Quentame seems like changing the timeout will fix it? Can this change be made?

Yes I can do that

Please, update the integration. It is non-working now due to this tiny bug with timeout.

From all issues I got on this integration, rebooting is often the solution.

How are others ?