uvjim / linksys_velop

Home Assistant integration for the Linksys Velop
47 stars 6 forks source link

Unknown action URI 'http://linksys.com/jnap/nodes/setup/StartAutoChannelSelection' #437

Closed sethbabs closed 1 year ago

sethbabs commented 1 year ago

I keep getting this error when scanning. Using Linksys EA8100 this is the Error LOG:


[23191407286208] Unknown action URI 'http://linksys.com/jnap/nodes/setup/StartAutoChannelSelection'
[23191407286208] Unknown action URI 'http://linksys.com/jnap/healthcheck/RunHealthCheck'
[23191208896704] Unknown action URI 'http://linksys.com/jnap/nodes/setup/StartAutoChannelSelection'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 227, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1969, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2006, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/button/__init__.py", line 124, in _async_press_action
    await self.async_press()
  File "/config/custom_components/linksys_velop/button.py", line 255, in async_press
    await _async_button_pressed(
  File "/config/custom_components/linksys_velop/button.py", line 195, in _async_button_pressed
    await action(**action_arguments)
  File "/usr/local/lib/python3.11/site-packages/pyvelop/mesh.py", line 1229, in async_start_channel_scan
    await self._async_make_request(action=api.Actions.START_CHANNEL_SCAN)
  File "/usr/local/lib/python3.11/site-packages/pyvelop/mesh.py", line 308, in _async_make_request
    raise err from None
  File "/usr/local/lib/python3.11/site-packages/pyvelop/mesh.py", line 306, in _async_make_request
    req_resp = await req.execute(timeout=self._timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyvelop/jnap.py", line 212, in execute
    return Response(
           ^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyvelop/jnap.py", line 256, in __init__
    self._process_data()
  File "/usr/local/lib/python3.11/site-packages/pyvelop/jnap.py", line 306, in _process_data
    raise err
pyvelop.exceptions.MeshInvalidInput: Unknown action URI 'http://linksys.com/jnap/nodes/setup/StartAutoChannelSelection'
uvjim commented 1 year ago

I'm not sure that your router has that functionality. The following link https://www.linksys.com/support-article?articleNum=216447 shows what this does for a Velop device which is what this integration was designed for.

The EA8100 is not a Velop device as far as I know. That it mostly works is due to the fact that Linksys are using the same JNAP queries for the majority of their products.

However, you have highlighted that I need to better handle when a JNAP request can't be processed in the upstream library. So, I'll open an issue against that to track it.

uvjim commented 1 year ago

Tracking the error management upstream, but cannot fix the fact that the functionality isn't available in the non-Velop device.