lprhodes / homebridge-broadlink-rm

Broadlink RM Mini and Pro plugin for homebridge: https://github.com/nfarina/homebridge
Apache License 2.0
575 stars 283 forks source link

Unable to start plugin #60

Closed mrblack7 closed 7 years ago

mrblack7 commented 7 years ago

Thanks for the help previously. I have updated Node to latest version, however I have struck a new issue

Apr 26 15:55:45 raspberrypi homebridge[701]: [4/26/2017, 3:55:45 PM] Warning: skipping plugin found at '/usr/lib/node_modules/homebridge-broadlink-rm' since we already loaded the same plugin from '/usr/local/lib/node_modules/homebridge-broadlink-rm'. Apr 26 15:55:46 raspberrypi homebridge[701]: [4/26/2017, 3:55:46 PM] ==================== Apr 26 15:55:46 raspberrypi homebridge[701]: [4/26/2017, 3:55:46 PM] ERROR LOADING PLUGIN homebridge-broadlink-rm: Apr 26 15:55:46 raspberrypi homebridge[701]: [4/26/2017, 3:55:46 PM] Error: EACCES: permission denied, mkdir '/.node-persist' Apr 26 15:55:46 raspberrypi homebridge[701]: at Object.fs.mkdirSync (fs.js:895:18) Apr 26 15:55:46 raspberrypi homebridge[701]: at sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:71:13) Apr 26 15:55:46 raspberrypi homebridge[701]: at Function.sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24) Apr 26 15:55:46 raspberrypi homebridge[701]: at LocalStorage.parseStorageDirSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:600:20) Apr 26 15:55:46 raspberrypi homebridge[701]: at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:141:14) Apr 26 15:55:46 raspberrypi homebridge[701]: at Object.nodePersist.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/node-persist.js:37:32) Apr 26 15:55:46 raspberrypi homebridge[701]: at Object. (/usr/local/lib/node_modules/homebridge-broadlink-rm/helpers/persistentState.js:2:13) Apr 26 15:55:46 raspberrypi homebridge[701]: at Module._compile (module.js:571:32) Apr 26 15:55:46 raspberrypi homebridge[701]: at Object.Module._extensions..js (module.js:580:10) Apr 26 15:55:46 raspberrypi homebridge[701]: at Module.load (module.js:488:32) Apr 26 15:55:46 raspberrypi homebridge[701]: [4/26/2017, 3:55:46 PM] ==================== Apr 26 15:55:46 raspberrypi homebridge[701]: [4/26/2017, 3:55:46 PM] Loaded plugin: homebridge-hs100

lprhodes commented 7 years ago

Warning: skipping plugin found at '/usr/lib/node_modules/homebridge-broadlink-rm' since we already loaded the same plugin from '/usr/local/lib/node_modules/homebridge-broadlink-rm'.

The first error looks like you've installed it in multiple places

Error: EACCES: permission denied, mkdir '/.node-persist'

Run sudo chmod -R 777 /usr/local/lib/node_modules/homebridge-broadlink-rm then try again.

mrblack7 commented 7 years ago

Still, the same on the permission denied after running sudo chmod....

Apr 26 16:21:13 raspberrypi homebridge[703]: [4/26/2017, 4:21:13 PM] ERROR LOADING PLUGIN homebridge-broadlink-rm: Apr 26 16:21:13 raspberrypi homebridge[703]: [4/26/2017, 4:21:13 PM] Error: EACCES: permission denied, mkdir '/.node-persist' Apr 26 16:21:13 raspberrypi homebridge[703]: at Object.fs.mkdirSync (fs.js:895:18) Apr 26 16:21:13 raspberrypi homebridge[703]: at sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:71:13) Apr 26 16:21:13 raspberrypi homebridge[703]: at Function.sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24) Apr 26 16:21:13 raspberrypi homebridge[703]: at LocalStorage.parseStorageDirSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:600:20) Apr 26 16:21:13 raspberrypi homebridge[703]: at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:141:14) Apr 26 16:21:13 raspberrypi homebridge[703]: at Object.nodePersist.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/node-persist.js:37:32) Apr 26 16:21:13 raspberrypi homebridge[703]: at Object. (/usr/local/lib/node_modules/homebridge-broadlink-rm/helpers/persistentState.js:2:13) Apr 26 16:21:13 raspberrypi homebridge[703]: at Module._compile (module.js:571:32) Apr 26 16:21:13 raspberrypi homebridge[703]: at Object.Module._extensions..js (module.js:580:10) Apr 26 16:21:13 raspberrypi homebridge[703]: at Module.load (module.js:488:32)

lprhodes commented 7 years ago

Try:

sudo mkdir /usr/local/lib/node_modules/homebridge-broadlink-rm/.node-persist
sudo chmod -R 777 /usr/local/lib/node_modules/homebridge-broadlink-rm/.node-persist
mrblack7 commented 7 years ago

Ok so it seems we have some success.... It is finding the Broadlink device but still getting similar errors on startup

