Echo Speaks Examples

I’d like to use Echo Buttons as webCoRE piston triggers and maybe even as indicator lights. I have installed and am successfully using Echo Speaks, but my Echo Buttons are not available for use in pistons. Has anyone figured this out?

Your best bet is likely to make a virtual device in ST, create an Alexa routine that activates the virtual device when the Echo button is pressed, and make the virtual device available to webCoRE.

1 Like

That doesn’t help because Alexa Routines does not offer a toggle option and it does not make the Button LED available to webCoRE as an indicator.

I think the right answer would be for Echo Speaks to bring Buttons in, but I don’t know where to make that request.

Yeah, I don’t think you’ll be able to access the led indicator in webCoRE.

You don’t need a toggle option in the Alexa routines. Your Alexa routine simply needs to activate your virtual ST device, at which point it becomes exposed to webCoRE where you can use all sorts of logic, including toggle.

Let’s say you want to toggle a light on and off with button presses of the Echo button. Create a virtual switch in ST, create an Alexa routine that turns on the virtual switch when the button is pressed, create a webCoRE piston that toggles the light when the virtual switch turns on, waits 0.5 seconds and then turns the virtual switch off.

Hello and thank you so much for Echo Speaks! It works great and is an amazing addition to my smartphone!

I have a wakeup command that performs the following:

  1. Alexa says “good morning”.
  2. Alexa reads my calendar for today.

I used CORE and the executeSequenceCommand to achieve this and it works perfectly.

I’m trying to figure out how to get Alexa to simply say the date at the beginning of this announcement. Is this possible?

I Would very much appreciate any help.

You should be able to use one of the many speak commands inside the executeSequenceCommand with system variables for the date inside. I use webCoRE not CoRE, so I don’t know for sure if the system variables would be exactly the same in CoRE, but it should be something like:

speak::today’s date is $dayOfWeekName $monthName $day

Or you could read both the date and time using something simpler like:

speak:: it is currently $now

Gotcha…effectively use webCoRE to create a toggle.

I have a Sonos Beam speaker. It is connected to SmartThings through Echo Speaks and as a LAN device.

Everything seems to be working well. However, when I program pistons using the Sonos speaker, I notice there are actually two Echo Speaks devices. The ST IDE shows that neither of those Echo Speaks devices are staying updated on the actual activity occurring on the Beam. But, the LAN device does show the correct status.

I’m currently using the LAN device in my pistons, so is there a purpose to either or both of the Echo Speaks devices? What do other Sonos owners see in their IDE for each Sonos speaker connected to Echo Speaks?

So, I’ve decided to finally try to code which specific speakers will receive which announcements, but I’m not sure how to do it. I have a @WhichEcho global variable. I assume I need to create some sort of array to list whichever echos I want to speak a particular phrase. Any pointers on how to do this would be wonderful.

This is what I have right now, which is a bit kludgy.

I haven’t done this, but I don’t think you want a nested IF. This might be cleaner. If it works, it will only send the DO to the proper ECHO.

IF …trigger… THEN with @WhichEcho DO …

And yes, you need to set the value of the variable first based on whatever triggers you plan on using.

Well, the way this piston works is that other pistons react to “door open” or “gate open”, and set that as the global @receivedmsg, then change the piston that sends the message to my messaging piston. I’m just trying to figure out a way that one piston could designate “Say with Echo #1”, while another piston could designate “Say with Echos #2 and #3”. I figured another global variable could carry over the number of Echos for the array in the messaging piston.

OK, but my point was that if you use IF @WhichEcho = then you’ll need multiple IFs, one for each Echo. If you just identify the @WhichEcho(s) to speak, then you can do it with one IF.

I know…I don’t want to use Ifs. I want different pistons to use different Echos, sometimes more than one. I just don’t know how to carry that information over from one piston to another

So that’s really a webCore question. I’d post over in the webCore community.

Hello smartie - were you able to get the ‘dog barking’ idea implemented ? If yes, can you please share?

I wasn’t :frowning:

Not at home to test, but I found this in amazon prime music:

“Guard Dogs – Random Barking and Growling Dog Sounds for Added Home Security When the House Is Empty”

If you use the EchoSpeaks “Music Search Tests” feature, you may be able to find something?

Edit-Amazon music (I have prime) “guard dogs” works

The most recent update to Echo Speaks added a new command, playSoundByName() which can be used to play any sound effects in the Amazon library, which includes several different versions of dogs barking/growling.

The list of available sound effects and the correct titles to use to call them are linked here:


I recommend you look for “dog sound effect”. I set us something similar for my echo to play “fireplace sound effect” while my gas fireplace is on.

1 Like

Apologies for my silly questions.
I just updated Echo Speaks (along with the server), so now i have v3.3.0.0 with Device (v3.3.0.0) and Server (v2.3.1). I also updated Webcore, just to be sure.
When you mentioned “playSoundByName()”, is this on Webcore? Or somewhere else?

I also tried directly going through Alexa app, and create Routine of when there is a motion detected - play animal sound (dog). But it only plays one bark, i would want continuous barking sounds for at least 2-3 minutes or so.

Appreciate your help!