valkjsaaa / homebridge-switchmate3

Switchmate automation, via homebridge, for the impatient.
MIT License
9 stars 2 forks source link

Error: The requested platform 'Switchmate' was not registered by any plugin. #5

Open skosow opened 4 years ago

skosow commented 4 years ago

I've installed the plugin via sudo npm install -g --unsafe-perm homebridge-switchmate3 but I keep getting this error when I add the config info.

Error: The requested platform 'Switchmate' was not registered by any plugin. at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:134:13) at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45) at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36) at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10) at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3)

valkjsaaa commented 4 years ago

The platform should be Switchmate3

skosow commented 4 years ago

I get the same error with switchmate3. (your config-sample-linux.json file says to use Switchmate as the platform)

Error: The requested platform 'Switchmate3' was not registered by any plugin. at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:134:13) at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45) at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36) at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3)

valkjsaaa commented 4 years ago

Also it should be switchmate3s instead of switchmates for the devices list.

However, I suspect if homebridge can’t find the platform, that has something to do with your installation. How did you install homebridge-switchmate3?

skosow commented 4 years ago

sudo npm install -g --unsafe-perm homebridge-switchmate3

skosow commented 4 years ago

I just realized I have a new error

ERROR LOADING PLUGIN homebridge-switchmate3: Error: Cannot find module 'bluetooth-hci-socket' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15) at Function.Module._load (internal/modules/cjs/loader.js:507:25) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-switchmate3/node_modules/noble/lib/hci-socket/hci.js:6:26) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3)

valkjsaaa commented 4 years ago

try sudo npm install -g --unsafe-perm bluetooth-hci-socket

skosow commented 4 years ago

I don't think it installed correctly

`npm WARN npm npm does not support Node.js v10.15.2 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9. npm WARN npm You can find the latest version at https://nodejs.org/

usb@1.6.2 install /usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 5.3.3 prebuild-install info looking for cached prebuild @ /root/.npm/_prebuilds/4d8f16-usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install http request GET https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install WARN install No prebuilt binaries found (target=10.15.2 runtime=node arch=arm libc= platform=linux) make: Entering directory '/usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb/build' CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o ../libusb/libusb/os/linux_udev.c:40:10: fatal error: libudev.h: No such file or directory

include

      ^~~~~~~~~~~

compilation terminated. make: *** [libusb.target.mk:140: Release/obj.target/libusb/libusb/libusb/os/linux_udev.o] Error 1 make: Leaving directory '/usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:189:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.19.97-v7l+ gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

bluetooth-hci-socket@0.5.1 install /usr/local/lib/node_modules/bluetooth-hci-socket node-gyp rebuild

make: Entering directory '/usr/local/lib/node_modules/bluetooth-hci-socket/build' CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker)’: ../node_modules/nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast(AsyncExecuteComplete) ^ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’: ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’: ../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local [1])’ Local error = errorConstructor->NewInstance(1, constructorArgs); ^ In file included from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:3993:44: note: candidate: ‘v8::MaybeLocal v8::Function::NewInstance(v8::Local, int, v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal NewInstance( ^~~ /usr/include/nodejs/deps/v8/include/v8.h:3993:44: note: candidate expects 3 arguments, 2 provided /usr/include/nodejs/deps/v8/include/v8.h:3996:44: note: candidate: ‘v8::MaybeLocal v8::Function::NewInstance(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal NewInstance( ^~~ /usr/include/nodejs/deps/v8/include/v8.h:3996:44: note: candidate expects 1 argument, 2 provided ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /usr/include/nodejs/deps/v8/include/v8.h:26, from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~ /usr/include/nodejs/deps/v8/include/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /usr/include/nodejs/deps/v8/include/v8.h:26, from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~ /usr/include/nodejs/deps/v8/include/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ In file included from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: ../src/BluetoothHciSocket.cpp: At global scope: /usr/include/nodejs/src/node.h:570:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /usr/include/nodejs/src/node.h:604:3: note: in expansion of macro ‘NODEMODULE’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~ ../src/BluetoothHciSocket.cpp:499:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(binding, BluetoothHciSocket::Init); ^~~ In file included from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /usr/include/nodejs/src/node_object_wrap.h:85:78: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [binding.target.mk:101: Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1 make: Leaving directory '/usr/local/lib/node_modules/bluetooth-hci-socket/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:189:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.19.97-v7l+ gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/bluetooth-hci-socket gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN optional SKIPPING OPTIONAL DEPENDENCY: usb@1.6.2 (node_modules/bluetooth-hci-socket/node_modules/usb): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: usb@1.6.2 install: prebuild-install --verbose || node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bluetooth-hci-socket@0.5.1 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bluetooth-hci-socket@0.5.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-03-02T00_49_32_484Z-debug.log`

