Irgendwer hat dann aber doch das Modul gepatcht, so dass es immerhin mit Node 10 läuft (und ich vermute mal stark: auch mit den Node-Versionen danach). Da gibt es also diesen Fork des Moduls als @abandonware/bluetooth-hci-socket. Siehe https://github.com/noble/node-…oth-hci-socket/issues/107
Okay, danke erstmal für die Erläuterung und Hilfe. Davon hatte ich auch gelesen und versucht es zu installieren und bei FileZilla sehe ich auch das ein Ordner von@abandonware existiert aber bei der Installation bekomme ich die Fehlermeldung:
node-pre-gyp ERR! install response status 404 Not Found on https://github.com/abandonware…node-v83-linux-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not installable for @abandonware/[email protected] and [email protected] (node-v83 ABI, glibc) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/abandonware…node-v83-linux-arm.tar.gz
make: Entering directory '/root/node_modules/@abandonware/bluetooth-hci-socket/build'
CXX(target) Release/obj.target/bluetooth_hci_socket/src/BluetoothHciSocket.o
In file included from /root/.cache/node-gyp/14.18.1/include/node/node_buffer.h:25,
from ../src/BluetoothHciSocket.cpp:7:
/root/.cache/node-gyp/14.18.1/include/node/node.h:787:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/root/.cache/node-gyp/14.18.1/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/BluetoothHciSocket.cpp:635:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(binding, BluetoothHciSocket::Init);
^~~~~~~~~~~
../src/BluetoothHciSocket.cpp: In member function ‘int BluetoothHciSocket::kernelDisconnectWorkArounds(int, char*)’:
../src/BluetoothHciSocket.cpp:401:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SOLINK_MODULE(target) Release/obj.target/bluetooth_hci_socket.node
COPY Release/bluetooth_hci_socket.node
COPY /root/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node
TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/root/node_modules/@abandonware/bluetooth-hci-socket/build'
npm WARN saveError ENOENT: no such file or directory, open '/root/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/root/package.json'
npm WARN root No description
npm WARN root No repository field.
npm WARN root No README data
npm WARN root No license field.
Das führt dann wiederum dazu das beim hb Neustart die Plugins das module warum auch immer nicht finden können:
] ERROR INITIALIZING PLUGIN homebridge-mi-hygrothermograph:
[16/10/2021, 13:12:27] Error: Cannot find module '@abandonware/noble'
Require stack:
- /usr/local/lib/node_modules/homebridge-mi-hygrothermograph/lib/scanner.js
- /usr/local/lib/node_modules/homebridge-mi-hygrothermograph/lib/accessory.js
- /usr/local/lib/node_modules/homebridge-mi-hygrothermograph/index.js
- /usr/local/lib/node_modules/homebridge/lib/plugin.js
- /usr/local/lib/node_modules/homebridge/lib/pluginManager.js
- /usr/local/lib/node_modules/homebridge/lib/server.js
- /usr/local/lib/node_modules/homebridge/lib/cli.js
- /usr/local/lib/node_modules/homebridge/bin/homebridge
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-mi-hygrothermograph/lib/scanner.js:2:15)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)