[ST Edge] vEdge Creator: a virtual device generator for end users

Here is an Edge driver that will enable end-users to create virtual devices that run locally on-hub.

UPDATED JULY 2023

Features:

  • Supports the following virtual device types:
A/C, air quality, alarm, Alexa switch, battery, CO2 level, contact, door, energy, fan, garage door, illuminance, Level/dimmer-only, lock, light (including RGBW),  momentary button/doorbell,
motion, panic, presence, refrigerator, smoke detector, sound pressure, sound sensor, switch, switch level/dimmer, temp/humidity, TV, thermostat, video camera, water sensor, window shade
  • Create any number of virtual devices
  • Easy and fast to use: No coding or CLI required
  • Enables you to create 100% local automations with virtual devices
  • See how many devices you’ve created of a given type (inventory)
  • Devices include additional controls and features beyond what is available through CLI-created virtual devices
  • Several virtual device types include a switch that mirrors controls - useful for Alexa triggers
  • Several virtual devices types include custom controls to set device states
  • Ability to select dashboard icon for select devices (e.g., switch, contact, motion)
  • Momentary button includes both switch and contact, plus preference settings to control on/off/revert behavior, and delay value
  • Motion includes optional auto-revert back to inactive after given delay value
  • Shade device includes hidden contactSensor for triggering Alexa routines

Note for those wanting to trigger Alexa or have Alexa trigger SmartThings: Use the AlexaSwitch device, with which you can create a linked contact device from the device Settings screen, which can be used for reliable Alexa triggering. (The former method of using a combined switch+contact device seems to no longer work reliably). Icon preferences can also be chosen in device Settings. For more information see this post. In summary: use the linked contact device to trigger Alexa routines ('when this happens…'). Control the contact state with the linked switch. You can use the switch in Alexa routine ‘actions’.

  • I have an alternate driver option available for creating Alexa triggers that uses a different approach. See this post for details.

Known issues

  • Alex integrations: Alexa no longer seems to like devices with combo devices (e.g. switch+contact), so use the AlexaSwitch device type to create a linked contact device for more reliable Alexa triggering. See Note for those wanting to trigger Alexa… above.

More help
@Buds_Smart_Home has done an instructional video on virtual switches that references this driver (February 2024) that is quite helpful.


I’m happy to expand the list of virtual device types supported based on community needs.

Please leave your feedback here!


Instructions:

  1. Use this channel invitation link to load the driver to your hub: Samsung account
    Enroll your hub, then display available drivers and choose Virtual Devices V2

  2. Once the driver has been installed to your hub, go to your mobile app and do an Add device / Scan for nearby devices. This will result in the creation of a new device called vEdge Creator V2.94 to be found in the room where your SmartThings hub device is located.

  3. Open the new creator device to the device Controls screen. Set the quantity of devices you want to create of a given type, then select the device type and your device(s) will be created in the room where your SmartThings hub device is located…

Upgrading from prior versions:

  • If the existing creator device is not working with the updated driver, the creator device can be deleted and recreated without affecting existing virtual devices. Ensure the latest driver is installed to your hub by checking the driver version. Once the updated driver is on your hub, you can delete the existing creator device, then perform an Add device / Scan for nearby devices, and a new creator device will be created.

Current Driver Version as of 8/1/23: ** 2023-08-01T15:09:45.521809442**


If you have any problems, it would be helpful to get a log output, but for that you will need the CLI:

smartthings edge:drivers:installed
smartthings edge:drivers:logcat <driverID> --hub-address=<hub ip addr>
62 Likes

Does it automatically run every time you put the hub in pairing mode? Any way to kill it so you can pair other devices?

Not sure what you mean. The initial scan nearby is just to initialize the driver and create a ‘creator-device’. From then on any new scans initiated are ignored. The virtual devices themselves are created via the settings options within the creator-device. You may need to try it out to see what I mean.

2 Likes

ah, interesting. will play later when I can get a log opened.

This works great!
Amazing work @TAustin
Any chance of a dimmer?

2 Likes

This is great. Lot of my automations run in the cloud due to virtual switches. This will allow them to now run locally.

1 Like

Ah right. I’d got so fixated with the driver discovery process that I didn’t think about being able to generate more devices from a device life cycle.

Ironically I use the update() method in a DTH to do a broadly similar thing, albeit with child devices.

Serves me right for not following the Hello World example and trying to throw in custom capabilities which didn’t work.

3 Likes

A virtual presence sensor (on = present, off = not present) might well be a real game changer for me.

Much as I like messing around with code, the Edge drivers really don’t have any appeal to me so the less I need to do with them the better.

4 Likes

+1 on virtual presence sensor

6 Likes

@TAustin Virtual Motion works well with IFTTT connected to Wyze.
Fyi after creating virtual device, renaming and moving to different room, and if you go to vEdge Creator, and type 0 for same type of device, it does not delete virtual device(s). This is good

1 Like

My first installation of a community created edge driver, most excellent thank you @TAustin

I do have a suggestion, on the drivers main page, under the instructions, would it be possible to have a count of the devices already created, or a list of the devices names once they are created and renamed similar to the old DTH of v switches which used to list the created devices

Even if not possible it is an excellent driver, thank you

1 Like

@TAustin,
I have tested the 4 virtual devices with automations and scenes and they work very well.
In the logcat I have not seen any errors during the installation and operation with the automations.

If it was possible to add the virtual dimmer, I would use it to encode a sequence of multiple button presses to arm away, at home and disarm STHM.

Great job !!!, Thanks

2 Likes

Echo also instantly found the created v switch and motion sensor I created as a test, I mean, really instantly :+1:

2 Likes

So can you use these to trigger a echo routine? How do you actuate the virtual Sensor?

RIght; that works as intended. If you want to delete devices, you can delete them manually.

If you do change a setting to 0. You’ll have to use an incremental number to get more devices created. It simply subtracts the last number from the new number to determine how many devices to create.

Yes, you should be able to trigger an echo routine with a virtual contact. You trigger a virtual sensor by turning the included switch on and off (on == ‘open’ or ‘active’, off == ‘closed’ or ‘inactive’).

2 Likes

Thanks for the feedback!

I’ll look at a virtual dimmer type. I may have more question for you on that one, but will get back to you.

1 Like

Virtual dimmers have in the past been used a couple of different ways:

  1. to act as a master control for a group of dimmers

  2. to act as a Value holder for a variable that can have more than two values. For example, some people use them for fan settings, some people use them for sound levels, some people use them for humidity ranges.

Adding a count would be fairly easy; a list might be a bit more challenging to format nicely. Will consider…

Thanks for your comments!

1 Like

Presence sensor: will do!

5 Likes