SmartThings Community

[RELEASE] Russound Multi-Zone Controller Integration


(Todd M) #467

Definitely agree with the redloro video above. I had to watch that video several times to get things working properly. Twice I had to erase everything and completely start over. redloro does a great job of explaining how to get the node proxy running. I am running mine on an old windows laptop, not a raspberry. So things were a little different. But the entire process is very similar and if you follow the video closely you should not have much trouble. I have the Russound and I do not have any experience with the Monoprice.

Now a side note. Russound has an excellent app that does everything the redloro node proxy setup will do with Smartthings. BUT, the redloro work allows me to integrate Smartthings with my Alexa so that I now have voice control of my AV system with the Russound as the central component. The newest Russound multi-controllers are now integrated with Alexa (per the Russound website).

(Ragai Meena) #468

thank you
I am running mine o a windows 10 machine
the server seems to be running and able to detect the monoprice device on the serial port
do you mind sharing your config file may be I have setup something incorrectly? I am trying desperately to get it working, not much experience with coding


Hey - what would that look like? Would a favorite assign an source to a room or what??


PR merged… thank you!!


Would be easy enough to add… but I don’t have the tuner option and wouldn’t be able to test. If someone wants to read the RNET docs in GitHub and point me to the right codes for changing channels, I can add it in and you can test!


Would you please share the STNP output when you start the service and flip the “Enable Discovery” switch in the SmartApp and hit done? Thanks.


Did you get this resolved? Did you run?

npm run install:rnet

And is plugins/rnet.js there??

(Ragai Meena) #474

thank you sir for getting back to me, I hope you can help me get this to work

1- when I fire up the server here is the output

[2018-01-06T13:27:41.218Z] [stnp] SmartThings Node Proxy listening at http://:::8080
[2018-01-06T13:27:41.888Z] [stnp] Loaded plugin: mpr-sg6z
[2018-01-06T13:27:41.900Z] [mpr6] Detected serial ports: [“COM1”,“COM4”]
[2018-01-06T13:27:42.165Z] [mpr6] Connected to MPR6Z: COM4

2-I removed the app and reinstalled it. I flipped discovery mode on and here is the outpu

