Skip to content
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

cant add DDWRT router to config #12

Open
jouster1974 opened this issue Apr 9, 2021 · 6 comments
Open

cant add DDWRT router to config #12

jouster1974 opened this issue Apr 9, 2021 · 6 comments

Comments

@jouster1974
Copy link

added to customcomponent
gone to integration and found component
entered all details
neither have worked, always just shows unknown error occurred
have tried using hostname, IP address
used multiple combinations of SSL and Certificate option

I can access fully from browser so know it is working fine

Any ideas

@engi
Copy link

engi commented Jun 17, 2021

same problem with mine ...

@eelcohn
Copy link
Owner

eelcohn commented Dec 11, 2021

Do you still have this problem?

@Daandeve
Copy link

I still have this problem it reports 'Unknown error occurred', so nothing useful...

@eelcohn
Copy link
Owner

eelcohn commented Dec 16, 2021

Please try the following:

  1. Remove any existing DD-WRT integrations from your Home Assistant setup
  2. Add the following to your configuration.yaml:
logger:
  default: warning
  logs:
    custom_components.ddwrt: debug
    custom_components.ddwrt.camera: debug
    custom_components.ddwrt.config_flow: debug
    custom_components.ddwrt.binary_sensor: debug
    custom_components.ddwrt.device_tracker: debug
    custom_components.ddwrt.sensor: debug
    custom_components.ddwrt.pyddwrt: debug
  1. Restart Home Assistant
  2. Add the DD-WRT integration from the GUI
  3. If you still get the error, please post the contents of the home-assistant.log below. REMEMBER TO REMOVE ANY USERNAME/PASSWORDS FROM YOUR LOGFILE BEFORE YOU POST YOUR LOGFILE!
  4. Optional: remove the logger stuff you added in step 2 to prevent your logfile from filling up with debug info

@Daandeve
Copy link

Daandeve commented Dec 16, 2021

Okay this is my ddwrt log.
I'm running home assistant 2021.12.2 on HassOS 7.0 in a VM

2021-12-16 15:01:10 DEBUG (MainThread) [custom_components.ddwrt.config_flow] DDWRTFlowHandler called
2021-12-16 15:01:10 DEBUG (MainThread) [custom_components.ddwrt.config_flow] DDWRTFlowHandler::__init__ called
2021-12-16 15:01:10 DEBUG (MainThread) [custom_components.ddwrt.config_flow] DDWRTFlowHandler::async_step_user called None
2021-12-16 15:01:10 DEBUG (MainThread) [custom_components.ddwrt.config_flow] DDWRTFlowHandler::async_step_user show setup form
2021-12-16 15:01:23 DEBUG (MainThread) [custom_components.ddwrt.config_flow] DDWRTFlowHandler::async_step_user called {'host': '192.168.15.11', 'ssl': False, 'verify_ssl': False, 'username': 'username', 'password': 'password'}
2021-12-16 15:01:23 DEBUG (MainThread) [custom_components.ddwrt.pyddwrt] DDWrt.update_about_data: Updating about data...
2021-12-16 15:01:23 DEBUG (MainThread) [custom_components.ddwrt.pyddwrt] DDWrt._get_ddwrt_data: Connecting to http://192.168.15.11/About.htm
2021-12-16 15:01:23 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for ddwrt doing I/O at custom_components/ddwrt/pyddwrt.py, line 860: response = self._session.get(
2021-12-16 15:01:23 DEBUG (MainThread) [custom_components.ddwrt.pyddwrt] DDWrt._get_ddwrt_data: Unable to connect to the router Connection error: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/ddwrt/pyddwrt.py, line 860: response = self._session.get(
2021-12-16 15:01:23 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/config/custom_components/ddwrt/pyddwrt.py", line 860, in _get_ddwrt_data
    response = self._session.get(
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/local/lib/python3.9/http/client.py", line 1279, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1290, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 219, in putrequest
    return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 151, in protected_loop_func
    check_loop()
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 140, in check_loop
    raise RuntimeError(
RuntimeError: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/ddwrt/pyddwrt.py, line 860: response = self._session.get(

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/ddwrt/pyddwrt.py", line 142, in update_about_data
    self.data = self._get_ddwrt_data(url, False)
  File "/config/custom_components/ddwrt/pyddwrt.py", line 909, in _get_ddwrt_data
    raise(DDWrt.ExceptionUnknown(e))
custom_components.ddwrt.pyddwrt.DDWrt.ExceptionUnknown: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/ddwrt/pyddwrt.py, line 860: response = self._session.get(

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/ddwrt/config_flow.py", line 154, in async_step_user
    valid_router = router.update_about_data()
  File "/config/custom_components/ddwrt/pyddwrt.py", line 145, in update_about_data
    raise(DDWrt.DDWrtException("Unable to update about data: %s", e))
custom_components.ddwrt.pyddwrt.DDWrt.DDWrtException: ('Unable to update about data: %s', ExceptionUnknown(RuntimeError('I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/ddwrt/pyddwrt.py, line 860: response = self._session.get(')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 220, in forwarded_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 78, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 181, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 157, in post
    return await super().post(request, flow_id)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in async_configure
    result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/config/custom_components/ddwrt/config_flow.py", line 160, in async_step_user
    except CannotConnect:
NameError: name 'CannotConnect' is not defined```

@eelcohn
Copy link
Owner

eelcohn commented May 2, 2023

This should be fixed in v1.1.4 (released on 2 May 2023). Can you check if the problem is fixed by updating to v1.1.4?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants