Momentary Button Too Quick?


There is no way to stop this. If you are subscribed to Device’s switch, then each time that switch changes (to either on or off), the piston runs thru the entire piston, top to bottom.

A Momentary Button Tile does this internally, but still triggers the piston twice

A Simulated Switch can also be automatically reset, but YOU get to decide when.
(This is my preferred method… I usually reset as the very last command sent)

For reference, here is a sample pic showing a Momentary Button Tile’s double trigger.
(with a semaphore delay in between)


(I only pressed the button once, but notice there’s only 0.077 sec between triggers)


so after trying this out a bunch more times, i’ve learned a few things:

  1. the order at which the events are received is never consistent. My particular DTH sends “switch on”, “switch off”, contact open, contact closed, and momentary pushed. Each time I push the button the logs receive these events in a different order.As such, I cannot count on the order of events in the DTH to execute in sequence. This seems to be a limitation of SmartThings.
  2. existing official documentation for classic DTH’s describe functions that are broken such as…
  3. the "delay N", delayBetween, and runIn() commands are all broken
  4. The “pushed” event for a momentary switch doesn’t even register in the logs, so it may as well not exist.

Basically, the Momentary function in ST is worthless, despite it being technically available. I agree now with everyone else that I’m better off just using a normal switch and closing it at the end of my piston. Thanks for help guys