Turn Alexa announcements on/off with virtual switch?

I currently have Alexa routines, within the Alexa app, to make an announcement when one of six Smartthings door sensors open. This really works well, and I’m quite happy with the result.

There are times, however, that I’d like to turn off the voice announcements, and turn them back on easily. Presently, I have to go in to the Alexa app and individually turn each sensor routine on/off.

I’m wondering if there is an (easy) way to create a virtual switch, or something similar, that will allow control of the announcements with one simple touch.

I’m sure there must be a way to do this in Webcore, but I’d like to avoid this route if at all possible.

Thanks for any suggestions/ideas!

I have a virtual switch called “talking” , in bigtalker2 i have it as a parameter that it must be on

The set up is a little complicated, but that’s a one time thing. It won’t require webcore. But I’m not feeling well this morning and I’m not going to be able to give you all the details so I’ll just lay out the idea and then somebody else can help you if you get stuck.

Echo doesn’t know the difference in this context between a virtual device and a real device.

Smartthings lets you create a virtual device which is both a sensor and a Switch. ( it will actually show up as two different devices to echo.) When the virtual Switch part turns on, it sets the virtual sensor part to open. When the virtual switch part turns off, it sets the virtual sensor part to closed.

You can control that switch like any other switch in smartthings, including with the official smartlights feature. So you can make the virtual sensor mirror a physical sensor by setting up an automation where when the physical sensor opens, the virtual switch gets turned on (which then sets the virtual sensor to open).

You can also turn the virtual switch on and off with echo just like you would any other switch. :sunglasses::level_slider:

OK, with this idea, you can now set up your echo routines (not your ST routines) so that they trigger based on a virtual sensor, not the physical sensor. And once you have that, you can put restrictive logic on the SmartThings side for when the virtual switch turns on and off, so that sometimes the physical sensor is open, but the virtual sensor is not. And, voila: you have a way to control when your echo routines will get triggered. :tada:

At this point things can get either pretty simple or very complicated depending on how much additional logic you want to add.

You can add one more virtual switch to be a master switch which you could then use to trigger all the sensors turning on/off at the same time. You could start adding in “while” conditions or base things on time of day or location.mode . Or various other options. It depends on which version of the SmartThings app you are using and exactly what you want to accomplish.

Here is the FAQ that has the code for a virtual device which is both a sensor and a switch and explains how to use that with echo routines (the thread title is a clickable link)

If you need help figuring out how to add the various restrictions, just let us know, and I’m sure other people will be glad to help. Good luck! You can definitely do it, you don’t need to use webcore, but the exact set up just depends on the details of what you want to accomplish. :sunglasses:

Thank you so much for this explanation! I’ll try to absorb it and see if I can figure out how to put it into practice.

Hope you feel better soon!

I’m wondering if it’s possible to have an Echo routine speak in response to a virtual switch changing. For instance, if the virtual switch changes to ON, say X. If OFF, say Y.

The alexa app doesn’t seem to let anything other than true contact or motion sensors trigger a routine.

I don’t have experience or probably the desire right now working with Big Talker or similar solutions. Are those my only options?

The answer is already given in post three in this thread. Just read that. You don’t need big talker or anything like that. The post explains.

The best way to do any of the above is to install the echo speaks smartapp.

You can then use your echo devices in WebCoRE. You can also use EchoSistant to the system to stop the notifications.

Let me know if you would like more details

Respectfully, no, it’s not.

One way to do it is with two quite complex custom code projects: EchoSistant and webcore. These are both very powerful and will let you do all kinds of exciting things. But the learning curve for both is steep and the set up is not simple.

Another way to do it is using the official echo routines feature (very easy) and a virtual device which is both a sensor and a switch. Not super easy, but pretty easy, and way easier than setting up EchoSistant. :wink:

Choice is good, and if someone wants the power and flexibility of EchoSistant they should definitely go for it.

But if all they want is to have echo say something when a virtual switch comes on, the method already detailed in this thread should be both sufficient and simpler. :sunglasses:

The install process for Echo Speaks and EchoSistant are actually very simple.

But yes, choice is good.

1 Like

Uh huh. :wink:


Just to be clear… Echo Speaks install is a very simple process. You just follow the directions and it does everything itself. It’s an automated install with just a few taps on the screen.

EchoSistant instructions look difficult, but they walk you through every step of the process using directions and pictures (with arrows point at the things you need to click/tap on). Much of the install is automated now, you just tap a button and it does it for you.

There are threads on both of the apps that can answer any questions.

Are there very simple ways to do what the OP is asking about? Yes.
My recommendation was so that the OP would have the powerful tools of WebCore and
EchoSistant to allow for any kind of automation that they may find a need for.

1 Like

Hmmmm…which do I choose…


You can start by reading the installation instructions for EchoSistant. :sunglasses:


1 Like

Already on it. Although, I’m trying to get a sense from the wiki what is so exciting about it. Sounds like its more natural language and lets it query ST and tell you statuses, etc. I’m guessing there’s a lot more to it than that?

I’m not a TOTAL newb with ST and WebCore, but definitely not great at programming (my pistons are super sloppy) or looking to get too far in the weeds, but I’m not totally unfamiliar with things at this point either.

Yeah, basically they just let you do a whole lot more with echo then the native features. The question is whether you think the set up process is worth it for the results. That’s an individual question: some people love it and jump right in, some people are like “isn’t there anything simpler?” Some people don’t get more than about halfway down the page before they decide they’re willing to give up some of the extra features, all they want is to have echo say something when a switch comes on.

For those people the echo routines method is often a good fit. :wink:

And the following thread has examples of how people are using EchoSistant . You can see it can do a lot more. But it is complex to both set up initially and to set up individual rules.

I think I’m going to go with the echo routine (post 3) route for now, but I can see myself getting into Echosistant later.

Quick question: Sounds like I create the virtual sensor in ST, then create a piston so that when the light turns on or off, the virtual switch/sensor pair will mirror it. Then create a routine in alexa to react off the sensor portion of that pair. Is that right? Which virtual device is the right one to select in the IDE? I tried the virtual switch, but that doesn’t seem to have the switch/sensor pairing described.

Read the FAQ. There is a special DTH that you have to use and it is available from the FAQ. :sunglasses:

IMHO, I believe that EchoSpeaks, webCoRE and a master Virtual Switch is the most practical approach if you are looking the big picture. I believe this because even though there is a process of installing the custom apps, afterwards, creating rules is so much easier. The setup for both EchoSpeaks and webCoRE are not that difficult and the install processes are well documented.

After installing EchoSpeaks and adding your Echo devices, you will able to easily use webCoRE to quickly create rules and you can add the master Virtual Switch to each rule so when that VS is off, then the Echo devices will not speak.

Not only that, you will also have the ability to use your Echo devices in a host of other applications that are not possible in the Alexa app…