[2018-01-06T13:31:27.457Z] [stnp] ::ffff: GET /manager/html
[2018-01-06T13:31:27.465Z] [stnp] Authentication error
[2018-01-06T13:31:50.768Z] [stnp] ::ffff: GET /subscribe/
[2018-01-06T13:31:55.722Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/discover
[2018-01-06T13:31:55.742Z] [mpr6] Completed controller discovery
[2018-01-06T13:31:57.444Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/1
[2018-01-06T13:31:57.446Z] [mpr6] TX > ?11
[2018-01-06T13:31:57.560Z] [mpr6] RX < ?11
[2018-01-06T13:31:57.620Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/4
[2018-01-06T13:31:57.621Z] [mpr6] TX > ?14
[2018-01-06T13:31:57.629Z] [mpr6] RX < #?14
[2018-01-06T13:31:57.790Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/6
[2018-01-06T13:31:57.791Z] [mpr6] TX > ?16
[2018-01-06T13:31:57.803Z] [mpr6] RX < #?16
[2018-01-06T13:31:57.867Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/2
[2018-01-06T13:31:57.868Z] [mpr6] TX > ?12
[2018-01-06T13:31:57.875Z] [mpr6] RX < #?12
[2018-01-06T13:31:57.943Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/5
[2018-01-06T13:31:57.945Z] [mpr6] TX > ?15
[2018-01-06T13:31:57.954Z] [mpr6] RX < #?15
[2018-01-06T13:31:58.071Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/3
[2018-01-06T13:31:58.073Z] [mpr6] TX > ?13
[2018-01-06T13:31:58.085Z] [mpr6] RX < #?13

3- here is my config.json file

“port”: 8080,
“authCode”: “habolli2008”,
“mpr6z”: {
“serialPort”: “COM4”,
“baudRate”: 9600,
“sources”: [
“Fire TV”,
“ChromeCast Audio”,
“controllerConfig”: {
“type”: “discover”,
“controllers”: [
“controller”: 1,
“zones”: [
“zone”: 1,
“name”: “Kids Room”
“zone”: 2,
“name”: “Master Bedroom”
“zone”: 3,
“name”: “Pool”
“zone”: 4,
“name”: “Lanai”
“zone”: 5,
“name”: “Guest Room”
“zone”: 6,
“name”: “Office”
“notify”: {
“address”: “”,
“port”: “39500”

4- one thing caught my attention, the IP address of the machine where the server is installed on is, but as you see above in the notify section, the address is listed this is the automated section that you said in the video not to worry about and the server will get it automatically.

5- here is the output when I try to turn off a zone from the ST app. note that it flips back on by itself and under the recently tap it is empty no data or activities are listed

[2018-01-06T13:36:12.167Z] [stnp] ::ffff: GET /plugins/mpr-sg6z/controllers/1/zones/5/state/0
[2018-01-06T13:36:12.171Z] [mpr6] TX > <15PR00
[2018-01-06T13:36:12.171Z] [mpr6] TX > ?15PR
[2018-01-06T13:36:12.197Z] [mpr6] RX < #<15PR00
[2018-01-06T13:36:12.204Z] [mpr6] RX < #?15PR

Thank you for all your work


To be honest have not really looked at this closely. I did take a quick peak at the russound app this am. It seems favourites are stored by source.
So I have different favourites that show up for my Sirius Xm versus The internal or DSM tuner.

So if you changed sources you would get a different selection of favourites. Again for me this would work.
I am looking for the ability to change stations. I was thinking using favourites would be a way to do that.

So if it takes a different method to get their. I am good. My goal is to change radio stations easily!


I don’t have the Monoprice amp but this looks weird… the MPR is just echoing back the request and not actually doing anything. Do you have to do anything special on the MPR to allow serial comms… have you tried a factory reset?

(Ragai Meena) #477

This is a brand new amp I just opened out of the box, connected one controller only on zone1 and have been trying to get it to work for 2 days. I tried to send commands to the amp with Puttybut no luck. I hope someone can help me…


It might be the pinout on your cable that is causing the echo back. Concentrate on getting putty to send and receive commands.

(Todd M) #479

I don’t know if this will help or not but when I initially tried to set
mine up I had lots of difficulty. Ultimately I changed the USB cable going
to the serial Port. It was a bad cable. Everything worked correctly after

(Ragai Meena) #480

can you please provide me with some commands I can use in putty and how to exactly type them, what to expect back?
also when I try to change the volume from the app, nothing happen in the portal output, same when I press on source chNGE

(Ragai Meena) #481

I don’t know how to thank you all, especially redloro and BartshLabs.
here is what was wrong, and please do not LOL
My controller was in SLAVE MODE NOT MASTER MODE.
I am embarrassed but I thought to let you guys know
last question, how to get it to run upon startup in windows 10? I placed a short cut of the server in the startup folder but it gives me an error message and it does not start.
again you guys are the best


Hey @Ragai_Meena, no judgement, just glad that you found the problem.

I use Windows 7. Here are the contents of my start.bat file in the Startup folder:

@echo off
cd \Users\User\Documents\smartthings-nodeproxy
node server.js

(Ragai Meena) #483

thank you
the batch file works only after I log in. is there another way to make it run without logging in?

(Ragai Meena) #484

Nevermind I created a scheduled task and pointed it to the .bat file and changed its properties to start without user login and… IT WORKED.


LMAO :laughing: Awesome… glad you figured it out!!


@redloro, I have been trying to update the Monoprice DTH to set the labels of standardTiles 1-6 with the values of the label retrieved from the nodeproxy by the control of the SECONDARY_CONTROL of the multiAttributeTile.

  tileAttribute ("source", key: "SECONDARY_CONTROL") {
    attributeState "source", label:'${currentValue}' 

For the life of me, I can’t retrieve that value and load it in something like this:

  state("off", label:"${evt.sourceName}", action:"source1", icon:"", backgroundColor:"#ffffff")
  state("on", label:"${evt.sourceName}", action:"source1", icon:"", backgroundColor:"#ffffff")