Alexa, SmartThings and Russound Home Audio?

To be clear, you will only be able to control the speaker (play, mute, pause, volume up/down)…Each device implements music playback differently and the version of Ask Alexa you have can ONLY control music from Sonos speakers, and I am removing that functionality in the next release. Sonos speakers keep a cache of recently played songs in its memory and SmartThings’ integration allowed the smartapp to find, catalog and initiate commands to play these back. Unfortunately, this was unique to Sonos. A similar method could be implemented for your pieces, but let’s first make sure you can actually control them with Ask Alexa.

On the main screen, you will see a ‘connected speakers’ selection. See if the speaker/system show up there and if so, update your developer slots with the names of the speakers, then see if you can control them. Let me know and we can take this to PM to see what will be next.

I can confirm that you can control the Russound via Alexa with your voice using Redloro’s handiwork. I had it setup tonight, renamed the speakers to something easy to remember such as “Kitchen Music” and Alexa will easily turn the zone on and off. I haven’t been successful in adjusting volume or sources with it yet though. Still looking for a list of commands…

Alexa directly, or Ask Alexa? If you are using Ask Alexa, that is good news! The commands to change the volume would be something like:

Alexa, tell SmartThings to set the {Speaker name} to 50%

or

Alexa, ask SmartThings to increase {Speaker name}

etc.

I tried both with Alexa and Ask Alexa to set the speaker volume, both replied - Speaker doesn’t support that.
I have updated the device handler to include the capability “switch volume”

Steve,
Awesome! I am very close to needing your help with this setup. Thank you and Michael. I will be in touch soon.

Steve and Micheal,
Now I need to pick your brains and try to get the functionality out of Alexa that I desire. Micheal, will I be able to use Ask Alexa with my Russound once you remove the Sonos functionality?

