pradeepmouli / homebridge-isy-js

Homebridge platform plugin for the ISY series of home controllers from Universal Devices.
MIT License
28 stars 9 forks source link

Path/include issues in offical Docker homebidge image install #7

Closed apnar closed 4 years ago

apnar commented 4 years ago

When installing this plugin in the official homebridge docker install here:

https://hub.docker.com/r/oznu/homebridge/

The plugin can't start due to not being able to find some includes. Tweaking the following paths manually "fixes" it but obviously isn't the correct solution:

cd node_modules/homebridge-isy/dist sed -i 's#homebridge/#/usr/local/lib/node_modules/homebridge/#' *

I unfortunately don't know node well enough to suggest a proper fix. Also it doesn't have permission to write to where ever it's trying to write the ISYNodesDump.json file. I added /tmp/ in front of those paths to get it put there.

apnar commented 4 years ago

FYI, logs from the homebridge

`[4/28/2020, 9:24:55 PM] [HB Supervisor] Starting Homebridge with extra flags: -P /homebridge/node_modules -D [4/28/2020, 9:24:55 PM] [HB Supervisor] Started Homebridge with PID: 1723 [4/28/2020, 9:24:55 PM] Loaded config.json with 0 accessories and 1 platforms. [4/28/2020, 9:24:55 PM] --- [4/28/2020, 9:24:55 PM] Loaded plugin: homebridge-dummy [4/28/2020, 9:24:55 PM] Registering accessory 'homebridge-dummy.DummySwitch' [4/28/2020, 9:24:55 PM] --- [4/28/2020, 9:24:55 PM] ==================== [4/28/2020, 9:24:55 PM] ERROR LOADING PLUGIN homebridge-isy: [4/28/2020, 9:24:55 PM] Error: Cannot find module 'homebridge/lib/platformAccessory' Require stack:

pradeepmouli commented 4 years ago

try now. I changed the location it uses to search for homebridge, since it the docker image doesn't support global installs.

apnar commented 4 years ago

Latest version fixes the includes, thanks! So now you can do the install inside the Docker container and everything works as it should.

There is still an error trying to write out ISYNodesDump.json, but that's much less important. Ideally in the Docker install it'd write to /homebridge as that's what's mapped outside the container, but that isn't universal. I'd expect /tmp should work most places.

pradeepmouli commented 4 years ago

try the latest update - homebridge-isy imports homebridge & hap-nodesjs as modules. I've added a post install script that tries to find the installation path of homebridge and hap-nodes, wherever it is, and updates the source files. So it should support the standard image as well as others.

apnar commented 4 years ago

Just tested with v0.5.0-beta.23 (2020-04-30) and the install fails. I suspect the issue is you are trying to run bash which isn't installed in the container. I'd suggest just using 'sh'.

pradeepmouli commented 4 years ago

try now, fixed the ignore issue + stopped using the shell script altogether.

apnar commented 4 years ago

Thanks so much! v0.5.0-beta.24 installs ok in the official docker image and the ignore rules now seem to be taking effect. I'll do more testing when I get a chance but only obvious remaining error is where it's trying to write ISYNodesDump.json file which doesn't impact functionality.

pradeepmouli commented 4 years ago

okay - will work on that. beta.26 for your testing. I added support for the keypad buttons to trigger events within HomeKit.

apnar commented 4 years ago

Version v0.5.0-rc2 fixes the path issue for node dump (and other new related files). Thanks!

pradeepmouli commented 4 years ago

okay - try RC3…. By the way, a few other things are configurable too, e.g. the device naming convention. Let me know if that works. I will update the readme for the same soon.

On May 20, 2020, at 5:42 PM, apnar notifications@github.com wrote:

Version v0.5.0-rc2 fixes the path issue for node dump (and other new related files). Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pradeepmouli/homebridge-isy-js/issues/7#issuecomment-631742814, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5XAFJHKG2KW4KAXT643VLRSRFENANCNFSM4MTJV6OQ.