Feature Request - On/Off Button Tile - why can't you install it from the ST App itself

I know that a lot of people use virtual switches, aka the On/Off Button Tile, to help track states, etc. It seems to be a common tool to use. There really needs to be an option to install it from within the ST App itself.

With some of the great SmartApps we are seeing now, this virtual button is becoming more useful.


This would be very useful.

I read someone today was using a remote to trigger a virtual button (sorry, don’t remember who), but that opens up a lot of options.

1 Like

I just posted a scenario where I use one to track vacation mode persistence.

1 Like

That would be me. I use virtual switches with my Harmony hub to trigger things like sleep and morning mode. Who needs smart mattress covers and wearables to tell me when I’m up or going to bed when my tv habits can!

1 Like

Virtual Devices of many kinds are handy to use as “global” (Location or Account?) scoped storage.

ST could just give us more near-global variables at the account, location, or hub level, but we only get location.mode.

Virtual Devices are better, though as they fit in the security model, and events, etc…

Perhaps a Capability “Data” or some other capability name(s) would help make their purpose and use more obvious though.

“Purpose is for people.” :wink:

A device type for a virtual device should still fit the physical object model. If you want to imply the virtual device is sending data, then notification support
should be fine.

While this isn’t an official feature, I thought it might be helpful to have a virtual switch creator. You need to get it set up by installing a device type and smart app, but after you have it set up, you can create as many switches as you need from the app without going through the IDE. Instructions for installation can be found at github.


Exactly what I’ve been hoping for (and hoping to figure out how to write; this should be useful code as a guideline for many similar purposes)!

Looking forward to trying it – Thanks!

I learned how from creating my Pushbullet service manager. It would be nice if we could make a service manager for any device we can already create through the IDE rather than having to have the device type installed to the IDE


So once someone has installed this smartapp, what can they do with it?

It is just an easy way to create new virtual switches, rather than having to go into the IDE every time you want another virtual switch

So then you have a smart app, right? Then you need another smartapp to access it?

Is there a way to make it accessible via the SmartThings IFTTT Channel?

I am used to installations in which a virtual device looks just like a physical device in the network except nothing can route to it except the hub. This doesn’t seem to be that, though.

I’m not sure I understand exactly what you’re asking. It does initiate a SmartApp, but the SmartApp does nothing except for create the switch.

It shows up as a device in your things that you can toggle. You can also use the switch in any SmartApp that uses a switch. If it is not showing in your things, refresh the things screen by pulling down (I’m not sure if this only works in iOS)

Yes, if you already have IFTTT setup, on the dashboard in the ST mobile app, there should be a “SmartThings Internal” category. Press the settings gear for IFTTT and you can add the switch in those settings.

1 Like

It showed up under Convenience as an app like Button Controller. And under MyApps.

But there is no device tile that can be toggled.

Did you install the device type as instructed on github?

Yeah, never mind, found it. :blush:

Long story short, had an aide do everything, she gave it the same name and icon as an existing light. :flushed: English is not her first language.

I must have said something like “we’re going to give it a name like that one,” and she did. EXACTLY like that one. My fault, I should have had her read it back.

I’m glad it is working for you

It’s now working exactly as I expected, so that’s good. Still testing to see if I’m actually going to use it for anything. :blush:

Big thanks the baldeagle072… I think this will do exactly what I need it to.

So … who do we petition to get the “Virtual On/Off Tile” (or whatever basic standard Child Device Type is required) to be inherent in everyone’s account so that this could be published as a standalone SmartApp and not require manual installation of the Device Type to the Customer’s own account?

Virtual devices are tremendously useful and various customized ones are useful for complex scenarios, but, as discussed in Topic after Topic after Topic … just a “Virtual Switch” (On/Off Tile) is sufficient for, well, 80% of the use cases! IFTTT, Amazon Echo (hello there Alexa!), and all sorts of SmartApp combinations. Inter-SmartApp communication works very well with just a binary shared device… i.e., a Virtual Switch.

We should be able to spin these up on the fly with “addChildDevice()”…

Unfortunately, “addChildDevice()” seems to require that “typename” be a Device Type in your own Account, even if you specify “namespace” of “smartthings” … No … it must also search the officially “published” Device Types, right, and “Virtual On/Off Tile” must therefore not be published (unlike the “Hue Bulb” child device type, for example).

@slagle? @Ben?