I have the json node proxy running on a Windows 7 laptop (Kudos to Redloro! [[RELEASE] Russound Multi-Zone Controller Integration]
I am using the Kodi-Alexa skill [https://github.com/m0ngr31] to control Kodi.
I have Kodi running on the same laptop with my entire music collection (8,000 songs) on that same machine.

What are your commands to Alexa to play your 80’s playlist in the kitchen? I think my commands should go something like this…

“Alexa, turn on the kitchen speakers to 50% and set the source to My Music Library”
“Alexa, tell Kodi to play my 80’s playlist”

Thoughts, suggestions, knowledge, wisdom…

I have decided, mostly from your use case, not to remove the speaker control from the app. I will only be removing the actual Sonos-specific features. This is for the concept on Memory Slots and will only affect people with Sonos speakers. The real Sonos skill is better at playing specific music with those speakers.

Regarding your use case, if you can’t choose music from the SmartThings DTH then Ask Alexa won’t be able to do it. Ask Alexa is only interacting with the DTH, not the speaker itself.

That being said you may want to look at using Ask Alexa with WebCoRE and see if you can do something like this guy: http://thingsthataresmart.wiki/index.php?title=Using_Parameters_with_Ask_Alexa_and_webCoRE

Let me know if that helps at all.

Michael,
Awesome! Thanks for not removing the speaker control from the Ask Alexa app. Your app works very well for me. The idea of using WebCoRE is exciting. I have seen it mentioned several times in various forums. Between Ask Alexa and Redloro’s Russound control I think that I can accomplish what I want to do with Alexa. I’ll probably get a good working process just in time for Russound to publish their own Alexa integration. I am sure I will have to pick your brain soon. Thanks again!

1 Like

Michael,
I have been studying your Ask Alexa. WOW! You really have a great product there. You have definitely put lots of time and effort into that. I am impressed. And I am just scratching the surface. I cannot wait to use more of it. I am SO CLOSE to solving my Alexa-Russound problem. But I need your insight. I am having trouble understanding the devices produced from Redloro’s ST app (“Kitchen”, “Porch”, “Workshop”, etc). I have asked for his help here but he admits he does not know much about Alexa and webCoRE. I can use his app on my phone to control everything on my Russound. I can turn zones (“Kitchen”, “Bathroom”, “Porch”, etc) on/off, I can select the source (source0 - source5) (“Radio”, “Music Server”, “Bluetooth”, etc). I can adjust volume, base, treble, turn all zones off, set “party mode” on/off. Here is where I am stuck. I can say “Alexa, turn on the Kitchen” and the kitchen zone speakers are turned on. I can say “Alexa, set the Kitchen volume to 50 percent” and the volume is set to 50 percent. Those things are easily controlled with just Ask Alexa, no webCoRE programming from me. If I say “Alexa turn on source one in the Kitchen” or “Alexa in the Kitchen turn on source one”, I get nothing. I have tried the command in several ways. Nothing. I cannot get Alexa to recognize and select a source. In webCoRE I can write a piston (brute force) that will turn on any of the sources (source0 - source5, ie. “Radio” - “Bluetooth”) and it works. My problem is what “If” statement do I use in the piston to know which source I requested to be turned on. I don’t know which variable to query. I imagine it would be something like :
If I say “Alexa turn on the radio in the Kitchen” then the piston code may look like this :

If source is “radio” then source0 (on)

or if I say “Alexa turn on my music server in the Bathroom” the the piston code may look like this :

If source is “music server” then source1 (on).

How can I determine which source was spoken so that I can put that in the “If” statement to turn that source on?

This is the final piece of my puzzle. I have everything else working. Once I determine how to select the source by voice I can implement my plan to completely control my whole-home audio (Russound) with Alexa and not have to use my phone/pad. As always, you help is greatly appreciated.

1 Like

Todd,

Thanks…this has been a labor of love, and when I see people doing such creative things with my app that I never thought possible, it is refreshing to know that it has created a life on its own!

To be clear, I assume you are starting with “Alexa, Tell SmartThings…” Right? Unless you have setup the invocation name as “kitchen”. Is that the case?

As for your other question, they really depend on how you answered above. There are extra parameters tiy can send to WebCore, but they require a very specific setup.

Please clarify how you are doing all of this and we can work together to figure this out.

I don’t have to say “tell Smartthings”. I just say the name of the device…“Alexa, turn the Kitchen on”, and it works. The Redloro ST skill adds devices to my ST app… Great Room, Kitchen, Master Bath, Master Shower, Porch, Workshop. I add those to Ask Alexa as speaker switches as you suggested from the very beginning of our dialog. Those were chosen by me and coded into the config.json file (as “zones”) used with Redloro’s work. Also included in that config.json file are my “source” names, Tuner, Music Server, Great Box, Master Box, Porch Box, Bluetooth. I did not set up any invocation names. Or, maybe those are my invocation names.

This is what I don’t understand. I can say “turn the kitchen on” and that works, as if Kitchen is a boolean variable. Then the command “Set the volume to 50 percent in the Kitchen”, I guess “volume” is an integer variable. So is “source” the variable that I need to set in my piston with Ask Alexa? Does the device in my ST app contain those variables? Not sure. It seems so. And if so, then why won’t “Set source to “Tuner”” work as easily as the “Set volume” command? I can set the source with my piston command by just hard coding source=source0 (on). But apparently Alexa does not recognize the word “source”. Or maybe “source” and “source0” (or source1, source2, source3…) are confusing Alexa. I just don’t understand the config.json language to see what I need here. If you have a moment, take a look at the RNET.JS file from Redloro’s Russound work and maybe glean some understanding that I am clearly missing. Here is my config.json file :

{
“port”: 8081,
“authCode”: “secret”,
“rnet”: {
“c-series”: true,
“serialPort”: “COM3”,
“sources”: [
“Tuner”,
“Music Server”,
“Great Box”,
“Master Box”,
“Porch Box”,
“Bluetooth”
],
“controllerConfig”: {
“type”: “discover”,
“controllers”: [
{
“controller”: 0,
“zones”: [
{
“zone”: 0,
“name”: “Great Room”
},
{
“zone”: 1,
“name”: “Kitchen”
},
{
“zone”: 2,
“name”: “Porch”
},
{
“zone”: 3,
“name”: “Master Bath”
},
{
“zone”: 4,
“name”: “Workshop”
},
{
“zone”: 5,
“name”: “Master Shower”
}
]
}
]
}
}

If you are not invoking Ask Alexa you are using the native SmartThings integration. These have no interaction with Ask Alexa.

Does that make sense? If you aren’t using Ask Alexa then you will have trouble passing variables.

Am I misunderstanding how you are using this?

Ah, I see. I have been testing things since your last message. Just loading the devices (Kitchen, Porch, Workshop) with Redloro’s SmartApp does not allow me to control anything with Alexa. Which is what I would expect since his app is designed to control those things manually on your phone. Alexa does not even detect the devices. If I add the Ask Alexa SmartApp, same thing. I cannot control anything with Alexa. But if I add the SmartThings / Samsung Connect skill to the Alexa app then the devices are detected (Kitchen, Porch, Workshop…). And I can turn them on/off and adjust the volume. Simply saying “Alexa, turn on the Kitchen” turns those zone speakers on. Saying “Alexa, set the volume in the Kitchen to fifty percent” also sets the volume in the Kitchen to 50%. However, I cannot seem to affect any of the other things like loudness, source, party mode. So it appears that I HAVE to have the SmartThings / Samsung Connect skill loaded in the Alexa app to get on/off and volume control. Now what do I do? I feel like I just took a couple of steps backwards…

Well, I am not 100% sure how I can help since you aren’t using Ask Alexa with this. If they show up in SmartThings and they are controllable via SmartThings, Ask Alexa CAN control them…especially if they are a variable device (like volume control). Have you tries Ask Alexa (using the invocation) to do any of the activities it can’t do natively?

I want to use Ask Alexa. I thought I was using it. That is the only way I
can see that this will work. How do I invoke Ask Alexa? I envision that I
will have to use webCoRE through Ask Alexa to get what I want.

Michael,
I appreciate all of you help here. I really do. But I don’t have a clue what I am doing. I am spending hours reading and attempting different tasks without any productive results. I know the solutions are right in front of me. I just cannot see them. I have no desire to be spoon fed here but my frustration is reaching an end point…

I want to use Ask Alexa to do compound commands. I want to say “Alexa, tell Smartthings to turn on the Kitchen speakers and set the source to the radio”. Turning on the speakers is easy and I can already do that. The part that I am beating my head over is the “source” part. How does Alexa know what source I am talking about? How does Alexa parse out “radio” so that I can write a piston to turn on that source, ie…

If source is "radio"
then execute Source0 (on).

where source0 is the variable (I think) from my Russound RNET device that corresponds to the Tuner that I have physically attached to port 0 on my Russound. I cannot figure out how Alexa, or Ask Alexa or Smartthings is going to know that source=“radio”. How does Alexa get that information and where is it stored. If I can figure that part out I can write webCoRE pistons that will turn on the “radio” or my “music server” or “cable box” or “bluetooth”.

Todd,

Let’s start with the basics…If you have Ask Alexa set up, you can say:

“Alexa, Ask SmartThings Version”

This should confirm your Ask Alexa is working.

Either way, let’s pull this into a PM so we don’t keep going back and forth in this thread…The good news is that what you are looking for is possible(except compound commands, which come later this month).

Michael,

Are you still helping people troubleshoot their problems with connecting Russound to Echo Dot? I cannot get Alexa to recognize any speaker or zone.

I had previously helped with the integration into Ask Alexa, but the prerequisite is that you have them working in SmartThings. Have you gotten that piece to work?