"Unknown error occurred"
PASeanfire02 opened this issue · 3 comments
The "Authorize J-Tech Digital HDMI Matrix" dialog box accepts the ip address. I enter the username and password correctly and "Unknown error occurred" is returned.
The Matrix is powered on and works via ip control in a browser. The model I have is: JTECH-MX443-UHD. Link to product: https://jtechdigital.com/product/8x8-hdmi-matrix-switch-switcher-hdbaset/
@PASeanfire02 hey, can you provide me the log from home assistant? Can you also sniff network packages from your hdmi matrix dashboard login dialog? I will check how the login flow working on your device (like cookies or Authentication header)
@AlexOwl Thanks for the reply. Here's the log and sniff:
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/jtechdigital/config_flow.py:182
Integration: J-Tech Digital Matrix (documentation, issues)
First occurred: 10:21:05 AM (1 occurrences)
Last logged: 10:21:05 AM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/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 85, 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 80, 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/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 72, in wrapper
result = await method(view, request, data, *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 298, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 394, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/jtechdigital/config_flow.py", line 83, in async_step_authorize
await self._async_client_connect()
File "/config/custom_components/jtechdigital/config_flow.py", line 182, in _async_client_connect
await self._client.connect(user, password)
File "/usr/local/lib/python3.11/site-packages/pyjtechdigital/client.py", line 136, in connect
login_response = await self.login(user, password)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyjtechdigital/client.py", line 297, in login
result=bool(response.get(ATTR_RESULT)),
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
J-Tech_Matrix.txt
@PASeanfire02, unfortunately your device uses completely different API and commands. I will try to add compatibility for devices over rs232 later (also your device uses different commands than mine, so I will need to take a look at this further). For now I’ll mark it as close as this is completely different device unfortunately