I have isolated what looks like a problem with basic behavior of a simple routine. I might be overlooking something obvious, but at the risk of looking foolish, I thought I’d post here so someone more knowledgeable could either confirm what I am seeing, or point me in a better direction. I have created a simple setup to demonstrate what appears to be unusual behavior.
T1, T2, and T3 are virtual switches created in SmartThings Lab in the SmartThings App
I duplicated your behaviour (Turning on T1 with T2 already on also turns on T3) with the Labs->Virtual Switch implementation.
However, if you use one of the community virtual switch implementations (I tested with TAustin’s) then you get what behaviour you expected to get. If T1 is off, T2 is on and T3 is off, and you turn on T1, T3 does NOT turn on. This is what I assumed would have happened as well.
This appears to be that the built in virtual switches have different rules to play by. Normally if an Edge device is already in a state and its requested the device change into that same state, no rules or logic run. Labs Virtual Switches do not appear to have to conform to that rule. If a Labs virtual switch is already in its state and its requested to go into the same state, rules will run again.
Who would have guessed that the problem was with the Labs Virtual Switch implementation ! Thanks so much for recreating this behavior and identifying the reason for the problem and also identifying a solution to use TAustin’s virtual switch implementation. This is a great help !
The default behaviour of SmartThings is to only propagate events as far as automations if there is a state/value change. However sometimes it is desirable to override that behaviour. For example buttons don’t have a standby state (the one in the app is faked) so unless all events are propagated they wouldn’t work, and sometimes you just want to see every event.
For whatever reason the Virtual Switch DTH was also written so that all events are propagated. There is no right or wrong about it.
I am unable to successfully load the TAustin device on my V2 hub. I can load the driver on my hub, but the device doesn’t load into the unassigned room. The developer does not know why. Are you aware of another virtual device driver that might do just as well. Maybe a different driver will load successfully.
Thanks! I was able to succeed installing the second Edge driver called Virtual Things Edge Driver. It is working. I appreciate very much you taking the time to answer my question and pointing me in the right direction.