Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ERROR LOADING PLUGIN homebridge-gpio-wpi2: #41

Open
Kepete opened this issue Jan 24, 2018 · 19 comments
Open

ERROR LOADING PLUGIN homebridge-gpio-wpi2: #41

Kepete opened this issue Jan 24, 2018 · 19 comments

Comments

@Kepete
Copy link

Kepete commented Jan 24, 2018

I get this error when running homebridge:

screen shot 2018-01-24 at 19 23 52

This is my config file that has worked before:

screen shot 2018-01-24 at 19 24 31

Wiring Pi is installed:

screen shot 2018-01-24 at 19 25 32

Whats the problem?

@lws803
Copy link

lws803 commented Jan 25, 2018

try sudo npm install -g --unsafe-perm homebridge-gpio-wpi2

I had this problem too

@Kimovitzh
Copy link

Also here. And running:
sudo npm install -g --unsafe-perm homebridge-gpio-wpi2
didn't help.

@rsg98
Copy link
Owner

rsg98 commented Feb 11, 2018 via email

@Kimovitzh
Copy link

Kimovitzh commented Feb 11, 2018

Running it as sudo, I get:

pi@raspberrypi:~ $ sudo npm install node-wiring-Pi
npm ERR! code E404
npm ERR! 404 Not Found: node-wiring-Pi@latest

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-02-11T21_07_18_262Z-debug.log

@Kimovitzh
Copy link

Kimovitzh commented Feb 11, 2018

Tried something else:

root@raspberrypi:/home/pi# sudo npm -g install --unsafe-perm node-wiring-pi

node-wiring-pi@0.0.4 install /usr/lib/node_modules/node-wiring-pi
/bin/bash ./install.sh

Checking for wiringpi: install ok installed
Building node-wiring-pi ...
make: Entering directory '/usr/lib/node_modules/node-wiring-pi/build'
CXX(target) Release/obj.target/nodeWiringPi/src/addon.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringPi.o
CXX(target) Release/obj.target/nodeWiringPi/src/softPwm.o
CXX(target) Release/obj.target/nodeWiringPi/src/softTone.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringPiI2C.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringPiISR.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringPiSPI.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringSerial.o
CXX(target) Release/obj.target/nodeWiringPi/src/wiringShift.o
CXX(target) Release/obj.target/nodeWiringPi/src/nodeWiringPi.o
SOLINK_MODULE(target) Release/obj.target/nodeWiringPi.node
COPY Release/nodeWiringPi.node
make: Leaving directory '/usr/lib/node_modules/node-wiring-pi/build'

  • node-wiring-pi@0.0.4
    updated 1 package in 94.283s

@Kimovitzh
Copy link

Any news on this?

@Kimovitzh
Copy link

Tried to install it, but now I just get:

pi@raspberrypi:~ $ sudo npm install homebridge-gpio-wpi2
npm WARN saveError ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN pi No description
npm WARN pi No repository field.
npm WARN pi No README data
npm WARN pi No license field.

  • homebridge-gpio-wpi2@0.2.0
    updated 1 package in 5.83s

@rsg98
Copy link
Owner

rsg98 commented Feb 17, 2018

From what I can tell, it looks more like an npm issue, than one directly related to this module. The ENOENT for package.json usually means it's trying to install a package from the local directory, instead of by name. Not sure why it would do that, unless there were some additional spaces / characters on that npm install line.

That said, it looks like homebridge-gpio-wpi2 is installed correctly (as per the last line). If homebridge still won't start (and your earlier message shows that node-wiring-pi is building OK), then it may be down to permissions on your node_modules folder.

There's some tips here: https://github.com/npm/npm/wiki/Troubleshooting - but upgrading node / npm to the latest versions, and running a cache clean - then npm install -verbose homebridge-gpio-wpi2

The combinations of sudo and -g also make it more complex from a permissions point of view, so it isn't easy! npm likes to do things in the current path by default (without the -g flag); so it can end up spraying node_modules all over the place.

@Kimovitzh
Copy link

After the install, homebridge-gpio-wpi2 dosen't appear under /usr/lib/node_modules.
And starting homebridge results in this:

