Long delay for Piston to Fire based on outside event


#1

I am using motion detection on a camera to fire a piston via an HTTP GET. My NVR sends email about the even instantly after motion is detected. Also the event time is without 2 seconds of the event.

The problem is that the Webcore piston is fired 3 - 5 minutes after the event occurs. Even though the event is clearly triggering the piston, the piston waits for 3 -5 minutes before execution.


#2

Same result (delay) if you trigger it manually using the piston URL?


#3

After a few days I discovered the trick. As it turns out the “Stays Unchanged” test for a physical switch effectively asks if a change has not taken place. The test “Stays Unchanged” for the virtual device “Location Mode” actually pauses for the specified time for now and into the future. Not at all what I expected. By executing the piston directly and then watching the full logging information, I could see the “wait” taking place real-time.


#4

The command “stays unchanged” is a trigger. Normally, when I call a piston via URL I make sure there are no triggers in that piston whatsoever. You should see this up top once saved:

This is because a trigger will never fire at the exact moment a URL request comes in