[RELEASE] Russound Multi-Zone Controller Integration


(Todd M) #573

Has anyone changed the Source0(), Source1(), Source2()…so that they appear as Radio, Cable Box, Bluetooth…(or similar) labels in webcore?

(Neil Hansen) #574

I had the same problem with an error under windows where it would not find the serialport@5.0.0. I then went into the package.json file and removed 5.0.0 and it finally install fine but I think it install version 7.x.x.

I now run it and get the following, but it never completes the discovery. can’t figure out what is wrong hoping someone can help.

[2019-01-11T23:36:21.640Z] [stnp] SmartThings Node Proxy listening at http://:::8080
[2019-01-11T23:36:22.023Z] [stnp] Loaded plugin: mpr-sg6z
[2019-01-11T23:36:22.041Z] [mpr6] Detected serial ports: [“COM1”,“COM4”]
[2019-01-11T23:36:22.397Z] [mpr6] Connected to MPR6Z: COM4
[2019-01-11T23:36:52.276Z] [stnp] ::ffff: GET /subscribe/
[2019-01-11T23:36:57.484Z] [stnp] ::ffff: GET /plugins/rnet/discover

Config file looks like this;
“port”: 8080,
“authCode”: “7421”,
“mpr6z”: {
“serialPort”: “COM4”,
“baudRate”: 9600,
“sources”: [
“BT - Living”,
“BT - Deck”,
“Home Audio”,
“Garage Audio”,
“Source 6”
“controllerConfig”: {
“type”: “discover”,
“controllers”: [
“controller”: 1,
“zones”: [
“zone”: 1,
“name”: “Kitchen”
“zone”: 2,
“name”: “Dining Room”
“zone”: 3,
“name”: “Living Room”
“zone”: 4,
“name”: “Master Bedroom”
“zone”: 5,
“name”: “Rear Porch”
“zone”: 6,
“name”: “Garage”
“notify”: {
“address”: “”,
“port”: “39500”

(Jim) #575

Is there anyway to create routines in SmartThings that actually change the source on the russound? It looks like you can turn on zones and maybe even create a scene that controls the volume in that routine, but I can’t seem to access the sources in the routines. I wanted to create a routine and create a virtual switch to run the routine then use ActionTiles to switch the virtual switch to run the routine.

(Todd M) #576

I have not found a way to do this in SmartThings. Ultimately I had to use webcore and write routines to switch the source.

(Jim) #577

I have been heading in that direction. Just started seeing comments about webcore. My ultimate goal is to create routines that I can either trigger with ActionTiles. Is there anyway to execute pistons with ActionTiles? Also was the webcore learning curve pretty easy with respect to the russound? Thanks

(Todd M) #578

Yes, you can use ActionTiles to trigger Webcore routines. The learning curve for Webcore is not that steep but it does help if you have had some programming background. Fortunately, there is a vast community of Webcore/SmartThings users who are eager to help. I can easily give you some of my code for the Russound.

(Peter) #579


I am in the same boat trying to learn Webcore for the Russound. I would be really appreciative if you can send the Russound code that you have.

Many thanks.


(Todd M) #580

The key to using webcore to control your Russound is to make sure that you follow redloro’s work here precisely and get your Russound integrated with SmartThings correctly. That was the biggest hurdle for me. The webcore code is quite simple. I will post some of that when I get to my computer.

(Peter) #581

I am using redloro’s instructions to the tee. The issue i have is SmartThings does not sync correctly which state the Russound is in. For example, I would physically turn on Russound from the wall and then go to Smarthings and see it is still
off. I would need to press the on button in Smarthings when it is already physically on. I had asked about this to redloro almost a year ago about this matter. I sent him the log files at his request and he would get back but no response since. I am not
complaining because redloro has done an awesome job but this out of sync is annoying. I was hoping learning and using webcore would help. Your thoughts.

(Todd M) #582

Hmmmm, I don’t have the wall controllers for my Russound. Not sure on this one. Maybe someone else can chime in here for that. I don’t THINK webcore will help you with that one. I can say that webcore has been awesome with respect to automating my Russound. I use my Russound (and webcore) daily. For instance, I say “Alexa, shower with the 80’s” and webcore turns on my bathroom and shower speakers and chooses the Kodi input on my Russound and starts my 80’s hits playlist. When finished, I just say “Alexa, turn off the shower music” and Kodi playback is stopped and the bathroom and shower speakers are turned off. I have several webcore pistons like this.

(Jim) #583

I have the same problem but rarely use the keypads. My plan is to create all the pistons to do what I want then use ActionTiles to perform those functions. I don’t like scrolling through the keypad functions would rather have buttons that run specific functions. I haven’t tried it but if the refresh function is available in webcore you could write a piston that would look at status changes and when it sees one it runs the refresh function. That would sync your keypad usage with SmartThings app. But to be honest the SmartThings app in terms of controlling all the smart devices in your house is not ideal. Just my opinion.

(Todd M) #584

I agree, using the SmartThings app is not a good way to do routine control of you home automation. I do use it to do specific tasks on occasion. But automation with WebCoRE and/or Alexa routines is really nice. However, you may experience latency in piston/routine execution due to web congestion. Some have suggested Hubitat to reduce that latency, but I haven’t checked into that much yet.

(Todd M) #585

My webcore piston for showering with 80’s hits.

(Todd M) #586

As far as piston execution with ActionTiles, you have to make a virtual switch in SmartThings, write a piston that uses it to activate the piston. Then add that virtual switch to ActionTiles with a tile.

(Jim) #587

Yeah I started making pistons yesterday and was using simulated buttons in SmartThings to activate the piston. Do u happen to know if ActionTiles recognizes simulated buttons in SmartThings? The button just seems easier to not have to deal with the state of the switch ie on or off.

(Todd M) #588

Yes, ActionTiles does recognize simulated buttons that are created in SmartThings. However, I did have execution problems with momentary buttons as the latency of the internet does not always happen as rapidly as I wanted. Therefore the status of the button may not be accurate on the ActionTiles tile. So I just started using a simulated switch. But as you noted, in order to update the correct position of the switch/button on the SmartTiles panel, you have to use webcore to query devices in the SmartThings environment to reflect the current state. I am still working to solve this.

(Peter) #589

Thank you. I will give it try this weekend.

(Desirae A) #590

Would you mind sharing the backup bin code for this piston?

(The Viking AKA "Holy Crap You're a Giant!") #591

@redloro, is it possible to make direct GET calls to the API for integration with systems other than SmartThings?

I want to find a way to integrate the Russound API you built with the Roon audio system I have. Being able to have Roon see each zone and manage the source and audio capabilities for the zones would allow me to control my audio system from a single pane of glass while keeping SmartThings well aware of what the Russound is doing.

(Todd M) #592

Actually, I had to put this piston aside right now. I have the action button on the ActionTiles working but I cannot query the lights that it controls to keep the status of the button accurate. The Smart Life outlets used with my bedside lights cannot be used with webcore. So, I can turn on/off one or both of the lights with an Alexa command but ActionTiles will not know that and the status of the AT switch does not change. So I just deleted the switch from AT for now. I am waiting for outlets that can be used with ST, Alexa, AT and webcore. I could just make it a momentary button and not worry about changing it’s status regardless of whether the lights are on or not.