If you want to keep the devices, created by the driver, the driver should not be deleted. In fact, I think attempting to delete the driver with devices should fail with ‘driver in use’ error.
If the driver was indeed removed due to some platform’s issue, but you still have the devices, I really doubt they are functioning properly.
If you can confirm the virtual devices are responding and the automations, associated with them keep working, I will assume the driver was not deleted.
I did not do any modifications to the driver since the last update. Not even to my dev channel. So, the first thing to investigate is whether drivers stops responding after some period of time due to some other issues, perhaps network disconnect. Another thing I’d like to check is whether it could be related to the amount of virtual devices, created with the driver or even with the specific type of the virtual device.
Can you please confirm the virtual devices, created with the driver responding and working correctly?
What status for the virtual devices and controller do you see in IDE?
How many virtual devices were created with the driver?
What kind of device you were trying to create when the Controller got stuck?
How many devices of that type you managed to create (before the unsuccessful attempt)?
Would it be possible to retrieve the logs from the driver? You will need to install smarthings cli and run it from the command line.
It looks like I currently using 8 virtual switches, 1 contact sensor and 1 presence sensor created by your vDevController. All virtual switches are use as Alexa triggers.
Experimenting I created another 6 to 12 devices, but later deleted then.
They all appear to work except for the presence sensor. It will not change state using the button. When I open the device it shows ON and NOT PRESENT.
The driver and all virtual devices created show as on line in the IDE.
I do not have CLI installed. Is this something you install on a PC or mobile device?
I am going to delete the nonfunctional presence sensor to see if that makes any difference.
So I deleted the non operational presence sensor, cleared the cache, force stopped the app and that did not fix anything.
So I then deleted the vDevController and reinstalled it twice and both times it shows as off-line in the app but on line in the IDE. There are no buttons or switch’s when I open the device tile.
I rebooted hub, forever stopped the app, and cleared the cache. Nothing gets the vDevController online.
Everything else I have checked in my system works.
I am also still able to create virtual devices using TAustin’s vEdge Creator
open the command window
Windows key->Run , type cmd and press enter
open the downloaded archive into the same folder as the default for your cmd
( you can type explorer . to open the explorer window and copy smartthings.exe into this folder
from cmd, run smartthings smartthings.exe edge:drivers:logcat --hub-address=<hub address>
select the driver
If everything is fine you will see listening for logs... |
After this, delete controller and scan for devices again. Please do not uninstall the driver, only delete the controller
Wait for controller to be created, you should see the logs.
If the controller has any capabilities, try to press them
Please copy & paste the logs here.
Thank you
Hi @Paul_Oliver ,
This is great, thank you.
I think I have an idea what might be wrong.
Do you have vSwitch1 currently?
If so, is it possible to rename it to something else, like vSwitch1old or vSwitchDoor or anything that not is the exact match to vSwitch<number>
?
Then try to create a new switch with the Controller.
Thanks
@Paul_Oliver
This is not something I expected.
Let’s try to see the drivers and devices your hub see.
Drivers first.
From cli, type
smartthings edge:drivers:installed
You will be prompted to select the hub. Press 1 (or the hub’s number if you have more and it is not the first). Try to see whether you have more than one entry for “Virtual Things Edge Driver [YG]”
Please post it’s id. IF you have more than one entry, I will need all of them.
Please do NOT post the id of your hub, it is not secure to post it in the public forum.
2. From the cli type
smartthings devices
Try to see all your vSwitch* devices.
Are you able to create a virtual devices of other types?
Regards
@Paul_Oliver
Ok, so I suspect the issue is caused by driver removal without removing all devices first.
Normally, you should not be able to remove the driver if you still have devices, created by it.
However, probably due to some platform issue it did not work as expected and your driver was removed. This is probably an unexpected state for the cloud servers.
Later, you installed the new version of the driver, but this new version does not see the devices, created by the old one.
Do you see the new switch name every time you are trying to create a new switch?
Like pushing once the driver attempts to create vSwitch1, but the next time it would attempt to create vSwitch2, etc.
Every time you are trying to create a switch, the driver should assign a different name.
If you see this behaviour, try to create switch that your hub did not see before. For example, if before uninstalling the driver, you created 5 switches and the last one was vSwitch5, try creating switches until the driver says it is creating vSwitch6.
Also, would it be possible to see whether you have multiple versions of the drivers and a list of devices, as explained above?
Thanks
I never removed the driver, I have only deleted and reinstalled the controller. I apparently used the wrong terminology in previous posts.
So, whenever I reboot the hub, which I have done a lot lately due issues with various beta Edge drivers the vSwitch count always goes back to vSwitch1. And I have no way to change that numbering, it is automatically assigned.
So as an experiment I keep pushing the on/off button until I got to vSwitch12 and at that point it actually created a functional switch. I have since created a vSwitch13.
So the problem is that after the hub reboots the controller goes back to creating vSwitch1 which was already created. I always rename my devices, so none are called vSwitch1, but obviously they is some ID that your controller sees.
@Paul_Oliver ,
That is very interesting info, thank you.
The reason that it is not possible to set the counter is because the driver will lookup for the first available(free) name by itself.
It will iterate over all names and find the first available. It will also remember the first available number, so the next time you create the thing it will find the available name faster.
It seems however, that the cloud remembers the names of the created devices and prevents creating the new one even if the device was later
renamed and the name is currently available.
It is probably a platform issue that needs to be addressed by the ST team, but I might have a workaround for it.
I will keep you updated.
I really don’t feel comfortable to require from the user to keep the track of devices and manually set the counters after each hub reboot. I will be looking into more elegant solution.
@Paul_Oliver
I uploaded the new version 1.2 that I hope fixes the issue you reported.
After hub reboot/driver update the driver should be able to find unused name/network id and create device successfully.
Regards
Good evening. Could you please create me this virtual device “Plug (can be used as a trigger source in Alexa as it contains hidden contactSensor capability)”. Thank you very much