Piston executing on the wrong dates


#1

1) Give a description of the problem
I have a birthday reminder piston that worked really well last year. Now it appears to be confused about the date, it is setting a variable to true on days it shouldn’t.

2) What is the expected behavior?
Example: On June 25th only, set @@familybirthday variable to true. I check the variable in other pistons.

3) What is happening/not happening?
It set my @@familybirthday variable to true today, 1/15. It has also set another birthday variable to true several times this year already when it shouldn’t. I see it setting the variable in the logs, I just don’t understand why…

4) Post a Green Snapshot of the pistonimage

5) Attach any logs (From ST IDE and by turning logging level to Full)
1/15/2019, 6:14:58 AM +127ms
+0ms ╔Received event [Home].time = 1547550899476 with a delay of -1350ms
+166ms ║RunTime Analysis CS > 32ms > PS > 82ms > PE > 52ms > CE
+169ms ║Runtime (47344 bytes) successfully initialized in 82ms (v0.3.109.20181207) (168ms)
+170ms ║╔Execution stage started
+386ms ║║Executed virtual command sendPushNotification (196ms)
+394ms ║╚Execution stage complete. (224ms)
+398ms ║Setting up scheduled job for Wed, Jan 16 2019 @ 1:00:00 AM EST (in 67501.475s), with 7 more jobs pending
+407ms ╚Event processed successfully (407ms)
1/15/2019, 4:59:59 AM +149ms
+1ms ╔Received event [Home].time = 1547546400000 with a delay of -851ms
+202ms ║RunTime Analysis CS > 30ms > PS > 82ms > PE > 89ms > CE
+205ms ║Runtime (47344 bytes) successfully initialized in 82ms (v0.3.109.20181207) (202ms)
+206ms ║╔Execution stage started
+311ms ║║Cancelling statement #2’s schedules…
+316ms ║║Executed virtual command setVariable (1ms)
+320ms ║║Cancelling statement #6’s schedules…
+325ms ║║Executed virtual command wait (0ms)
+326ms ║║Requesting a wake up for Tue, Jan 15 2019 @ 6:14:59 AM EST (in 4500.0s)
+338ms ║╚Execution stage complete. (133ms)
+343ms ║Setting up scheduled job for Tue, Jan 15 2019 @ 6:14:59 AM EST (in 4499.985s), with 8 more jobs pending
+352ms ╚Event processed successfully (351ms)
1/15/2019, 12:59:59 AM +279ms
+0ms ╔Received event [Home].time = 1547532000000 with a delay of -722ms
+217ms ║RunTime Analysis CS > 33ms > PS > 106ms > PE > 78ms > CE
+221ms ║Runtime (47345 bytes) successfully initialized in 106ms (v0.3.109.20181207) (220ms)
+223ms ║╔Execution stage started
+302ms ║║Cancelling statement #45’s schedules…
+307ms ║║Executed virtual command setVariable (1ms)
+312ms ║║Executed virtual command setVariable (2ms)
+320ms ║╚Execution stage complete. (98ms)
+325ms ║Setting up scheduled job for Tue, Jan 15 2019 @ 5:00:00 AM EST (in 14400.397s), with 7 more jobs pending
+335ms ╚Event processed successfully (334ms)


#2

Your piston sure looks right. Seems like a glitch in the system. Are you getting the Kelsey message or the Dexter message or is it inconsistent?


#3

I suspect this is because you have 7 identical triggers in the same piston.
(all firing at the same instant)

If it were me, I would code the same way, but use different times for each, and drop the waits entirely.

For example, change this:

Every day at 5AM on the 29th of June
do
    Set variable
    Wait 75 minutes
    Send PUSH
End every

to this:

Every day at 6:15AM on the 29th of June
do
    Set variable
    Send PUSH
End every

#4

Today I got the Kelsey message. I also got the Melissa message and the Capri message earlier this month already. It’s odd to me that it worked pretty flawlessly in 2018 but in 2019 it’s a little schizophrenic. Not sure what to try to fix it besides maybe re-creating the piston altogether…

The familyBirthday variable is particularly problematic because I use it to play a loud semi-startling “Happy Birthday” recording on first motion in the morning when set to true :smiley:


#5

Thanks for the idea, I’ll try that.