Pistons with waits failing [TCP piston state change]


#7

Last night I did not show any updates available in IDE. This morning I did, updated all 4 apps, hard reloaded dashboard, edited and resaved piston. Still having the same problem. Logs show a wake-up requested, but Quick Facts show no next job scheduled.

image

The wait never executes, time goes positive and turns red in the trace gutter:

Here’s the piston. I have a couple other like this that are exhibiting the same behavior. This all started yesterday afternoon, everything was working fine before then.


#8

The recovery here suggests that something in the piston execution is timing out, coupled with the occasional 10-15 second delay when scheduling works I wonder if it’s the scheduling that times out. I have seen the 10-15 second delay today as well with the simple wait piston.

@destructure00 do you get anything in the logs triggered by a recovery a few minutes later or anything in the Live Logging tab at account.smartthings.com for this piston?


#9

Normally I’d assume it was another clumsy mistake in my code, but even I couldn’t muck up that example! Just for the heck of it, knowing there was no chance it would do any good, I did reboot my hub and reset my webCoRE cache. Yeah, I know … :thinking:

Any suggestions on how to get someone’s attention at ST on this? (Hey @ady624 , where are you? :grinning:) I’m having to pause several key pistons that have now become wholly unreliable.


#10

Live logging in IDE matches the piston log, nothing extra there. I also do not see any recovery happening in the piston logs.


#11

So one of my pistons with waits is working this morning. I do see a difference in the logs between that one and the one that’s not working. This one that’s working has a Trace log that requests a wake up and an info log that sets up a scheduled job:

This one does not work. It has the same trace log requesting a wake up but it’s missing the info log setting up a scheduled job:


#12

We have a few @ST_Staff members here who may get the notification about this change affecting scheduling and take action, but otherwise community.smartthings.com is the best place to reach out since others outside of webCoRE are likely experiencing similar problems. The only topic I see so far that is possibly related is Platform timeouts a lot now from 13 hours ago. I would start by replying on that topic with as much detail as you can muster. ST would need to know which shard you are on (the URL you get redirected to after signing in at account.smartthings.com).

@ST_Community_Devs does anyone have time to whip up a smart app to test this so that an example can be provided that does not rely on webCoRE? If this is a scheduling problem it should boil down to inconsistent behavior of runIn() with short timeframes, whereas before and confirmed to be resolved as of today we were having trouble with schedules > 25 days in the future.


#13

Just for reference here, I am on the https://graph-na02-useast1.api.smartthings.com/ shard.


#14

Thanks, I am on https://graph.api.smartthings.com/


#15

https://graph-na02-useast1.api.smartthings.com here


Piston using a 5 second wait is looping?
#16

The latest reply in the SmartThings community topic suggests that it is definitely a related issue, for anyone that did not see the earlier link we are also discussing this over here:


Piston stops prematurely
#17

I am having some very similar problems with some of my pistons. I created similar rules in both Smart Things and in Smart Rules. Both seemed to execute close to the expected times. My problems also started immediately after I updated to the latest revision. The pistons had been working fine up until that point.


#18

Yesterday’s updates over at ST killed off CoRE as well until we get a few code tweaks out. Seems like a java version update has taken out a number of smart apps. Possibly a contributing factor in these scheduling issues.


#19

“We upgraded major versions of Groovy yesterday for executing SmartApps and DeviceTypeHandlers, which included some rather major changes to the language.”

Seems like their changes have affected quite a few SmartApps :frowning: … would’ve been nice to alert developers :angry:


#20

The ‘wait’ issue seems to have been resolved as of about an hour ago. Will do more confirming tests in the AM.


#21

I’m seeing the same, was testing time scheduled and waits to compare between webCoRE and SmartRules but everything was running on time.


#22

The piston I posted above is still not working correctly. Same exact issue as before.


#23

#24

Thanks. I think there’s either a different problem happening now or something wrong with the piston itself then. I created a new piston with a simple wait and it’s working. The one posted above still has the same problem. The glaring issue I see is the trace log that says its requesting a wake up, but there’s no info log that shows it’s setting up a scheduled job. See post 11 for screenshots. Quick Facts also shows Never for next scheduled.

I tried duplicating the piston, same issue. Also tried recreating from scratch, also same issue.


#25

Dug a little deeper. It’s specific to the TCP Cancel on Piston State Change. If I remove that setting from my switch block tasks, the waits work correctly.

Piston snapshot:

TEP and TCP Set:

Trace shows wake up requested, info does not show a scheduled job, task after wait never executes:

Gutter timer is positive/red:

Quick facts shows no next schedule:
image



Now if I leave TEP set as-is and remove TCP:


Trace shows wake up requested, info shows a scheduled job now:

Quick facts shows a next schedule:
image
Set State task after the wait executes:

So…the question is, is there a problem with my logic in the piston, or is this a bug?


#26

@ipaterson any thoughts on my last post?