Use Echo speaker from SmartThings?

What kind of speakers are you using? are they connected to your wifi?
This is able to be done, I’m doing it with my speakers (not Alexa devices) in my system. My speakers are connected to my wifi and I’m able to see them in SmartThings via a 3rd party app (Not Echo Speaks).

I have a Russound system and use @redloro’s method to get my AV system integrated into ST. So I have ceiling speakers throughout my house that appear in ST…Kitchen, Workshop, Great Room, Shower…etc. I can turn them on/off and adjust volume easily with webcore. If I am listening to a playlist in my Workshop and my wife is listening to the radio in the Kitchen, I would like to be able to say “Alexa, speaker volume up” and only the Workshop speaker volume would change. Yes, I could change the Alexa routine and use “Alexa, speaker volume up in the Workshop.” But then I would need a routine for each set of speakers and then expect my wife to learn the names of those groups. If I could query which Echo was spoken to, then I could easily write webcore code to only address speakers in that location. But I am certainly open to other solutions. Echo Speaks just seems to be overkill for what I would like to accomplish.

Ok, I see what you’re wanting to do.
Using EchoSistant you would have to create a Room Profile… so you would say, “Alexa, Decrease the volume in the Workshop”. Usually pretty easy as you can create a profile for whatever you call each room… more than one profile per room is allowed.

Using Echo Speaks would open a lot of doors for programming.

But, the way you are wanting to do it exactly, probably can be done but it would take a bit of work with virtual devices and things like that.

1 Like

I currently use lots of virtual devices so I am comfortable with that. I will take a look at EchoSistant. And, maybe I will just have to dive into Echo Speaks and use that. It just SEEMS like it would be so easy to do an API call to get the info I need. Thanks for the help.

1 Like

As far as i know, There are only two methods available from Amazon to find the device that was spoken to:

  1. If you are invoking an Alexa skill, the skill gets the device id as part of the invocation. EchoSistant uses this method.
  2. There is an undocumented rest interface used to get the account history, which includes in the data payload the id of the device among details. It is possible to parse this too find recent interactions if you have an authorized account token. Echo speaks users this method.

(Additionally, Alexa routines that area triggered by a certain phrase can Target the device spoken to for certain actions)

1 Like

Have you experimented with creating a Group in Alexa that includes the devices you want to control as well as the Echo device? I use this method so I can tell Alexa to “turn off the lights” and she knows to turn off only the light devices in the group shared by the echo device that received the command. I’m not sure which types of devices this functionality is limited to, but it’s not limited to lights. I can ask Alexa, “what temperature is it in here?” and she will give me the temperature of specifically the thermostat in the group that includes the echo recieving the command. This may work for volume commands as well. If not, it may eventually.

Update: It also looks like Alexa groups support Scenes as well. I haven’t tested any to see if they have any special behavior from being part of a group that includes an echo device.

You said you’re using WebCore. If you are getting the api calls into WebCore you can create a piston for “Increase” and another for “Decrease” which would find the current level and then change the level by a present amount that you put into the programming.
You can then using EchoSistant to verbally trigger a WebCore piston.

1 Like