Evaluating if a Virtual Switch has Changed


#1

Back when I was using CoRE (prior to WebCoRE), I created a virtual switch (aka “simulated switch”) named UPSTAIRS. This switch was made available to my Amazon Echo using the SmartThings SmartApp of the same name. I then setup a CoRE piston which would perform one set of actions when I would say “Alexa, turn on UPSTAIRS” and a different set of actions when I would say “Alexa, turn off UPSTAIRS”.

If the UPSTAIRS virtual switch was already ON and I told my Amazon Echo to turn it ON, my CoRE piston would still perform the steps under “If UPSTAIRS changes to on”. And if the switch was already OFF and I told my Amazon Echo to turn it OFF, my CoRE piston would still perform the steps under “If UPSTAIRS changes to off”. This worked really well and I setup similar functionality in other CoRE pistons.

When I switched to WebCoRE, I quickly found that if the virtual switch is already on and I tell my Amazon Echo to turn it on, my WebCoRE pistons will not perform the actions under “If the virtual switch changes to on”. And the same problem happens if the switch is already off and I tell my Amazon Echo to turn it off.

I understand that WebCoRE is actually correct because in these cases, the switch doesn’t really “change to” the new state, but it would be great if something could be changed or added in WebCoRE so that if you attempt to change the switch with the Amazon Echo, it could perform the actions in the WebCoRE piston even if the switch was already in the same state.

SUGGESTION — When adding a “condition” to a WebCoRE piston, I select:

  • What to compare = Physical device(s), UPSTAIRS switch
  • Which interaction = Any interaction
  • What kind of comparison? = changes to
  • Compare to = Value on
    OR
  • Compare to = Value off

Can a new selection be added under “What kind of comparison?” and call it something like “attempted change to”?


Trigger Piston When Device Is Target of Command
#2

You’ve definitely got my vote for this addition!