core: Synology DSM ReadTimeoutError
The problem
Everything seems to be working on the surface but I am constantly getting error messages for the Synology DSM integration
Environment
- Home Assistant Core release with the issue: -
- Last working Home Assistant Core release (if known): -
- Operating environment (OS/Container/Supervised/Core): HassOS 4.15, HA 0.117,2
- 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
synology_dsm:
- host: 192.168.1.40
username: !secret syno_username
password: !secret syno_password
ssl: true
port: 5001
- host: 192.168.1.41
username: !secret syno_username
password: !secret syno_password
ssl: true
port: 5001
Traceback/Error logs
2020-11-07 16:27:49 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.8/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/local/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.8/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 335, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='192.168.1.41', port=5001): 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.8/site-packages/synology_dsm/synology_dsm.py", line 274, in _execute_request
response = self._session.get(
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 365, in async_update
await self._hass.async_add_executor_job(self.dsm.update, self._with_information)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 327, in update
self._utilisation.update()
File "/usr/local/lib/python3.8/site-packages/synology_dsm/api/core/utilization.py", line 16, in update
raw_data = self._dsm.get(self.API_KEY, "get")
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 194, in get
return self._request("GET", api, method, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 245, in _request
response = self._execute_request(request_method, url, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 310, in _execute_request
raise SynologyDSMRequestException(exp) from exp
synology_dsm.exceptions.SynologyDSMRequestException: {'api': None, 'code': -1, 'reason': 'Unknown', 'details': "ReadTimeout = HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)"}
2020-11-07 17:42:49 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.8/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/local/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.8/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 335, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='192.168.1.41', port=5001): 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.8/site-packages/synology_dsm/synology_dsm.py", line 274, in _execute_request
response = self._session.get(
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 365, in async_update
await self._hass.async_add_executor_job(self.dsm.update, self._with_information)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 327, in update
self._utilisation.update()
File "/usr/local/lib/python3.8/site-packages/synology_dsm/api/core/utilization.py", line 16, in update
raw_data = self._dsm.get(self.API_KEY, "get")
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 194, in get
return self._request("GET", api, method, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 245, in _request
response = self._execute_request(request_method, url, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 310, in _execute_request
raise SynologyDSMRequestException(exp) from exp
synology_dsm.exceptions.SynologyDSMRequestException: {'api': None, 'code': -1, 'reason': 'Unknown', 'details': "ReadTimeout = HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)"}
2020-11-07 18:57:49 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.8/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/local/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.8/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 335, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='192.168.1.41', port=5001): 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.8/site-packages/synology_dsm/synology_dsm.py", line 274, in _execute_request
response = self._session.get(
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 365, in async_update
await self._hass.async_add_executor_job(self.dsm.update, self._with_information)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 327, in update
self._utilisation.update()
File "/usr/local/lib/python3.8/site-packages/synology_dsm/api/core/utilization.py", line 16, in update
raw_data = self._dsm.get(self.API_KEY, "get")
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 194, in get
return self._request("GET", api, method, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 245, in _request
response = self._execute_request(request_method, url, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 310, in _execute_request
raise SynologyDSMRequestException(exp) from exp
synology_dsm.exceptions.SynologyDSMRequestException: {'api': None, 'code': -1, 'reason': 'Unknown', 'details': "ReadTimeout = HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)"}
2020-11-07 20:12:49 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.8/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/local/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.8/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/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.8/site-packages/urllib3/connectionpool.py", line 335, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='192.168.1.41', port=5001): 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.8/site-packages/synology_dsm/synology_dsm.py", line 274, in _execute_request
response = self._session.get(
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/synology_dsm/__init__.py", line 365, in async_update
await self._hass.async_add_executor_job(self.dsm.update, self._with_information)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 327, in update
self._utilisation.update()
File "/usr/local/lib/python3.8/site-packages/synology_dsm/api/core/utilization.py", line 16, in update
raw_data = self._dsm.get(self.API_KEY, "get")
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 194, in get
return self._request("GET", api, method, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 245, in _request
response = self._execute_request(request_method, url, params, **kwargs)
File "/usr/local/lib/python3.8/site-packages/synology_dsm/synology_dsm.py", line 310, in _execute_request
raise SynologyDSMRequestException(exp) from exp
synology_dsm.exceptions.SynologyDSMRequestException: {'api': None, 'code': -1, 'reason': 'Unknown', 'details': "ReadTimeout = HTTPSConnectionPool(host='192.168.1.41', port=5001): Read timed out. (read timeout=10)"}
The error goes on.
Additional information
There is a separate user for HA identified on the synology units with the permission only for DSM and Surveillance Station application.

I didn’t notice any issue with functionality but my log is filled with these errors. If it is a bug, I would like to report it.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 27 (10 by maintainers)
I set the timeout to 25 secs and I am not getting these errors anymore. I need to leave it for some time and monitor it to see if they will come back. Just a theory right now, if you have more than 1 synology set up, the update times are exactly the same so the HA might not be functioning properly during the update.
yep, closing now since it is solved.
I will check them as soon as I start getting these errors.
Thanks for the feedback @Salvora I´m looking forward to your observations.
Additional comment, because the error messages occurs always during update the utilization data
I assume you do not notice problems, unless you are using the utilization sensors actively, therefor I asked you about
So please could you check your utilization sensors if they are updating properly (check history of sensor values) and show correct values?
LACP is based on standard 802.3ad Dynamic LAG with SRC and DST MAC. I have enabled the ping integration with
I will monitor these values and get back to you. After enabling the ping integration and restarting HA, there is no issue for now but this might not be the case when it is running for some time. Current values are: