vokkim / signalk-ruuvitag-plugin

Signal K plugin to provide RuuviTag data
MIT License
4 stars 8 forks source link

SignalK server crashes if no bluetooth device is installed #5

Closed mbartosch closed 3 years ago

mbartosch commented 4 years ago

Test setup on a Raspberry Pi 2 without Bluetooth.

After enabling the module the SignalK server crashes on startup with the following error message:

root@raspberrypi:~# signalk-server /root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100 this._deviceId = this._socket.bindRaw(deviceId); ^

Error: ENODEV, No such device at Hci.init (/root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35) at NobleBindings.init (/root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:78:13) at process.nextTick (/root/.signalk/node_modules/@abandonware/noble/lib/noble.js:60:24) at process._tickCallback (internal/process/next_tick.js:61:11) at Function.Module.runMain (internal/modules/cjs/loader.js:834:11) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

After adding a USB bluetooth device to the system the server works fine. I suggest some error handling (detect if Bluetooth hardware is available).

vokkim commented 3 years ago

This should not crash the entire SignalK server anymore, see https://github.com/vokkim/signalk-ruuvitag-plugin/commit/d4e7c7cf9843204e9a8569c7c9bfb21faae33280