[OBSOLETE] Russound Multi-Zone Controller Integration

Your controller config in the config.json is not correct… please refer to the latest config.json.sample:

It should look something like this:

    "controllerConfig": {         // Set this to define zones
      "type": "discover",
      "controllers": [{
        "controller": 1,
        "zones": [
          {"zone": 1, "name": "Family Room"},
          {"zone": 2, "name": "Kitchen"},
          {"zone": 3, "name": "Living Room"},
          {"zone": 4, "name": "Patio"},
          {"zone": 5, "name": "Dining Room"},
          {"zone": 6, "name": "Office"}
        ]
      }]
    }
1 Like

Perfect! Super that was the last click! I had picked it up from the specific section - which is in the older format, but now all good!
Loving talking to Alexa to control the system! Awesome Thank you so much guys!! Redloro for building it and Ken for turning me to this!:relieved:

Can you do anything else beside on & off?

Just tried… No nothing other than on/off through voice commands

@milindn @KenJ if you want to add voice control for other things, check this post out: [RELEASE] Yamaha Network Receiver Basic Integration

You should be able to create as many virtual switches as you like and then tie voice control to the virtual switches.

Thanks I’ll check it out.

@milindn @KenJ Using CoRE and virtual switches, so far I have it working changing the sources with voice control. Anyone changing the volume with voice?

Volume control with voice was already resolved using the switch level command earlier in this topic. I have it working in a fashion - Alexa - set the kitchen speaker to 60%

1 Like

That’s what I get for coming back to this thread and going directly to the
bottom post! Thanks @milindn

What does your core piston look like? Trying to figure out what type of virtual device to create and then how to pass the percentage spoken as the volume percentage. Do you have a virtual switch for each 10% increment or something?Thanks in advance!

All you have to do is in the device handler add line

capability “Switch Level”

at line 26. Then save, publish and have Alexa rediscover. You should be good to go.

1 Like

I’m having issues getting this to work with 2 monoprice 4 zone controllers. Even with both of them off, smartthings shows all zones as ON and I can’t control anything. Any help would be greatly appreciated. Config copied below:

{
“port”: 8080,
“authCode”: “secret”,
“notify”: {
“address”: “192.168.1.80”,
“port”: “39500”
},
“mpr6z”: {
“serialPort”: “/dev/ttyUSB0”,
“baudRate”: 9600,
“sources”: [
“Source 1”,
“Source 2”,
“Source 3”,
“Source 4”,
“Source 5”,
“Source 6”
],
“controllerConfig”: {
“type”: “discover”,
“controllers”: [
{
“controller”: 1,
“zones”: [
{
“zone”: 1,
“name”: “Master Bed”
},
{
“zone”: 2,
“name”: “Upstairs”
},
{
“zone”: 3,
“name”: “Main”
},
{
“zone”: 4,
“name”: “Kitchen”
}
]
},
{
“controller”: 2,
“zones”: [
{
“zone”: 1,
“name”: “Bedroom 1”
},
{
“zone”: 2,
“name”: “Bedroom 2”
},
{
“zone”: 3,
“name”: “Bedroom 3”
},
{
“zone”: 4,
“name”: “Deck”
}
]
}
]
}
}
}

