I’m getting occasional “Piston waited at a semaphore for 10019ms” type messages in many of my pistons. Here’s a simple example:
Here’s some log information:
9/21/2020, 2:00:24 PM +255ms
+1ms ╔Received event [Motion Sensor 1].motion = active with a delay of 62ms
+10130ms ║Piston waited at a semaphore for 10019ms
+10169ms ╚Event processed successfully (10169ms)
9/21/2020, 2:00:24 PM +153ms
+1ms ╔Received event [Motion Sensor 2].motion = inactive with a delay of 84ms
+161ms ╚Event processed successfully (161ms)
I have two sensor events triggering the same piston at almost exactly the same time. This is going to happen sometimes.
The first event is still being processed when the second comes in so the second needs to wait for execution of the piston from the first event to finish and release the semaphore before the second can be processed.
The first event is processed in 161ms but the second waits over 10s for the semaphore and finally gives up and processing of the second event is skipped.