Need help running smartthings-nodeproxy on RPi


#1

Hello, I'm a new Hubitat user. I currently use Insteon switches, outlets and leak detectors on an ISY994, Schlage Z-Wave locks, Ecobee thermostat and Honeywell Vista alarm panel on an Envisalink 3.

I'd appreciate some help as I've spent a few nights pulling out my hair following various tutorials to install nodejs, npm and smartthings-nodeproxy. With CLI apt install node and npm, I can never get it running to check version with node -v or npm -v. But I've successfully installed it via GUI.

The error thrown at me is in my config.json at position 9 ... which, is a space!? Thanks for any guidance!

My config: Raspberry Pi 3 B+, Rapsbian Buster Desktop on 32GB Sandisk Ultra

My most recent attempt and getting the furthest is this:

pi@raspberrypi:~/smartthings-nodeproxy $ npm run start
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/

smartthings-nodeproxy@1.0.0 start /home/pi/smartthings-nodeproxy
node server.js

/home/pi/smartthings-nodeproxy/node_modules/nconf/lib/nconf/stores/file.js:160
throw new Error("Error parsing your configuration file: [" + this.file + ']: ' + ex.message);
^

Error: Error parsing your configuration file: [./config.json]: Unexpected token : in JSON at position 9
at exports.File.File.loadSync (/home/pi/smartthings-nodeproxy/node_modules/nconf/lib/nconf/stores/file.js:160:11)
at exports.Provider.Provider.add (/home/pi/smartthings-nodeproxy/node_modules/nconf/lib/nconf/provider.js:137:23)
at exports.Provider.Provider.file (/home/pi/smartthings-nodeproxy/node_modules/nconf/lib/nconf/provider.js:63:15)
at Object. (/home/pi/smartthings-nodeproxy/server.js:23:7)
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)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! smartthings-nodeproxy@1.0.0 start: node server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the smartthings-nodeproxy@1.0.0 start 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! /home/pi/.npm/_logs/2019-07-10T21_25_24_422Z-debug.log

This is my config.json:
"port" : 8080 ,
"authCode" : "secret-key" ,
"envisalink" : {
"address" : "192.168.1.56" ,
"port" : "4025" ,
"password" : "user" ,
"securityCode" : "1234" ,
"dumpZoneTimer" : "0" ,
"panelConfig" : {
"type" : "discover" ,
"partitions" : [
{ "partition" : 1 , "name" : "Home" }
] ,
"zones" : [
{ "zone" : 1 , "type" : "contact" , "name" : "Front & Side Door" },
--------- cut ----------
{ "zone" : 6 , "type" : "motion" , "name" : "Rear Motion" }
]
}
},
"dash" : {
"buttons" : [ "aa : bb : cc : dd : ee : f1" , "aa : bb : cc : dd : ee : f2" ]
}
}


#2

What's your end goal?

I'm a bit confused on what you're trying to do. Are you trying to present your ISY devices to Hubitat? Or trying to access Hubitat devices from ISY? Or trying to access SmartThings devices? Or???

Not sure how you are trying to install Node.js on a Raspberry Pi but the install provided in the standard apt repositories is mostly broken and doesn't include NPM so you should install from Node source instead.

If you're trying to bring your ISY to Hubitat there isn't an app for that yet. There's some work on a HE app for the Insteon Hub but you've already said you have an ISY. There is a Polyglot nodeserver to mirror Hubitat devices to your ISY. There's also a Hubitat app HubConnect that can connect SmartThings to Hubitat and conversely those ST->Hubitat devices can be mirrored into your ISY.


#3

Right now I'm just trying to integrate the Envisalink alarm module into Hubitat.

End goal is to consolidate all these separate apps onto the Hubitat while avoiding the cloud as much as possible (should mention I have a MyQ garage door as well, but that requires cloud connectivity for whatever marketing/data-harvesting reason.)

Due to the complexity of the ISY and lack of front end, it has zero WAF. It's pretty low with me too despite how powerful it is, using Java and a 1990s-era UI and the authors really don't have a plan to change any of that. I have an older Insteon 2242 hub that I'm looking to use as a PLM to replace the ISY. I have no SmartThings devices so I'm not migrating anything over. I can accept to start from scratch.

Thank you for letting me know the apt(-get) repositories are broken! That explains why I had to install node.js and npm separately.

I have enough knowledge to get me into trouble, but not out of especially in Linux. I follow step-by-step tutorials well. :slight_smile:


#4

I think there's a Envisalink app somewhere around here. Perhaps a forum search will find it. Even with the similarities between ST and HE they are not the same and apps won't "just work" between the two.

The admin console is meant only for that....administration. I'm taking it you didn't look into a "User Interface" for the ISY? Most popular is Mobilinc then eKeyPadPro a new contender Agave and you can of course front end the ISY with CQC or MyServer (formerly MainLobby), HomeSeer, or even Home Assistant. All good options for integration of technologies or just getting a user interface.

As for changing the java console. There are plans but UD moves slowly and intentionally and if it's not broke don't fix it.


#5

Looks to me like you're missing something in your json. Does it start with a:

{

?

Here is mine: config.json · GitHub

Try running it this way: $ cd /home/pi/smartthings-nodeproxy; node /home/pi/smartthings-nodeproxy/server.js


#6

Hi @brianwilson , sorry I missed the { with my cut-and-paste job! Unfortunately it still doesn't work. I'm going to leave it for a bit and come back after my frustration has worn off. :slight_smile:

@jeubanks I came from trying to work with Home Assistant but my limited Linux ability was making it difficult so that's why I wanted to give Hubitat a try.

I do appreciate all the help everyone's giving me!


#7

OK, if you want to run the envisalink plugin for the nodeproxy, you can grab this debug version which has some extra logger calls that might help you pinpoint issues. Use it for the plugin and run it as I mentioned above: Debug version of envisalink.js SmartThings Node-proxy plugin · GitHub