Apr 26 18:55:19 raspberrypi homebridge[707]: [4/26/2017, 6:55:19 PM] Warning: skipping plugin found at '/usr/lib/node_modules/homebridge-broadlink-rm' since we already loaded the same plugin from '/usr/local/lib/node_modules/homebridge-broadlink-rm'. Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] ==================== Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] ERROR LOADING PLUGIN homebridge-broadlink-rm: Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Error: EACCES: permission denied, mkdir '/.node-persist' Apr 26 18:55:20 raspberrypi homebridge[707]: at Object.fs.mkdirSync (fs.js:895:18) Apr 26 18:55:20 raspberrypi homebridge[707]: at sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:71:13) Apr 26 18:55:20 raspberrypi homebridge[707]: at Function.sync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24) Apr 26 18:55:20 raspberrypi homebridge[707]: at LocalStorage.parseStorageDirSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:600:20) Apr 26 18:55:20 raspberrypi homebridge[707]: at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:141:14) Apr 26 18:55:20 raspberrypi homebridge[707]: at Object.nodePersist.initSync (/usr/local/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/node-persist.js:37:32) Apr 26 18:55:20 raspberrypi homebridge[707]: at Object. (/usr/local/lib/node_modules/homebridge-broadlink-rm/helpers/persistentState.js:2:13) Apr 26 18:55:20 raspberrypi homebridge[707]: at Module._compile (module.js:571:32) Apr 26 18:55:20 raspberrypi homebridge[707]: at Object.Module._extensions..js (module.js:580:10) Apr 26 18:55:20 raspberrypi homebridge[707]: at Module.load (module.js:488:32) Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] ==================== Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Loaded plugin: homebridge-hs100 Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Registering platform 'homebridge-hs100.Hs100' Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] --- Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Loaded plugin: homebridge-server Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Registering platform 'homebridge-server.Server' Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] --- Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Loaded config.json with 0 accessories and 2 platforms. Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] --- Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Loading 2 platforms... Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Initializing Hs100 platform... Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] [Homebridge Server] Initializing Server platform... Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Loading 0 accessories... Apr 26 18:55:20 raspberrypi homebridge[707]: Scan this code with your HomeKit App on your iOS device to pair with Homebridge: Apr 26 18:55:20 raspberrypi homebridge[707]: ┌────────────┐ Apr 26 18:55:20 raspberrypi homebridge[707]: │ 031-45-154 │ Apr 26 18:55:20 raspberrypi homebridge[707]: └────────────┘ Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] [Homebridge Server] is listening on: http://192.168.0.9:8765 Apr 26 18:55:20 raspberrypi homebridge[707]: [4/26/2017, 6:55:20 PM] Homebridge is running on port 51826. Apr 26 18:55:20 raspberrypi homebridge[707]: Discovered Broadlink RM device at 192.168.0.8 (b4:43:0d:fc:1d:75)

lprhodes commented 7 years ago

You ran those next batch of commands?

As a quick fix you could add "persistState": false to the homebridge config

mrblack7 commented 7 years ago

Yes, that output was after running the 2 commands you suggested.

nitaybz commented 7 years ago

I'm experiencing the same issue... Please help!

mrblack7 commented 7 years ago

I think there may be a problem with my install...

When I run "sudo npm install -g homebridge-broadlink-rm", it installs it in to "/usr/local/lib"

pi@raspberrypi:~ $ sudo npm install -g homebridge-broadlink-rm
/usr/local/lib
└─┬ homebridge-broadlink-rm@2.0.13 
  ├─┬ broadlinkjs@0.1.0  (git+https://github.com/lprhodes/broadlinkjs.git#4a90e87230c024cde83f506ad12d606d41ac0d58)
  │ └── @types/node@7.0.14 
  └─┬ node-persist@2.0.11 
    ├─┬ mkdirp@0.5.1 
    │ └── minimist@0.0.8 
    └── q@1.1.2 

But when it tries to run, it tries to do it from "/usr/lib"

Apr 27 06:13:06 raspberrypi homebridge[705]: [4/27/2017, 6:13:06 AM] ====================
Apr 27 06:13:06 raspberrypi homebridge[705]: [4/27/2017, 6:13:06 AM] ERROR LOADING PLUGIN homebridge-broadlink-rm:
Apr 27 06:13:06 raspberrypi homebridge[705]: [4/27/2017, 6:13:06 AM] Error: EACCES: permission denied, mkdir '/.node-persist'
Apr 27 06:13:06 raspberrypi homebridge[705]: at Object.fs.mkdirSync (fs.js:895:18)
Apr 27 06:13:06 raspberrypi homebridge[705]: at sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:71:13)
Apr 27 06:13:06 raspberrypi homebridge[705]: at Function.sync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/mkdirp/index.js:77:24)
Apr 27 06:13:06 raspberrypi homebridge[705]: at LocalStorage.parseStorageDirSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:600:20)
Apr 27 06:13:06 raspberrypi homebridge[705]: at LocalStorage.initSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/local-storage.js:141:14)
Apr 27 06:13:06 raspberrypi homebridge[705]: at Object.nodePersist.initSync (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/node-persist/src/node-persist.js:37:32)
Apr 27 06:13:06 raspberrypi homebridge[705]: at Object. (/usr/lib/node_modules/homebridge-broadlink-rm/helpers/persistentState.js:2:13)
Apr 27 06:13:06 raspberrypi homebridge[705]: at Module._compile (module.js:571:32)

I am not sure how I managed to install it in to /usr/lib.... How do I choose where it is installed to?

lprhodes commented 7 years ago

That'd be a question for another place like Stackoverflow or the home bridge GitHub sorry.

It shouldn't impact homebridge from starting though

I've just updated the plugin to 2.0.14 change where the data gets stored - release notes. Give that a go.

mrblack7 commented 7 years ago

Legendary!

Looks like that has sorted it. All up and running now, and learnt and configured my first RF switch.

Thanks a lot for your help. I will follow up the other install issue with Homebridge through their channels.