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

I suspect the icon problem may be particular to LAN type devices; perhaps zigbee & zwave ones are more stable. These virtual devices are defined as LAN type devices to enable the ability to create devices on the fly like I do. The Edge driver function (try_create_device) is only available to LAN devices at the moment. Once Edge adds a ‘virtual’ type device, which I think they will eventually do, I’ll switch this driver over to use that. But hopefully the icon issue will be sorted out by then regardless.

No it isn’t. The stock Zigbee Motion and Zigbee Contact drivers do the same thing. The only Edge Driver I have where the icon lingers is a Zigbee Button written by @iquix where the ocfDeviceType is included in the profile metadata. The other drivers don’t use that, they rely on the categories.

I think there will definitely be a mechanism for creating genuine virtual devices, that is to say ones that simulate the behaviour of the real thing. I’d be a bit surprised if they were implemented as Edge drivers though. Their natural home would seem to be the cloud to me.

Then users would have to have some other place to host them. Which adds additional complexity. And they won’t run local.

Being able to host them on an existing smartthings hub is an advantage for a lot of power users.

Whether being able to run local is a real advantage or not depends on the use case. And, as you mentioned, what other functionality the platform offers by then.

Well yes, except the local option is already available. Edge drivers can be used to create virtual devices that run locally if they are what users want. The cork can’t go back in the bottle.

Where a solution is needed is for when you have to, or it makes more sense to, run automations and apps in the cloud. If your home internet goes down, or you don’t have any hubs to start with, Edge driver based virtual devices are useless to you.

I don’t think we should make assumptions about where anything could be hosted. We can already create our own self-hosted virtual devices if we want to. What ST choose to host themselves is up to them. Just because they want to move SmartApps away doesn’t mean everything has to go.

1 Like

I add in metadata the ocfDeviceType in all profile files. yml and they are not lost, they show well in all views and automation, as recommended by @iquix

metadata:
  deviceType: Light
  ocfDeviceType: oic.d.light
  deviceTypeId: Light

I use a list recommended by @Automated_House and posted by .
@orangebucket

2 Likes

Perfect; I was going to ask if there was a list. I can try changing all the profiles. Just not sure how “strategic” this method is, but if it works for now we can go with it.

1 Like

This is an updated device type list for those who want the correct icon for their massage chairs. I’ve updated the list in the referenced thread, and also in another place I posted it …

List updated 9th October 2021.

Device Type ocfDeviceType
Air Conditioner oic.d.airconditioner
Air Purifier oic.d.airpurifier
Air Quality Detector x.com.st.d.airqualitysensor
Battery x.com.st.d.battery
Blind oic.d.blind
Blu-ray Player x.com.st.d.blurayplayer
Camera oic.d.camera
Contact Sensor x.com.st.d.sensor.contact
Cooktop x.com.st.d.cooktop
Dishwasher oic.d.dishwasher
Door Bell x.com.st.d.doorbell
Dryer oic.d.dryer
Elevator x.com.st.d.elevator
Fan oic.d.fan
Feeder x.com.st.d.feeder
Garage Door oic.d.garagedoor
Gas Valve x.com.st.d.gasvalve
Health Tracker x.com.st.d.healthtracker
Hub x.com.st.d.hub
Humidifier x.com.st.d.humidifier
IR Remote x.com.st.d.irblaster
Irrigation x.com.st.d.irrigation
Leak Sensor x.com.st.d.sensor.moisture
Light oic.d.light
Light Sensor x.com.st.d.sensor.light
Massage Chair x.com.st.d.massagechair
Motion Sensor x.com.st.d.sensor.motion
MultiFunctional Sensor x.com.st.d.sensor.multifunction
Network Audio oic.d.networkaudio
Others oic.wk.d
Oven oic.d.oven
Power Meter x.com.st.d.energymeter
Presence Sensor x.com.st.d.sensor.presence
Refrigerator oic.d.refrigerator
Remote Controller x.com.st.d.remotecontroller
Robot Cleaner oic.d.robotcleaner
Siren x.com.st.d.siren
Smart Lock oic.d.smartlock
Smart Plug oic.d.smartplug
Smart Tag x.com.st.d.tag
Smoke Detector x.com.st.d.sensor.smoke
Solar Panel x.com.st.d.solarPanel
Sound Sensor x.com.st.d.sensor.sound
Stove x.com.st.d.stove
Switch oic.d.switch
Television oic.d.tv
Thermostat oic.d.thermostat
Vent x.com.st.d.vent
Voice Assistance x.com.st.d.voiceassistance
Washer oic.d.washer
Water Heater x.com.st.d.waterheater
Water Valve oic.d.watervalve
WiFi Router oic.d.wirelessrouter
Wine Cellar x.com.st.d.winecellar

Just to be clear, this is the list you get offered when creating device profiles in the Developer Workspace. I believe you can just remove the space character(s) from the device types above to get the PascalCase form. I certainly haven’t deliberately changed any spelling. However the source material is very inconsistent with where PascalCase is used.

6 Likes

I want a massage chair in my wine cellar just to have those two icons in ST…

3 Likes

Yes, once I saw massage chair there was no way I wasn’t updating the list.

Other new entries include Battery, Power Meter, Solar Panel and Smart Tag.

It is important to remove the spaces.
If you don’t, it gives a fatal error and the driver may hang.
It happened to me, :grimacing:

metadata:
  deviceType: MultiFunctionalSensor
  ocfDeviceType: x.com.st.d.sensor.multifunction
  deviceTypeId: MultiFunctionalSensor

Sigh, until they add Turkish sauna and Philips Sonicare I’m out.

Device profiles have been updated to improve the icon problem. I pushed a driver update too, but not sure it is required when just profiles are changed. I can definitely see an improvement so far with newly created ones. Affect on existing devices may lag.

Thanks to everyone for recommending this change; much credit due to @iquix for the approach and @orangebucket for the type list!

7 Likes

I’m probably alone in this having this “issue” but does anyone else find that it’s easy to accidently hit the button on the presence sensor and change the presence status?

I have it on my favorites page and sometimes the app glitches while scrolling and I inadvertently trigger the button.

Icons seem to work! I deleted driver, old sensors and istall new ones. Thanks!! :blush:

1 Like

@TN_Oldman I have the same affection and concerns for Kuku Harmony as you, but recently after speaking to a very clever developer, cough cough, my anxiety about it’s possible demise has been dramatically reduced.

2 Likes

I certainly find the app(*) sometimes stops responding for just long enough for me to start swiping and tapping impatiently and then catches me out when it comes back to life. I’ve certainly pressed buttons on tiles by accident when that happens. I’ve done the same on the details page too. The balance is still in favour of having the button on the tile for me.

(*) I don’t want to say it is a SmartThings app specific thing. I think it happens to other apps too.

1 Like

My icons changed overnight.

I’m not sure what the deal is with profiles and driver updates. I have a couple of stock Zigbee Contacts that had been on the wrong profile to start with. They were then changed to another wrong profile. Can’t remember if that changed automatically in the app. Finally they moved to the correct profile but only one changed in the app and even that may have been deleted and reinstalled. The other definitely had to be deleted and installed to get the correct profile. Just waiting or pairing again was insufficient.

1 Like

My icons changed automatically.

Nice work to all!!

My Vedge created smoke detector says ‘checking’ on the tile no matter if on or off

It is not used in any automation but switching on does trigger a Echo smoke detector alert on my phone and Samsung Tv which is good for those that need the function

I don’t see that, I just get a blank space.