8000 Stack trace in Ecobee when connection fails · Issue #10892 · home-assistant/core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Stack trace in Ecobee when connection fails #10892

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
PhracturedBlue opened this issue Dec 1, 2017 · 0 comments · Fixed by #10894
Closed

Stack trace in Ecobee when connection fails #10892

PhracturedBlue opened this issue Dec 1, 2017 · 0 comments · Fixed by #10894

Comments

@PhracturedBlue
Copy link
Contributor

Home Assistant release (hass --version):
0.58.1

Python release (python3 --version):
3.6

Component/platform:
ecobee

Description of problem:
I got the following stack trace in my logs. I believe this may be due to losing internet connection during this time:
I guess the update function should either be wrapped in a try call here, or better protected inside the homeassistant library.

Traceback (if applicable):

2017-11-30 15:15:39 ERROR (MainThread) [homeassistant.helpers.entity] Update for binary_sensor.my_ecobee3_occupancy fails
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connectionpool.py", line 346, in _make_request
    self._validate_conn(conn)
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connectionpool.py", line 850, in _validate_conn
    conn.connect()
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connection.py", line 346, in connect
    _match_hostname(cert, self.assert_hostname or hostname)
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connection.py", line 356, in _match_hostname
    match_hostname(cert, asserted_hostname)
  File "/opt/python-3.6.3/lib/python3.6/ssl.py", line 327, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname 'api.ecobee.com' doesn't match either of 'www.ecobee.com', 'ecobee.com'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/adapters.py", line 440, in send
    timeout=timeout
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/connectionpool.py", line 639, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/srv/homeassistant/lib/python3.6/site-packages/urllib3/util/retry.py", line 388, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.ecobee.com', port=443): Max retries exceeded with url: /1/thermostat?json=%7B%22selection%22%3A%7B%22selectionType%22%3A%22registered%22%2C%22includeRuntime%22%3A%22true%22%2C%22includeSensors%22%3A%22true%22%2C%22includeProgram%22%3A%22true%22%2C%22includeEquipmentStatus%22%3A%22true%22%2C%22includeEvents%22%3A%22true%22%2C%22includeWeather%22%3A%22true%22%2C%22includeSettings%22%3A%22true%22%7D%7D (Caused by SSLError(CertificateError("hostname 'api.ecobee.com' doesn't match either of 'www.ecobee.com', 'ecobee.com'",),))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 309, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/opt/python-3.6.3/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/opt/python-3.6.3/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/opt/python-3.6.3/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/opt/python-3.6.3/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/binary_sensor/ecobee.py", line 66, in update
    data.update()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/__init__.py", line 306, in wrapper
    result = method(*args, **kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/ecobee.py", line 97, in update
    self.ecobee.update()
  File "/srv/homeassistant/lib/python3.6/site-packages/pyecobee/__init__.py", line 169, in update
    self.get_thermostats()
  File "/srv/homeassistant/lib/python3.6/site-packages/pyecobee/__init__.py", line 133, in get_thermostats
    request = requests.get(url, headers=header, params=params)
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/requests/adapters.py", line 506, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.ecobee.com', port=443): Max retries exceeded with url: /1/thermostat?json=%7B%22selection%22%3A%7B%22selectionType%22%3A%22registered%22%2C%22includeRuntime%22%3A%22true%22%2C%22includeSensors%22%3A%22true%22%2C%22includeProgram%22%3A%22true%22%2C%22includeEquipmentStatus%22%3A%22true%22%2C%22includeEvents%22%3A%22true%22%2C%22includeWeather%22%3A%22true%22%2C%22includeSettings%22%3A%22true%22%7D%7D (Caused by SSLError(CertificateError("hostname 'api.ecobee.com' doesn't match either of 'www.ecobee.com', 'ecobee.com'",),))
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant
0