pi@raspi:~/Downloads/smartthings-nodeproxy $ node server.js
[2017-05-28T20:35:29.263Z] [stnp] SmartThings Node Proxy listening at http://:::8080
[2017-05-28T20:35:29.359Z] [stnp] Loaded plugin: mpr-sg6z
[2017-05-28T20:35:29.380Z] [mpr6] Connected to MPR6Z: /dev/ttyUSB0
[2017-05-28T20:35:29.442Z] [mpr6] Detected serial ports: ["/dev/ttyAMA0","/dev/ttyUSB0
[2017-05-28T20:35:33.118Z] [stnp] ::ffff:192.168.1.80 GET /subscribe/192.168.1.80:3950
[2017-05-28T20:35:38.473Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/discover
[2017-05-28T20:35:38.527Z] [mpr6] Completed controller discovery
[2017-05-28T20:35:39.696Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/controller
[2017-05-28T20:35:39.703Z] [mpr6] TX > ?12
[2017-05-28T20:35:39.905Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:39.907Z] [mpr6] TX > ?13
[2017-05-28T20:35:40.064Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.065Z] [mpr6] TX > ?14
[2017-05-28T20:35:40.225Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.226Z] [mpr6] TX > ?11
[2017-05-28T20:35:40.385Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.386Z] [mpr6] TX > ?21
[2017-05-28T20:35:40.553Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.556Z] [mpr6] TX > ?12
[2017-05-28T20:35:40.711Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.712Z] [mpr6] TX > ?13
[2017-05-28T20:35:40.875Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:40.876Z] [mpr6] TX > ?24
[2017-05-28T20:35:41.044Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:41.045Z] [mpr6] TX > ?14
[2017-05-28T20:35:41.213Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:41.214Z] [mpr6] TX > ?22
[2017-05-28T20:35:41.392Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:41.393Z] [mpr6] TX > ?23
[2017-05-28T20:35:41.566Z] [stnp] ::ffff:192.168.1.80 GET /plugins/mpr-sg6z/cont
[2017-05-28T20:35:41.566Z] [mpr6] TX > ?11

Did the zones all show up in SmartThings?? Have you tried with one controller first? I don’t know that it’s been tested with 2 controllers… should work but it may need some tweaking.

Thanks Redloro.

Yes all zones showed up in smartthings. I also tried with just 1 controller and its the same issue.
I’m wondering if it could be related to the serial cable?? (As i have never seen an RX response) I seem to be able to send commands to the amp with the same cable when using a pc. Although I’m not 100% sure on that.
I think following is the relevant log for the serial cable. Thanks again for your help.

pi@raspi:~/Downloads/smartthings-nodeproxy $ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

Ok - in that case… let’s just test the serial cable… can you connect direct on the RPi (or PC) to the MPR6Z and execute the following: ?11\r

It should return something… if it doesn’t you’ll prolly need to get another cable.

Hello. I am a RPi newbie. I have a Russound CAA66 and would love to get this working! I have managed to get the pi setup with headless mode, the remote file share folder, and now i’m working to get the smartthings node proxy setup. I am at the process where I’ve just made the config.json file. I enter the command: npm run install:rnet, and I get the following error:
pi@raspi:~ $ npm run start
npm ERR! path /home/pi/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/home/pi/package.json’
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2017-07-28T02_17_50_531Z-debug.log

Any help is much appreciated!

I manage to fix that but now get the following:
pi@raspi:~ $ npm run start

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

module.js:487
throw err;
^

Error: Cannot find module ‘/home/pi/server.js’
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3
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.

To be clear, none of this has to run on a RPI… it can run on a PC, Mac, whatever you like.

It looks like you’ve got a problem with your folder structure. If you copied the smartthings-nodeproxy folder from GitHub to your Pi home directory, then you should be executing all commands from the /home/pi/smartthings-nodeproxy directory… looks like you’re executing commands from /home/pi.

Thanks for the reply, redloro. It is quite apparent I’m a newbie at this…I understand it can be run on something else, but I chose the RPI for a few reasons: 1. uh, really cool…from what i’ve read it can do some awesome things, and i’m up for the challenge of learning; 2. i’m on this whole “home automation” kick, and hope to do more with the RPI, such as make a custom servo controlled by RPI to move my plantation shutters.

You were correct, my folder structure looked to be the main problem. I have redone everything and it now seems to work when i execute “npm run start”; however, I’m getting “ENOENT: no such file or directory…” at the end. I am not home right now, but and send you a more detailed description if needed.

Also, I have also set up the SmartApp and Device Handler, but as expected none of the zones are showing up yet in SmartThings. In the Russound smartapp options, what do I enter for the “Proxy Address”?

To be clear, I re-did my folder structure as in I re-copied everything from your smartthings-nodeproxy folder to /home/pi/smartthings-nodeproxy; however, the only way i could get it to not come up with errors when “npm run start” was to put copies of some files in /home/pi. Could that be the problem? Any reason off-hand why it’s looking in that higher folder versus smartthings-nodeproxy?

Again, I know these problems/questions are trivial to most, but I do greatly appreciate your help.