laberning / openrowingmonitor

A free and open source performance monitor for rowing machines
https://laberning.github.io/openrowingmonitor
GNU General Public License v3.0
98 stars 19 forks source link

Error: Unknown Connection Identifier (0x2) error seen in logs #135

Open sean808080 opened 1 year ago

sean808080 commented 1 year ago

not sure at what point this started happening but after restarting ORM, letting it sit idle, this appears in the logs

Mar 24 16:19:31 rowingmonitor systemd[1]: openrowingmonitor.service: Succeeded.
Mar 24 16:19:31 rowingmonitor systemd[1]: Stopped Open Rowing Monitor.
Mar 24 16:19:31 rowingmonitor systemd[1]: openrowingmonitor.service: Consumed 13.371s CPU time.
Mar 24 16:19:31 rowingmonitor systemd[1]: Started Open Rowing Monitor.
Mar 24 16:19:33 rowingmonitor npm[3068]: > openrowingmonitor@0.8.2 start /opt/openrowingmonitor
Mar 24 16:19:33 rowingmonitor npm[3068]: > node app/server.js
Mar 24 16:19:35 rowingmonitor npm[3081]: ==== Open Rowing Monitor 0.8.2 ====
Mar 24 16:19:35 rowingmonitor npm[3081]: bluetooth profile: Concept2 PM5
Mar 24 16:19:35 rowingmonitor npm[3081]: Starting a just row session, no time or distance target set
Mar 24 16:19:35 rowingmonitor npm[3081]: heart rate profile: BLE
Mar 24 16:19:35 rowingmonitor npm[3081]: ant plus profile: Off
Mar 24 16:19:35 rowingmonitor npm[3081]: webserver running on port 80
Mar 24 16:19:36 rowingmonitor npm[3096]: Gpio-service: pin number 17, polling interval 5 us, triggered on Up flank, minimal pulse time 50 us
Mar 24 16:19:36 rowingmonitor npm[3081]: websocket client connected
Mar 24 16:19:48 rowingmonitor npm[3081]: websocket client disconnected
Mar 24 16:19:48 rowingmonitor npm[3081]: websocket client connected
Mar 24 16:20:12 rowingmonitor npm[3102]: heart rate peripheral connected, name: 'HRM-Dual:412323', id: e919db9a3d92
Mar 24 16:28:57 rowingmonitor npm[3102]: heart rate peripheral disconnected, searching new one
Mar 24 16:29:09 rowingmonitor npm[3102]: Error: Unknown Connection Identifier (0x2)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at NobleBindings.onLeConnComplete (/opt/openrowingmonitor/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:240:13)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at Hci.emit (node:events:513:28)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at Hci.processLeConnComplete (/opt/openrowingmonitor/node_modules/@abandonware/noble/lib/hci-socket/hci.js:795:8)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at Hci.processLeMetaEvent (/opt/openrowingmonitor/node_modules/@abandonware/noble/lib/hci-socket/hci.js:766:10)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at Hci.onSocketData (/opt/openrowingmonitor/node_modules/@abandonware/noble/lib/hci-socket/hci.js:596:12)
Mar 24 16:29:09 rowingmonitor npm[3102]:     at BluetoothHciSocket.emit (node:events:513:28)
Abasz commented 1 year ago

I think this is a timeout issue when the BLE wants to reconnect but cannot (e.g. because the sensor is already turned off). The error is thrown in upstream code. Probably need to catch the error in order to prevent crash of the node service.