You can create virtual devices using:
- The SmartThings Schema Connector. It is useful to connect to clouds that support OAuth 2.0, but you can also implement a “dummy” OAuth server to login and use it as a virtual device
- The SmartApp Connector. This allows developers to provide a custom onboarding process using the SmartApp pages > settings. It benefits us more when you need inputs from the user before creating the device. (This option doesn’t require the OAuth server)
These integration types don’t need a Hub and you can use AWS (Lambda functions, S3), there are some examples/tutorials about them, I’ll leave you the links below:
- ST Schema using custom capabilities
- ST Schema + a third party service (zoom)
- Endpoint SmartApp (ContextStore): As the SmartApp Connector can be created based on the NodeJS SDK, you can check the SmartApp tutorial and see the functions needed to:
- Create the device
- Create events for that device
- Handle the commands that come from the ST App
Note: I forgot to mention that virtual switches can be created using the “Labs” tool in the SmartThings App. (This might be disabled in some regions)