valkjsaaa commented 4 years ago

What distro are you using? Install libudev-dev with you system package manager.

skosow commented 4 years ago

Its the latest version of Raspbian

valkjsaaa commented 4 years ago

Then run sudo apt install libudev-dev, and then do this again sudo npm install -g --unsafe-perm bluetooth-hci-socket.

skosow commented 4 years ago

npm WARN npm npm does not support Node.js v10.15.2 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9. npm WARN npm You can find the latest version at https://nodejs.org/

usb@1.6.2 install /usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 5.3.3 prebuild-install info looking for cached prebuild @ /root/.npm/_prebuilds/4d8f16-usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install http request GET https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.2/usb-v1.6.2-node-v64-linux-arm.tar.gz prebuild-install WARN install No prebuilt binaries found (target=10.15.2 runtime=node arch=arm libc= platform=linux) make: Entering directory '/usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb/build' CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o AR(target) Release/obj.target/usb.a COPY Release/usb.a CXX(target) Release/obj.target/usb_bindings/src/node_usb.o In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/node_usb.cc:1: ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker)’: ../node_modules/nan/nan.h:2232:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast(AsyncExecuteComplete) ^ In file included from ../src/node_usb.h:14, from ../src/node_usb.cc:1: ../src/node_usb.cc: At global scope: /usr/include/nodejs/src/node.h:570:43: warning: cast between incompatible function types from ‘void ()(v8::Local)’ to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /usr/include/nodejs/src/node.h:604:3: note: in expansion of macro ‘NODEMODULE’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~ ../src/node_usb.cc:95:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(usb_bindings, Initialize) ^~~ ../src/node_usb.cc: In function ‘void handleHotplug(std::pair<libusb_device, libusb_hotplug_event>)’: ../src/node_usb.cc:151:58: warning: ‘v8::Local Nan::MakeCallback(v8::Local, const char, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/node_usb.cc:1: ../node_modules/nan/nan.h:1001:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/node_usb.cc:151:58: warning: ‘v8::Local Nan::MakeCallback(v8::Local, const char, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/node_usb.cc:1: ../node_modules/nan/nan.h:1001:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ In file included from ../src/node_usb.h:12, from ../src/node_usb.cc:1: /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /usr/include/nodejs/src/node_object_wrap.h:85:78: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] CXX(target) Release/obj.target/usb_bindings/src/device.o In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/device.cc:1: ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker)’: ../node_modules/nan/nan.h:2232:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast(AsyncExecuteComplete) ^ ../src/device.cc: In member function ‘void Req::submit(Device, v8::Local, uv_work_cb, uv_work_cb)’: ../src/device.cc:220:70: warning: cast between incompatible function types from ‘uv_work_cb’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), &req, backend, (uv_after_work_cb) after); ^~~~~ ../src/device.cc: In static member function ‘static void Req::default_after(uv_work_t)’: ../src/device.cc:237:64: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/device.cc:1: ../node_modules/nan/nan.h:959:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/device.cc:237:64: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/device.cc:1: ../node_modules/nan/nan.h:959:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ In file included from ../src/node_usb.h:12, from ../src/device.cc:1: /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /usr/include/nodejs/src/node_object_wrap.h:85:78: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] CXX(target) Release/obj.target/usb_bindings/src/transfer.o In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/transfer.cc:1: ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker)’: ../node_modules/nan/nan.h:2232:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast(AsyncExecuteComplete) ^ ../src/transfer.cc: In function ‘void handleCompletion(Transfer)’: ../src/transfer.cc:126:72: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/transfer.cc:1: ../node_modules/nan/nan.h:959:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/transfer.cc:126:72: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv); ^ In file included from ../src/helpers.h:3, from ../src/node_usb.h:21, from ../src/transfer.cc:1: ../node_modules/nan/nan.h:959:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ In file included from ../src/node_usb.h:12, from ../src/transfer.cc:1: /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /usr/include/nodejs/src/node_object_wrap.h:85:78: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] SOLINK_MODULE(target) Release/obj.target/usb_bindings.node COPY Release/usb_bindings.node make: Leaving directory '/usr/local/lib/node_modules/bluetooth-hci-socket/node_modules/usb/build'

