eelcohn / home-assistant-ddwrt

DDWRT component/entity for Home Assistant
18 stars 7 forks source link

cant add DDWRT router to config #12

Open jouster1974 opened 3 years ago

jouster1974 commented 3 years ago

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 commented 3 years ago

same problem with mine ...

eelcohn commented 2 years ago

Do you still have this problem?

Daandeve commented 2 years ago

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

eelcohn commented 2 years ago

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
  3. Restart Home Assistant
  4. Add the DD-WRT integration from the GUI
  5. 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!
  6. Optional: remove the logger stuff you added in step 2 to prevent your logfile from filling up with debug info
Daandeve commented 2 years ago

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 commented 1 year ago

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?