tahvane1 / jablotron80

Jablotron 80 integration for Home assistant
21 stars 11 forks source link

OSError: [Errno 22] Invalid argument #149

Closed markruys closed 8 months ago

markruys commented 1 year ago

Not sure if it's the Docker layer which interferes, but when I configure the Jablotron80 interface, I get a "Unknown error occurred". In the HA logs, I get:

2023-01-07 17:21:22.478 DEBUG (MainThread) [custom_components.jablotron80] JA80CentralUnit function call system_status
2023-01-07 17:21:22.478 INFO (MainThread) [custom_components.jablotron80] Connecting to JA80 via HID using /dev/usb/hiddev8...
2023-01-07 17:21:22.479 DEBUG (MainThread) [custom_components.jablotron80] Sending startup message
2023-01-07 17:21:22.479 ERROR (MainThread) [aiohttp.server] 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 222, 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 81, 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 180, 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 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 281, in async_configure
    result = await self._async_handle_step(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 368, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/config/custom_components/jablotron80/config_flow.py", line 92, in async_step_user
    cu = JA80CentralUnit(None, self._config, None)
  File "/config/custom_components/jablotron80/jablotron.py", line 1407, in __init__
    self._connection.connect()
  File "/config/custom_components/jablotron80/jablotron.py", line 830, in connect
    self._connection.write(b'\x00\x00\x01\x01')
OSError: [Errno 22] Invalid argument

I have a JA-82T cable (and entered it in the UI), not JA-80T as mentioned in the log above, and it looks to be present alright:

administrator@Alderaan:~$ ls -l /dev/usb/hiddev8
crw-rw-rw- 1 root root 180, 104 Jan  7 16:41 /dev/usb/hiddev8

Hm, what could that be...

markruys commented 1 year ago

Looks like it's a Synology problem:

So, I'll try:

Suggest to try not using direct serial, but a remote serial adapter as per instructions on the readme