bluetooth-hci-socket@0.5.1 install /usr/local/lib/node_modules/bluetooth-hci-socket node-gyp rebuild

make: Entering directory '/usr/local/lib/node_modules/bluetooth-hci-socket/build' CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker)’: ../node_modules/nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast(AsyncExecuteComplete) ^ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’: ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’: ../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local [1])’ Local error = errorConstructor->NewInstance(1, constructorArgs); ^ In file included from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:3993:44: note: candidate: ‘v8::MaybeLocal v8::Function::NewInstance(v8::Local, int, v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal NewInstance( ^~~ /usr/include/nodejs/deps/v8/include/v8.h:3993:44: note: candidate expects 3 arguments, 2 provided /usr/include/nodejs/deps/v8/include/v8.h:3996:44: note: candidate: ‘v8::MaybeLocal v8::Function::NewInstance(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal NewInstance( ^~~ /usr/include/nodejs/deps/v8/include/v8.h:3996:44: note: candidate expects 1 argument, 2 provided ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*’ is deprecated [-Wdeprecated-declarations] back(Nan::New(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^

In file included from ../src/BluetoothHciSocket.cpp:8: ../node_modules/nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /usr/include/nodejs/deps/v8/include/v8.h:26, from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~ /usr/include/nodejs/deps/v8/include/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /usr/include/nodejs/deps/v8/include/v8.h:26, from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~ /usr/include/nodejs/deps/v8/include/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ In file included from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: ../src/BluetoothHciSocket.cpp: At global scope: /usr/include/nodejs/src/node.h:570:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /usr/include/nodejs/src/node.h:604:3: note: in expansion of macro ‘NODEMODULE’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~ ../src/BluetoothHciSocket.cpp:499:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(binding, BluetoothHciSocket::Init); ^~~ In file included from /usr/include/nodejs/src/node.h:63, from /usr/include/nodejs/src/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /usr/include/nodejs/src/node_object_wrap.h:85:78: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /usr/include/nodejs/deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /usr/include/nodejs/deps/v8/include/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [binding.target.mk:101: Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1 make: Leaving directory '/usr/local/lib/node_modules/bluetooth-hci-socket/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:189:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.19.97-v7l+ gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/bluetooth-hci-socket gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bluetooth-hci-socket@0.5.1 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bluetooth-hci-socket@0.5.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-03-02T00_57_31_786Z-debug.log

valkjsaaa commented 4 years ago

Hmm, it seems like bluetooth-hci-socket is no longer maintained. Try sudo npm install -g --unsafe-perm @abandonware/bluetooth-hci-socket.

skosow commented 4 years ago

No errors with @abandonware/bluetooth-hci-socket

I will try the config again and report back.

skosow commented 4 years ago

Oh joy

[02/03/2020, 01:13:24] Loaded config.json with 0 accessories and 3 platforms. [02/03/2020, 01:13:24] --- [02/03/2020, 01:13:24] Loaded plugin: homebridge-config-ui-x [02/03/2020, 01:13:24] Registering platform 'homebridge-config-ui-x.config' [02/03/2020, 01:13:24] --- [02/03/2020, 01:13:24] ==================== [02/03/2020, 01:13:24] ERROR LOADING PLUGIN homebridge-switchmate3: [02/03/2020, 01:13:24] Error: Cannot find module 'bluetooth-hci-socket' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15) at Function.Module._load (internal/modules/cjs/loader.js:507:25) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-switchmate3/node_modules/noble/lib/hci-socket/hci.js:6:26) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) [02/03/2020, 01:13:24] ==================== [02/03/2020, 01:13:24] Loaded plugin: homebridge-zway [02/03/2020, 01:13:24] Registering accessory 'homebridge-zway.ZWayServer' [02/03/2020, 01:13:24] Registering platform 'homebridge-zway.ZWayServer' [02/03/2020, 01:13:24] --- [02/03/2020, 01:13:24] Loading 3 platforms... [02/03/2020, 01:13:24] [Config] Initializing config platform... [02/03/2020, 01:13:24] [Config] Running in Standalone Mode. [02/03/2020, 01:13:24] [ZWayServer] Initializing ZWayServer platform... [02/03/2020, 01:13:24] Error: The requested platform 'Switchmate3' was not registered by any plugin. at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:134:13) at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45) at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36) at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) [02/03/2020, 01:13:24] Got SIGTERM, shutting down Homebridge...