zwaldowski / homebridge-satellite-fan

Plugin for homebridge that connects to a Satellite Fan control module: https://www.fan-light.com
MIT License
6 stars 1 forks source link

Compatibility w/ latest versions of Homebridge/HOOBS #13

Open mcalderin opened 3 years ago

mcalderin commented 3 years ago

Installing the plugin doesn't work, presumably due to nodejs-legacy being deprecated.

viictor924 commented 3 years ago

Damn, I wish I had read this before I formatted my Pi to install HomeBridgeUI. I managed to port all my plug-ins except for this one.

@mcalderin were you able to find a work-around?

@zwaldowski any chance you can update the plug-in? :D

mcalderin commented 3 years ago

No and I'd love to get this working since I have four of the devices. Haven't had any time to work on it this year. Hoping @zwaldowski may have some good news.

zwaldowski commented 3 years ago

I don't have this hardware anymore. I'm not aware of any express incompatibility, so I could at least look into it and get it running on a Pi. Do either of you have a log or anything from it failing to install?

viictor924 commented 3 years ago

Hey @zwaldowski thanks for responding.

======================================================================== These are the errors when running Homebridge: image

And text version in case you want to copy/paste anything:

[13/07/2021, 17:00:51] Loaded config.json with 2 accessories and 2 platforms. [13/07/2021, 17:00:51] Loaded 2 cached accessories from cachedAccessories. [13/07/2021, 17:00:51] --- [13/07/2021, 17:00:52] Loaded plugin: homebridge-config-ui-x@4.41.1 [13/07/2021, 17:00:52] Registering platform 'homebridge-config-ui-x.config' [13/07/2021, 17:00:52] --- [13/07/2021, 17:00:52] Loaded plugin: homebridge-gpio-device@0.4.9 homebridge-gpio-device API version: 2.7 [13/07/2021, 17:00:52] Registering accessory 'homebridge-gpio-device.GPIODevice' [13/07/2021, 17:00:52] --- [13/07/2021, 17:00:52] Loaded plugin: homebridge-magichome-dynamic-platform@1.9.2 [13/07/2021, 17:00:52] Registering platform 'homebridge-magichome-dynamic-platform.homebridge-magichome-dynamic-platform' [13/07/2021, 17:00:52] --- [13/07/2021, 17:00:52] ==================== [13/07/2021, 17:00:52] ERROR LOADING PLUGIN homebridge-satellite-fan: [13/07/2021, 17:00:52] Error: Cannot find module 'bluetooth-hci-socket' Require stack:

viictor924 commented 3 years ago

And these are the errors when installing homebridge-satellite-fan First I tried "sudo npm install -g homebridge homebridge-satellite-fan"

and got Err code 128. I searched through some old issues on this github and found this issue related to Err 128: https://github.com/zwaldowski/homebridge-satellite-fan/issues/8

So I tried running "sudo su" and then "sudo npm install -g --unsafe-perm homebridge-satellite-fan", but that didn't work either.

image

Text version below:

pi@homebridge:/var/lib/homebridge $ sudo npm install -g homebridge homebridge-satellite-fan npm ERR! code 128 npm ERR! command failed npm ERR! command git --no-replace-objects clone https://git@github.com/lockitron/noble.git /root/.npm/_cacache/tmp/git-clone-8032f1f8 --recurse-submodules --depth=1 npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-8032f1f8': Permission denied

npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-07-14T01_20_16_416Z-debug.log pi@homebridge:/var/lib/homebridge $
pi@homebridge:/var/lib/homebridge $
pi@homebridge:/var/lib/homebridge $ sudo su root@homebridge:/var/lib/homebridge# sudo npm install -g --unsafe-perm homebridge-satellite-fan npm ERR! code 128 npm ERR! command failed npm ERR! command git --no-replace-objects clone https://git@github.com/lockitron/noble.git /root/.npm/_cacache/tmp/git-clone-af483a91 --recurse-submodules --depth=1 npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-af483a91': Permission denied

npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-07-14T01_21_41_805Z-debug.log root@homebridge:/var/lib/homebridge#

viictor924 commented 3 years ago

Some more info:

Homebridge: v1.3.4 OS: Raspbian GNU/Linux Buster (10) Node.js Version: v14.16.1 Npm Version: v7.15.0

zwaldowski commented 3 years ago

Yeah, ok, the situation with the Bluetooth module is F.U.B.A.R., but should be resolvable. I don't know that I can do anything with the .npm directory, that sounds like a permissions problem on your device.

zwaldowski commented 3 years ago

Try installing from master: npm install -g homebridge zwaldowski/homebridge-satellite-fan#master. I'll publish those changes if it works. (I've looked into Homebridge's updates and there shouldn't be anything incompatible with newer Node or Debian, just that stupid Bluetooth plugin.)

viictor924 commented 3 years ago

Hey @zwaldowski thanks for the update! I tried running npm install -g homebridge zwaldowski/homebridge-satellite-fan#master and got this error: image

Do I need special permissions to install from master?

zwaldowski commented 3 years ago

Oh, nuts. Sorry about that. It's trying to check out over SSH as though you are an author of the repo. That's not really something on my end, it's how GitHub is designed.

Try instead:

npm install -g homebridge git+https://github.com/zwaldowski/homebridge-satellite-fan.git#master

… what a mouthful!

viictor924 commented 3 years ago

I got the same error again (code 128) :(

image

zwaldowski commented 3 years ago

Ah, towards the end command git shows it actually did the exact same thing as before. Dumb. We have to go simpler. 😝

npm install -g homebridge https://github.com/zwaldowski/homebridge-satellite-fan

That works on my side.

viictor924 commented 3 years ago

Alright, I followed these instructions to add a new SSH key to my github account. https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

Before adding the key the error looked like this: image

After adding the key the error now looks like this: image I'm reading a bit on the error and some people have suggested downloading the master.zip file from the git repo instead of using npm. Thoughts?

zwaldowski commented 3 years ago

OK, as I alluded to up here, the could not create leading directories has nothing to do with this repo or plugin, so I'm limited in how much I can help.

You can try clearing that cache directory (sudo rm -rf /root/.npm) to see if it works just by trying again. Otherwise, at that point I'm a little out of my depth and the Homebridge Discord might be able to get you better help.