Virtual Switches After Groovy FAQ

Starting to see a lot if questions, but we still haven’t been told if these will automatically transition.

Here’s a recent post with some options if you don’t want to wait:

  1. If you have an Android phone and are in the US or Korea, there is an option under smartthings labs in the app that can do it, but right now it has a message saying that it’s going through transition and will not be available until August 2023.

  2. if you have a smartthings/Aeotec hub, there are several community-created edge drivers that can create virtual devices for you. Each has different features. They are listed on the “virtual devices” list on the quick browse lists in the community-created wiki. Many of these can also be used to trigger an Alexa routine.

  1. if you don’t have a hub but you do have a PC. You can use the CLI to create a simple virtual switch, but it’s quite a bit of work.

  2. if you don’t have a hub and you only have a mobile device, or you just want an easier method than number three, a community member has created a webpage interface to the new cloud API, which will let you create a simple virtual device.

SmartThings API Browser+ ... Now Available to All

  1. if you don’t have a hub and you want to use an official feature, you can now create some simple virtual devices, using the advanced page of the new web interface.

  1. or if you don’t want to use a virtual device at all, you can get a power strip that works with SmartThings, and use one of its sockets as a virtual proxy. That doesn’t have all the same features that a virtual device Edge Driver has, but certainly if you just want to use it as an on/off precondition it would work.
  1. If you need a way to trigger an Alexa routine from SmartThings and you don’t have a ST/Aeotec hub, it’s still possible, but you may have to use a physical sensor like turn on a miniature fan which triggers a motion sensor. Or do something complicated, like IFTTT to the Voice Monkey skill. Or use a switchbot to press a button/remote that works as an Alexa routine trigger. Rather than go into all of that right now, I’m going to hope that smartthings does end up giving us some simpler options in the future. :unicorn:

@Paul_Oliver notes below that option 4 has the ability to create a virtual lock, and a virtual lock can be used as a trigger in an Alexa routine. So that could be a very good option for people who only have a mobile device and no hub. :sunglasses:

There are probably some additional methods, but that should give you a few choices. :sunglasses:


We have the Virtual Switch option in Labs in the UK too. However it creates Groovy DTH based virtual switches. It also returns an error when the switch is created though the switch is successfully created, though not placed in the requested room.

1 Like

Yeah, I was told these specifically will be migrated but that it’s still an open question for virtual devices created through the IDE, but I don’t know more details.

The work is in largely setting up the CLI. If you do have a Windows PC for example, you need to download a zip file from GitHub. You can then open a command prompt, change directory to where you want the executable to be, and tar xvzf {{path-to-downloaded-zip-file}} (tar ships with Windows these days).

Once the CLI is set up, you just need smartthings virtualdevices:create-standard to be prompted to set up a virtual switch. It will be a cloud executing one and it does work fine, though there is an argument for waiting for them to be formally launched before getting carried away. Other standard virtual devices are equally easy to create but it is yet to become clear how it is proposed to use them usefully as many of them are built around capabilities which do not have commands. Creating custom virtual devices is fairly simply too as it just requires creating a device profile first, something that you can be led through in the CLI.

When it comes to locally executing virtual devices it is definitely worth waiting to find out what the score is. Have I created a working virtual switch based on the stock Virtual Switch Edge driver? Yes. Have I created working virtual devices based on my own custom virtual device driver? Yes. Did they stay working more than a few hours at most? No. Is that because I did it wrong? Quite probably, I was guessing.

So positive signs in this direction but we aren’t there yet. Once things are firmed up I am sure there will be community solutions, after all the CLI doesn’t do anything that can’t be done using the API.

1 Like

The API Browser from @TAustin can be used to create virtual devices and is much easier than the CLI. Plus it can be used from any location and not just when you are connected to your local LAN.


Virtual locks created by the API Browser from @TAustin can be used as Alexa triggers for people who don’t have a ST hub.

1 Like

Oooh, shiny! :heart_eyes:

That’s a very good workaround. Thank you!

1 Like

Labs in the US also creates a Groovy-based switch (and only creates switches) that execute in the cloud.

I’ve got one virtual switch and six virtual dimmers that were created at least two years ago using the IDE. They execute locally. I use them as kind of master switches for groups of lights via the mirror/sync capability of Smart lighting.