IndexError during read on Ubuntu
Reported by @nick297
(aranet) nick@sandy2:~/soft$ claranet4 scan
INFO: Found 94 device(s)
(aranet) nick@sandy2:~/soft$ claranet4 read
INFO: Found 67 device(s)
INFO: Found 1 Aranet4 device(s)
INFO: Selected Aranet4 1D6BA (-64dBm)
Traceback (most recent call last):
File "/home/nick/miniconda3/envs/aranet/bin/claranet4", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/cli.py", line 55, in main
defopt.run(
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/defopt.py", line 356, in run
return call()
^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/cli.py", line 47, in read
reading = lib.read(address)
^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/lib.py", line 98, in read
measurements = asyncio.run(request_measurements(device.address))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/asyncio/base_events.py", line 650, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/lib.py", line 62, in request_measurements
async with BleakClient(address) as client:
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/bleak/__init__.py", line 433, in __aenter__
await self.connect()
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/bleak/__init__.py", line 471, in connect
return await self._backend.connect(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 190, in connect
assert_reply(reply)
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/bleak/backends/bluezdbus/utils.py", line 20, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
(aranet) nick@sandy2:~/soft$ claranet4 read E7:27:35:3E:60:FA
INFO: Selected Aranet4 1D6BA (-65dBm)
Traceback (most recent call last):
File "/home/nick/miniconda3/envs/aranet/bin/claranet4", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/cli.py", line 55, in main
defopt.run(
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/defopt.py", line 356, in run
return call()
^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/cli.py", line 47, in read
reading = lib.read(address)
^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/lib.py", line 99, in read
return Reading(device, measurements)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/lib.py", line 37, in __init__
self.co2: int = le16(response)
^^^^^^^^^^^^^^
File "/home/nick/miniconda3/envs/aranet/lib/python3.11/site-packages/claranet4/lib.py", line 46, in le16
return raw[start] + (raw[start + 1] << 8)
~~~^^^^^^^
IndexError: bytearray index out of range
Also sometimes throws:
$ claranet4 read --timeout 1
INFO: Found 58 device(s)
INFO: Found 1 Aranet4 device(s)
INFO: Selected Aranet4 1D6BA (-74dBm)
Traceback (most recent call last):
File "/home/bede/miniconda3/envs/claranet4/bin/claranet4", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/bede/claranet4/src/claranet4/cli.py", line 60, in main
defopt.run(
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/site-packages/defopt.py", line 356, in run
return call()
^^^^^^
File "/home/bede/claranet4/src/claranet4/cli.py", line 52, in read
reading = lib.read(address, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bede/claranet4/src/claranet4/lib.py", line 99, in read
measurements = asyncio.run(request_measurements(device.address))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/bede/claranet4/src/claranet4/lib.py", line 63, in request_measurements
async with BleakClient(address) as client:
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/site-packages/bleak/__init__.py", line 491, in __aenter__
await self.connect()
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/site-packages/bleak/__init__.py", line 531, in connect
return await self._backend.connect(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 244, in connect
assert_reply(reply)
File "/home/bede/miniconda3/envs/claranet4/lib/python3.11/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
@nick297 any idea on if you'd paired the device already? It doesn't seem like claranet4 handles pairing on Linux, I was getting various errors on my Raspberry Pi until I thought to first pair the device by other means and now it works fine...
I hadn’t, but that probably explains it. Got it working on Mac OS after pairing On 27 Sep 2023, at 19:03, Eric Dasmalchi @.***> wrote: @nick297 any idea on if you'd paired the device already? It doesn't seem like claranet4 handles pairing on Linux, I was getting various errors on my Raspberry Pi until I thought to first pair the device by other means and now it works fine...
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>