My RM4 Mini (0x5216 type) is not supported by Broadlink Manager.
Broadlink Manager is installed with Qnap Container Station (docker) on my Qnap TS-653A.
After network scan, Broadlink Manager finds the RM4 mini as "not supported".
As a matter of fact, I can't learn any IR code under "Actions" menu.
When I try, I can see the message "waiting for signal" (just for a second) and then I receive the "Error occurred while scanning, please try again" message.
2022-06-05 14:13:13.955 | INFO | __main__:<module>:48 - OS: posix
2022-06-05 14:13:13.960 | DEBUG | __main__:get_env_ip_list:71 - Environement discovered IP List []
2022-06-05 14:13:13.984 | DEBUG | __main__:get_local_ip_list:64 - Locally discovered IP List ['192.168.178.101', '172.29.0.1', '10.0.5.1', '10.0.3.1', '10.0.7.1', '253.253.253.253', '172.29.8.1', '172.29.16.1', '172.29.20.1']
2022-06-05 14:13:13.985 | INFO | __main__:<module>:126 - Broadlink will try to discover devices on the following IP interfaces: ['192.168.178.101', '172.29.0.1', '10.0.5.1', '10.0.3.1', '10.0.7.1', '253.253.253.253', '172.29.8.1', '172.29.16.1', '172.29.20.1']
2022-06-05 14:13:13.988 | INFO | __main__:<module>:135 - Configuring app
2022-06-05 14:13:13.994 | INFO | __main__:get_analytics_code:179 - Content: <script async src="https://www.googletagmanager.com/gtag/js?id=UA-131664523-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-131664523-2');
</script>
2022-06-05 14:13:14.025 | INFO | __main__:<module>:641 - Broadllink Manager is up and running
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:7020 (Press CTRL+C to quit)
INFO: 192.168.178.199:52163 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.178.199:52164 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.178.199:52164 - "GET /about HTTP/1.1" 200 OK
INFO: 192.168.178.199:52164 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52164 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52170 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52170 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52170 - "GET /generator HTTP/1.1" 200 OK
INFO: 192.168.178.199:52170 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52170 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52181 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52183 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52196 - "GET /about HTTP/1.1" 200 OK
INFO: 192.168.178.199:52204 - "GET /index HTTP/1.1" 200 OK
INFO: 192.168.178.199:52204 - "GET /index HTTP/1.1" 200 OK
2022-06-05 14:16:19.411 | INFO | __main__:load_devices_from_file:574 - Reading devices from file
2022-06-05 14:16:22.415 | ERROR | __main__:load_devices_from_file:579 - Loading devices from file has faild with the following exception: [Errno 2] No such file or directory: 'data/devices.json'
INFO: 192.168.178.199:52214 - "GET /devices/load HTTP/1.1" 200 OK
2022-06-05 14:16:27.579 | INFO | __main__:search_for_devices:592 - Searcing for devices...
2022-06-05 14:16:27.579 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 192.168.178.101
2022-06-05 14:16:32.716 | INFO | __main__:search_for_devices:601 - New device detected: Not Supported (ip: 192.168.178.81 mac: ec0bae990d7b)
2022-06-05 14:16:32.717 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 172.29.0.1
2022-06-05 14:16:37.720 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 10.0.5.1
2022-06-05 14:16:42.722 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 10.0.3.1
2022-06-05 14:16:47.724 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 10.0.7.1
2022-06-05 14:16:52.726 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 253.253.253.253
2022-06-05 14:16:57.729 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 172.29.8.1
2022-06-05 14:17:02.732 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 172.29.16.1
2022-06-05 14:17:07.734 | INFO | __main__:search_for_devices:594 - Checking devices on interface assigned with IP: 172.29.20.1
2022-06-05 14:17:12.736 | DEBUG | __main__:search_for_devices:611 - Devices Found: [{'name': 'Not Supported', 'type': '0x5216', 'ip': '192.168.178.81', 'mac': 'ec0bae990d7b'}]
INFO: 192.168.178.199:52218 - "GET /autodiscover HTTP/1.1" 200 OK
INFO: 192.168.178.199:52218 - "GET /index HTTP/1.1" 200 OK
2022-06-05 14:17:12.987 | DEBUG | __main__:get_device_status:623 - 192.168.178.81
2022-06-05 14:17:13.085 | DEBUG | __main__:get_device_status:626 - b'1\n'
INFO: 192.168.178.199:52222 - "GET /device/ping?host=192.168.178.81 HTTP/1.1" 200 OK
2022-06-05 14:17:40.906 | INFO | __main__:save_devices_to_file:557 - Writing devices to file
2022-06-05 14:17:40.907 | INFO | __main__:save_devices_to_file:561 - Finished writing devices to file
INFO: 192.168.178.199:52225 - "POST /devices/save HTTP/1.1" 200 OK
2022-06-05 14:26:59.615 | INFO | __main__:learnir:428 - Learning IR Code for device: 192.168.178.81
2022-06-05 14:26:59.737 | INFO | __main__:learnir:431 - Entering IR Learning Mode
INFO: 192.168.178.199:52336 - "GET /ir/learn?type=0x5216&host=192.168.178.81&mac=ec0bae990d7b HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/uvicorn/protocols/http/h11_impl.py", line 373, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/usr/local/lib/python3.8/dist-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/fastapi/applications.py", line 212, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 181, in __call__
raise exc
File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 159, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/cors.py", line 84, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/starlette_exporter/middleware.py", line 135, in __call__
await self.app(scope, receive, wrapped_send)
File "/usr/local/lib/python3.8/dist-packages/starlette/exceptions.py", line 82, in __call__
raise exc
File "/usr/local/lib/python3.8/dist-packages/starlette/exceptions.py", line 71, in __call__
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 656, in __call__
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 259, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 61, in app
response = await func(request)
File "/usr/local/lib/python3.8/dist-packages/fastapi/routing.py", line 226, in app
raw_response = await run_endpoint_function(
File "/usr/local/lib/python3.8/dist-packages/fastapi/routing.py", line 161, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
File "/usr/local/lib/python3.8/dist-packages/starlette/concurrency.py", line 39, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
File "/usr/local/lib/python3.8/dist-packages/anyio/to_thread.py", line 28, in run_sync
return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,
File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 754, in run
result = context.run(func, *args)
File "broadlinkmanager.py", line 432, in learnir
dev.enter_learning()
AttributeError: 'Device' object has no attribute 'enter_learning'