Piston double triggering


#1

1) Give a description of the problem
I have a piston that should trigger when my phone and arrival sensor are both gone for at least 2 minutes. this piston was working with core, but is now double-triggering (i’m getting 2 notifications).

2) What is the expected behavior?
I expect the piston to only trigger once.

3) What is happening/not happening?
What’s strange is that the piston correctly detects my phone presence stays not present for at least 2 minutes and calls the executePiston command (as it should). but then, it evaluates the conditions again and finds they are true again and appears to call the executePiston command again. why is it checking the conditions again in the same run of the piston?

4) Post a Green Snapshot of the pistonimage

5) Attach any logs (From ST IDE and by turning logging level to Full)
12/21/2017, 7:19:29 PM +351ms +0ms ╔Received event [Vavas].time = 1513905569974 with a delay of -624ms +126ms ║RunTime Analysis CS > 18ms > PS > 25ms > PE > 83ms > CE +129ms ║Runtime (40671 bytes) successfully initialized in 25ms (v0.2.100.20171211) (128ms) +130ms ║╔Execution stage started +139ms ║║Cancelling condition #5's schedules... +140ms ║║Condition #5 evaluated true (2ms) +149ms ║║Comparison (enum) not present is (string) not present = true (1ms) +150ms ║║Condition #6 evaluated true (10ms) +155ms ║║Comparison (string) :c8363c25d580d7f688cb7ab7913a1d4a: is_not (string) :6b5f45718d89abfcd487e5366d5a341f: = true (2ms) +157ms ║║Condition #7 evaluated true (6ms) +158ms ║║Cancelling condition #4's schedules... +159ms ║║Condition group #4 evaluated true (state changed) (21ms) +160ms ║║Cancelling condition #1's schedules... +161ms ║║Condition group #1 evaluated true (state changed) (23ms) +163ms ║║Cancelling statement #2's schedules... +173ms ║║Executed virtual command executePiston (5ms) +177ms ║║Fast executing schedules, waiting for 467ms to sync up +655ms ║║Cancelling condition #9's schedules... +656ms ║║Condition #9 evaluated true (2ms) +665ms ║║Comparison (enum) not present is (string) not present = true (1ms) +666ms ║║Cancelling condition #10's schedules... +667ms ║║Condition #10 evaluated true (10ms) +672ms ║║Comparison (string) :c8363c25d580d7f688cb7ab7913a1d4a: is_not (string) :6b5f45718d89abfcd487e5366d5a341f: = true (2ms) +673ms ║║Cancelling condition #11's schedules... +674ms ║║Condition #11 evaluated true (6ms) +675ms ║║Cancelling condition #8's schedules... +676ms ║║Condition group #8 evaluated true (state changed) (22ms) +677ms ║║Condition group #1 evaluated true (state did not change) (26ms) +679ms ║║Cancelling statement #2's schedules... +690ms ║║Executed virtual command executePiston (6ms) +693ms ║╚Execution stage complete. (563ms) +694ms ╚Event processed successfully (694ms) 12/21/2017, 7:17:29 PM +819ms +1ms ╔Received event [Presence: Matt's iPhone].presence = not present with a delay of 204ms +137ms ║RunTime Analysis CS > 22ms > PS > 34ms > PE > 82ms > CE +140ms ║Runtime (40685 bytes) successfully initialized in 34ms (v0.2.100.20171211) (138ms) +141ms ║╔Execution stage started +153ms ║║Comparison (enum) not present stays (string) not present = true (2ms) +155ms ║║Adding a timed trigger schedule for condition 5 +157ms ║║Condition #5 evaluated false (10ms) +158ms ║║Condition group #4 evaluated false (state did not change) (11ms) +173ms ║║Comparison (enum) not present stays (string) not present = true (2ms) +176ms ║║Adding a timed trigger schedule for condition 9 +178ms ║║Cancelling condition #9's schedules... +179ms ║║Condition #9 evaluated false (19ms) +180ms ║║Condition group #8 evaluated false (state did not change) (20ms) +187ms ║║Condition #13 evaluated false (6ms) +188ms ║║Condition group #12 evaluated false (state did not change) (7ms) +189ms ║║Condition group #1 evaluated false (state did not change) (43ms) +192ms ║╚Execution stage complete. (52ms) +194ms ║Setting up scheduled job for Thu, Dec 21 2017 @ 7:19:29 PM CST (in 119.962s), with 1 more job pending +202ms ╚Event processed successfully (202ms)