core icon indicating copy to clipboard operation
core copied to clipboard

Tomato integration - Connection to the router timed out

Open enzo2 opened this issue 3 years ago • 3 comments

The problem

Same as prior closed issue, https://github.com/home-assistant/core/issues/17269 Tomato integration now throws "Connection to the router timed out".

Noticed the issue after updating both H-A as well as freshtomato, so unsure which caused it. However, the router has no problem serving the relevant page via browser (http://{XXX.XXX.XXX.XXX}/update.cgi?_http_id=XXXXXX&exec=devlist). Tried with multiple freshtomato routers running 2022.5, 2022.6. Tomato logs show no errors from httpd.

What version of Home Assistant Core has the issue?

2022.12.7

What was the last working version of Home Assistant Core?

2022.11

What type of installation are you running?

Home Assistant Container

Integration causing the issue

tomato

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tomato/

Diagnostics information

No response

Example YAML snippet

device_tracker:
  - platform: tomato
    host: 192.168.1.1
    port: 80
    verify_ssl: false
    username: admin
    password: XXXXXXXXXXX
    http_id: XXXXXXXX

Anything in the logs that might be useful for us?

Logger: homeassistant.components.tomato.device_tracker
Source: components/tomato/device_tracker.py:106
Integration: tomato (documentation, issues)
First occurred: 12:38:31 PM (162 occurrences)
Last logged: 12:49:46 PM

Connection to the router timed out
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/local/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.10/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 451, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 340, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='XXXXXXXXX', port=80): Read timed out. (read timeout=3)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/tomato/device_tracker.py", line 106, in _update_tomato_info
    response = requests.Session().send(self.req, timeout=3)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 578, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='XXXXXXXXX', port=80): Read timed out. (read timeout=3)

Additional information

No response

enzo2 avatar Dec 20 '22 18:12 enzo2

Same issue with HA 2023.1.6 and FreshTomato Firmware 2022.7 AIO, verified configuration.yaml and http_id/SSL.

mclardass avatar Jan 30 '23 21:01 mclardass

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

I have the same issue for about 3 weeks. I'm currently on 2023.5. However, it doesn't seem to be introduced by any recent HA update. It just randomly stopped working after using this integration for a couple of years. Any idea what can I do to fix it?

I tried to remove and re-add the config, hardcode the credentials rather than using !secret, rebooted the router but nothing I could think of helped to fix it.

Home Assistant 2023.5.0
Supervisor 2023.04.1
Operating System 10.1
Frontend 20230411.1 - latest
Home Assistant Blue / Hardkernel ODROID-N2+

Router:
Name | FreshTomato
Model | Netgear R7000
Bootloader (CFE) | v1.0.22
Chipset | ARMv7 Processor rev 0 (v7l)
Version: 2023.2
Logger: homeassistant.components.tomato.device_tracker
Source: components/tomato/device_tracker.py:106
Integration: tomato ([documentation](https://www.home-assistant.io/integrations/tomato), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+tomato%22))
First occurred: 12:14:51 (2979 occurrences)
Last logged: 22:10:24

Connection to the router timed out
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/local/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.10/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 451, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 340, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='192.168.1.230', port=80): Read timed out. (read timeout=3)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/tomato/device_tracker.py", line 106, in _update_tomato_info
    response = requests.Session().send(self.req, timeout=3)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 578, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.1.230', port=80): Read timed out. (read timeout=3)

ertechdesign avatar May 03 '23 21:05 ertechdesign

This has been an issue for more than several months now. Could somebody please look at this? I need this working in order to track phone presence in the households to regulate the heating. Using phone location through the app is not an option due to privacy concerns.

Thanks.

ertechdesign avatar Jul 26 '23 17:07 ertechdesign

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.