[OBSOLETE] Russound Multi-Zone Controller Integration

i’ll be here. you can PM me. That’s what I was thinking is the problem. You can always save your revised DTH and reload the original and see if that fixes things.

So, I toasted my system and had to start back at square one again. :weary::weary:

Bummer. Sorry to hear that. Strange that it broke the whole integration.

I messed with all kinds of things and nuked it. That is my modus operandi.

I had forgotten how difficult this was the first (and second) time. What version of Node should I use for RPi 3 B + ?

oh boy, now you’re asking the hard questions. It’s been a while for me as will. You could try the most current version or just use the links he has setup in his original setup instructions.

Just some followup. Now that we can use Echo Speaks and query which Echo was spoken to, we can now use more sophisticated webcore pistons to play music around the house. Before, I had to recite to Alexa the name of my playlist and the name of the speakers that I wanted to turn on. Now, I walk into the living room, say “Alexa, turn on the radio” or “Alexa, play 80’s hits”, and my webcore pistons know which Echo I’m talking to and the radio comes on in that room or my 80’s hits start playing in that room. This is a big improvement for me and it is definitely more wife friendly. I am still trying to figure out how to change the radio station by voice command without using a bunch of simulated switches in webcore. I know that all of you Sonos people can do all of this stuff easily. But us legacy Russound MCA-C5 users have greatly benefited from @redloro 's work here.

Ok, I have spent hours trying to get this right. I am starting from scratch and installing everything again. I keep getting serialport errors. The serialport 5.0.0 is apparently not available anymore. Any suggestions?

Just use “install serialport” without the “@5.0.0

The error comes up when I run “npm run install:rnet”

In package.json, edit this line to remove the @5.0.0:

"install:rnet": "npm install && npm install serialport@5.0.0"
1 Like

@philh30, Thanks for the assistance. I installed serialport from another source (before your post) and followed @redloro’s video for everything else and now it is working. I would like to try your suggestion to see if it works. But honestly, it has taken me lots of time to get it running again and I don’t want to break it again. For future users…the “npm run install:rnet” failed for me because of the serialport@5.0.0 within the package.json (as @philh30 has suggested). Editing that out may work.

I cannot get this to work. I’m using a RPi 3B +. What version of Node is everyone using?

My error…

pi@raspberrypi:~/Downloads/smartthings-nodeproxy $ npm install serialport
npm WARN deprecated mkdirp@0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)

serialport@8.0.7 postinstall /home/pi/Downloads/smartthings-nodeproxy/node_modules/serialport
node thank-you.js

Thank you for using serialport!
If you rely on this package, please consider supporting our open collective:

Contribute - Open Collective

  • serialport@8.0.7
    added 3 packages from 3 contributors and audited 290 packages in 15.836s
    found 0 vulnerabilities

i@raspberrypi:~/Downloads/smartthings-nodeproxy $ npm run start

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

[2020-03-29T02:26:13.727Z] [stnp] SmartThings Node Proxy listening at http://:::8082
[2020-03-29T02:26:13.863Z] [stnp] Loaded plugin: rnet
(node:1329) UnhandledPromiseRejectionWarning: TypeError: SerialPort.list no longer takes a callback and only returns a promise
at Function.SerialPort.list (/home/pi/Downloads/smartthings-nodeproxy/node_modules/@serialport/stream/lib/index.js:651:11)
at getSerialPorts (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:401:16)
at Rnet.init (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:147:5)
at Object. (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:131:6)
at Module._compile (module.js:653:30)
at Object.Module._extensions…js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
(node:1329) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1329) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2020-03-29T02:26:13.876Z] [rnet] Connected to RNET: /dev/ttyUSB0
(node:1329) UnhandledPromiseRejectionWarning: TypeError: SerialPort.list no longer takes a callback and only returns a promise
at Function.SerialPort.list (/home/pi/Downloads/smartthings-nodeproxy/node_modules/@serialport/stream/lib/index.js:651:11)
at getSerialPorts (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:401:16)

EDIT:

pi@raspberrypi:~/Downloads/smartthings-nodeproxy $ node server.js
[2020-03-29T09:42:26.022Z] [stnp] SmartThings Node Proxy listening at http://:::8082
[2020-03-29T09:42:26.272Z] [stnp] Loaded plugin: rnet
(node:820) UnhandledPromiseRejectionWarning: TypeError: SerialPort.list no longer takes a callback and only returns a promise
at Function.SerialPort.list (/home/pi/Downloads/smartthings-nodeproxy/node_modules/@serialport/stream/lib/index.js:651:11)
at getSerialPorts (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:401:16)
at Rnet.init (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:147:5)
at Object. (/home/pi/Downloads/smartthings-nodeproxy/plugins/rnet.js:131:6)
at Module._compile (module.js:653:30)
at Object.Module._extensions…js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
(node:820) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:820) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2020-03-29T09:42:26.290Z] [rnet] Connected to RNET: /dev/ttyUSB0

Hey Pantheon,
Not sure it’s related but I’m now seeing this error.

I sure wish Redloro was still around to help

I am really getting quite frustrated with this process. I have re-installed several times within the last 24 hours following redloro’s process. I keep getting errors all over the place. I can get Node installed easily. I have tried several versions of Node. But then things spiral downhill. I have no idea if the problem is the newer versions of serialport or some trouble with the smartthings nodeproxy dependencies. And I don’t know enough about the Raspberry Pi environment to debug.

I hear you. I wish I could provide better assistance.

Did you install the necessary plugins?

I’m running the Monoprice 6 zone so my setup is a little different.

It’s possible it doesn’t work with new versions on node.proxy. I’m running 10.15.3. Also. I fixed my issue above

I noticed your port is 8082. Mine is 8080. Not sure if this has anything to do with your issues.

I have tried installing everything from node 4.x up to the latest 12.x. The problems start when installing rnet. It errors every time, saying serialport 5.0 is not available. I was hoping that @philh30’s suggestion above of deleting the @5.0.0 would work. It did not. The port 8082 is what I use when running the smartapp in ST. I cannot even get to that point yet.

Can you post your config.json?