[2018-2-17 17:41:22] Loaded config.json with 0 accessories and 1 platforms.
[2018-2-17 17:41:22] ---
[2018-2-17 17:41:22] Loading 1 platforms...
/usr/lib/node_modules/homebridge/lib/api.js:122
throw new Error("The requested platform '" + name + "' was not registered by any plugin.");
^

Error: The requested platform 'WiringPiPlatform' was not registered by any plugin.
at API.platform (/usr/lib/node_modules/homebridge/lib/api.js:122:13)
at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:294:45)
at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:85:36)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

@toshibochan
Copy link

Did you install using -g?
sudo bom install -g homebridge
sudo npm install -g homebridge-gpio-wpi2

@Kimovitzh
Copy link

That did something ...

This is now the output:

pi@raspberrypi:~ $ homebridge
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister
[2018-2-17 20:30:26] Loaded plugin: homebridge-ds18b20
[2018-2-17 20:30:26] Registering accessory 'homebridge-temperature-ds18b20.DS18B20'
[2018-2-17 20:30:26] ---
[2018-2-17 20:30:26] ====================
[2018-2-17 20:30:26] ERROR LOADING PLUGIN homebridge-gpio-wpi2:
[2018-2-17 20:30:26] Error: Could not locate the bindings file. Tried:
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build/Debug/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build/Release/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/out/Debug/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/Debug/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/out/Release/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/Release/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build/default/nodeWiringPi.node
→ /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/compiled/8.9.4/linux/arm/nodeWiringPi.node
at bindings (/usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/bindings/bindings.js:88:9)
at Object. (/usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/index.js:1:99)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object. (/usr/lib/node_modules/homebridge-gpio-wpi2/index.js:1:75)
[2018-2-17 20:30:26] ====================
[2018-2-17 20:30:27] Loaded plugin: homebridge-plex
[2018-2-17 20:30:27] Registering accessory 'homebridge-plex.Plex'
[2018-2-17 20:30:27] ---
[2018-2-17 20:30:29] Loaded plugin: homebridge-unifi-occupancy-sensor
[2018-2-17 20:30:29] Registering accessory 'homebridge-unifi-occupancy-sensor.UniFi Occupancy Sensor'
[2018-2-17 20:30:29] ---
[2018-2-17 20:30:29] Loaded plugin: homebridge-webos3
[2018-2-17 20:30:29] Registering accessory 'homebridge-webos3.webos3'
[2018-2-17 20:30:29] ---
[2018-2-17 20:30:29] Loaded config.json with 0 accessories and 1 platforms.
[2018-2-17 20:30:29] ---
[2018-2-17 20:30:29] Loading 1 platforms...
/usr/lib/node_modules/homebridge/lib/api.js:122
throw new Error("The requested platform '" + name + "' was not registered by any plugin.");
^

Error: The requested platform 'WiringPiPlatform' was not registered by any plugin.
at API.platform (/usr/lib/node_modules/homebridge/lib/api.js:122:13)
at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:294:45)
at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:85:36)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

@Kimovitzh
Copy link

Also, I don't know if it has any relevance but, the ´node make-gpio-script config.json set-gpio.sh´ gives me this:

pi@raspberrypi:~ $ node make-gpio-script config.json set-gpio.sh
module.js:540
throw err;
^

Error: Cannot find module '/home/pi/make-gpio-script'
at Function.Module._resolveFilename (module.js:538:15)
at Function.Module._load (module.js:468:25)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
pi@raspberrypi:~ $

@Kimovitzh
Copy link

I managed to get it working the third time I tried on a vanilla install.

Now, I can start the homebridge connect to it via HomeKit at switch on and off.
But I dosen't actually do any thing. The homebridge view shows this:

[2018-2-18 21:29:20] [Pi GPIO (WiringPi)] Turning on pin #7
[2018-2-18 21:29:20] [Pi GPIO (WiringPi)] Turning off pin #7
[2018-2-18 21:29:21] [Pi GPIO (WiringPi)] Turning on pin #7
[2018-2-18 21:29:21] [Pi GPIO (WiringPi)] Turning off pin #7
[2018-2-18 21:29:21] [Pi GPIO (WiringPi)] Turning on pin #7
[2018-2-18 21:29:21] [Pi GPIO (WiringPi)] Turning off pin #7
[2018-2-18 21:29:21] [Pi GPIO (WiringPi)] Turning on pin #7
[2018-2-18 21:29:22] [Pi GPIO (WiringPi)] Turning off pin #7

