zachcheatham / ha-omada

Home Assistant TP-Link Omada Integration
189 stars 26 forks source link

Can't connect to Controller #40

Open Frits1980 opened 2 years ago

Frits1980 commented 2 years ago

I've double checked issue #23. Also I've rebooted my entire HA system and the Omada Controller.

But when I fill in all data and push the Submit button it always gives me this: image

Frits1980 commented 2 years ago

So I had another RPI doing nothing and installed Omada Controller 4.4 on it. And it connected right away. So the issue is defenitly with 5.x controller.

mario-almeida commented 2 years ago

I have this same issue. Unable to connect.

Logger: aiohttp.server Source: custom_components/omada/api/controller.py:104 Integration: TP-Link Omada (documentation) First occurred: August 27, 2022 at 2:10:21 PM (5 occurrences) Last logged: 10:16:19 AM Error handling request

Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle resp = await handler(request) File "/usr/local/lib/python3.10/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 100, 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 82, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle result = await result File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper result = await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 109, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 277, in async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 359, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) File "/config/custom_components/omada/config_flow.py", line 56, in async_step_user controller = await get_api_controller( File "/config/custom_components/omada/controller.py", line 154, in get_api_controller await controller.update_ssids() File "/config/custom_components/omada/api/controller.py", line 104, in update_ssids for ssid in response["ssids"][0]["ssidList"]: IndexError: list index out of range

svenkort commented 2 years ago

Situation: Omada is on version v5.0.29 The integration, updated, gets an issue since the login URL changed om v5.0.29 in format https//IP:port/API/login

The integration formats on https://IP:port/API/v2/login (FALSE) and https://IP:port/API/info (CORRECT)

Logger: custom_components.omada.controller Source: custom_components/omada/controller.py:168 Integration: TP-Link Omada (documentation) First occurred: 15:00:30 (2 occurrences) Last logged: 15:00:46

Unable to connect to Omada at xxxxx: Call to xxxx/api/v2/login received status code 404: Unable to connect to Omada at xxxxx: Call to xxx/api/info received status code 400:

Think the solution should be to edit the integration-login url to the new format..

aldets commented 2 years ago

Won't work for me in any way. After I fill the fields I get an API error and the LogViewer shows these:

_2022-08-29 17:21:04.080 DEBUG (MainThread) [custom_components.omada.api.controller] 404 application/octet-stream <ClientResponse(http://controller_ip:8088/controller_id/api/v2/login) [404 ]> 2022-08-29 17:21:04.081 WARNING (MainThread) [custom_components.omada.api.controller] Error connecting to http://controller_ip:8088/controller_id/api/login: API returned HTTP 404. 2022-08-29 17:21:04.086 WARNING (MainThread) [custom_components.omada.controller] Unable to connect to Omada at http://controller_ip:8088: Call to http://controller_ip:8088/controller_id/api/v2/login received status code 404:_

If using any other port, then I get Unable to connect to service.

_2022-08-29 17:30:12.964 DEBUG (MainThread) [custom_components.omada.api.controller] Requesting: http://controller_ip/controller_id/api/v2/login - Params: None - JSON: {'username': 'username', 'password': 'password'} - Headers {} 2022-08-29 17:30:13.102 DEBUG (MainThread) [custom_components.omada.api.controller] 200 application/json <ClientResponse(https://controller_ip/controller_id/api/v2/login) [200 ]> 2022-08-29 17:30:13.104 WARNING (MainThread) [custom_components.omada.controller] Unable to connect to Omada at http://controller_ip: Unsupported request path._

OC200 Hardware Controller: Version: 5.4.7 Integration: TP-Link Omada 0.3.2

http://controller_ip/api/info works just fine, I recieve the Controller Id from there, but getting anything from there is impossible. The Omada API documentation is a nightmare.

mario-almeida commented 2 years ago

Upgraded the firmware on OC200 to Version: 5.4.7 Build: 5.4.7

Successfully added.

hariskar commented 1 year ago

It can't connect for me too.

This error originated from a custom integration.

Logger: custom_components.omada.controller
Source: custom_components/omada/controller.py:168
Integration: TP-Link Omada (documentation)
First occurred: 15:36:06 (7 occurrences)
Last logged: 15:41:51

Unable to connect to Omada at 192.168.1.3:
Unable to connect to Omada at http://192.168.1.3: Call to http://192.168.1.3/api/info received status code 404:
Unable to connect to Omada at http://192.168.1.3:80: Call to http://192.168.1.3:80/api/info received status code 404:
Steve2017 commented 1 year ago

Okay - I feel like a dummy. I've spent way too much time looking through these posts and other forums. My Issue was not changing "default" to the name of my controller site. Once done, it was happy.

zachcheatham commented 1 year ago

I'll work on adding some instruction to check the site name when the API 404s during setup. Hopefully that'll save people some time in the future.

rdinan commented 5 months ago

Has anyone gotten this to work with an Omada ER7212PC (https://www.tp-link.com/us/business-networking/omada-router-integrated-router/er7212pc/). The firmware versions dont use the same number as the OC models. image