But the diode on pin 7 dosen's do anything.
I've got WiringPi installed, what am I missing?

@Kepete
Copy link
Author

Kepete commented Feb 19, 2018

Hi guys,
I started this issue and for now I have fixed it. Sadly I went the route of making a fresh install form my RPI3 and installed everything from the start. After this I have never had this issue again. So can't help you with fixing this issue right now.

@Kepete
Copy link
Author

Kepete commented Feb 19, 2018

@Kimovitzh it seems that everything from the software side is working correctly, are your sure you have wired everything correctly? How did you connect your LED?

@Kimovitzh
Copy link

@Kepete

Diodes negative to negative and diodes positive to pin 7.
Normally I use a darlington array, the diode is just to confirm that it's working. I had the diode turn on and off with HAP-NodeJS and I works fine, so it's not the hardware.

@rsg98
Copy link
Owner

rsg98 commented Feb 19, 2018 via email

@Kimovitzh
Copy link

@rsg98

TY! I'm used to use the physical pinout. Using the BCM pins work!

@HapCoderWei
Copy link
Contributor

Hi, I meet the same problem, and i can true my problem is caused by the node-wiring-pi. Below is the error info, it seemed that there has a compile error in /src/wiringPi.cc file.

Checking for wiringpi: install ok installed
Building node-wiring-pi ...
make: Entering directory '/usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build'
  CXX(target) Release/obj.target/nodeWiringPi/src/addon.o
In file included from ../../nan/nan.h:192:0,
                 from ../src/addon.h:10,
                 from ../src/addon.cc:2:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:112:73: warning: ‘v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at /home/pi/.node-gyp/9.11.1/include/node/v8.h:3164): Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
   return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
                                                                         ^
  CXX(target) Release/obj.target/nodeWiringPi/src/wiringPi.o
In file included from ../../nan/nan.h:192:0,
                 from ../src/addon.h:10,
                 from ../src/wiringPi.h:5,
                 from ../src/wiringPi.cc:1:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:112:73: warning: ‘v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at /home/pi/.node-gyp/9.11.1/include/node/v8.h:3164): Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
   return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
                                                                         ^
../src/wiringPi.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodewpi::piBoardRev(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/wiringPi.cc:382:13: error: ‘::piBoardRev’ has not been declared
   int res = ::piBoardRev();
             ^
../src/wiringPi.cc:382:13: note: suggested alternative:
In file included from ../src/addon.h:10:0,
                 from ../src/wiringPi.h:5,
                 from ../src/wiringPi.cc:1:
../src/wiringPi.cc:378:12: note:   ‘nodewpi::piBoardRev’
 NAN_METHOD(piBoardRev) {
            ^
../../nan/nan.h:1321:33: note: in definition of macro ‘NAN_METHOD’
     Nan::NAN_METHOD_RETURN_TYPE name(Nan::NAN_METHOD_ARGS_TYPE info)
                                 ^
nodeWiringPi.target.mk:109: recipe for target 'Release/obj.target/nodeWiringPi/src/wiringPi.o' failed
make: *** [Release/obj.target/nodeWiringPi/src/wiringPi.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:180:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Linux 4.9.35-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/node-wiring-pi
gyp ERR! node -v v9.11.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

> sleep@5.1.1 install /usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/sleep
> node-gyp rebuild

make: Entering directory '/usr/lib/node_modules/homebridge-gpio-wpi2/node_modules/sleep/build'
  CXX(target) Release/obj.target/node_sleep/sleep.o
In file included from ../../nan/nan.h:192:0,
                 from ../sleep.cc:2:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:112:73: warning: ‘v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at /home/pi/.node-gyp/9.11.1/include/node/v8.h:3164): Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
   return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
                                                                         ^
  SOLINK_MODULE(target) Release/obj.target/node_sleep.node
  COPY Release/node_sleep.node

Could you have any ideas?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants