DST <> EST Swtichover Piston Pause


#1

1) Give a description of the problem
The attached piston will likely work to alleviate the normal DST <> EST switchover issues with ST but it doesn’t seem to be written very efficiently. Just looking for any alternatives.

2) What is the expected behavior?
See #1

3) What is happening/not happening?
See #1

**4) Post a Green Snapshot of the piston![image|45x37]

5) Attach any logs (From ST IDE and by turning logging level to Full)
N/A

TIA


#2

Hi there,
Where I live (Hawaii) we don’t change time, so I never encountered with the issue. My comment is going to be about the piston.
I have never tried this many pauses simultaneously but I have a feeling it might
create problems (uneducated guess)
I would try 3 pauses and wait a minute 3 more wait a minute
same goes for resume of course.


#3

Thanks for the thought. I’ll have to set up a test tomorrow to see if it’ll even run properly as is. I’ll post back after that.


#4

@ike2018
I decided to just do six in a row and then put a 10 second wait in before doing the the remaining six. I then added a 1 minute wait after doing all the pauses and then resuming them again in the same manner as the pauses. Worked like a charm. Thanks for the suggestion.

However, the original question still remains: I was looking at a way to do this with a loop rather than the brute force method I’m using now. I wasn’t able to think of a way to do it. So, is there a better way to program this?


#5

You are so welcome. I am glad it worked.
Unfortunately I don’t know the answer to your original question because
a) personally I stay away from pausing/resuming pistons. I have around over 100 pistons and I believe only 2 or 3 pauses when they must.
b) I never had to deal with time change problem but I know tons of Pros here who could answer that…


#6

I normally don’t pause pistons either (I only have one other piston that I pause), but the one of the available remedies to piston timing being off by one hour after DST <> EST changes is to pause and restart pistons that need to have correct times the following day, after the switchover happens . Pausing and restarting causes the pistons to reload and recalculate their timers. Another solution is to put a no-operation action in each desired piston. Again, this causes the piston to reload and recalculate.

I wish daylight savings didn’t happen here either. To me, it’s silly and disruptive - and I’m not just talking about SmartThings and webCoRE.


#7

You might be able to do a loop by listing all the pistons in an array using the web address. Then you could loop $index=1 to count(list). I would have to experiment with syntax but seems like it should be possible.


#8

That’s an interesting thought. Thanks!


#9

Well, an interesting thought but I can’t figure out how to execute a piston whose name or web address is stored in a variable. The only option for pausing a piston is to select from the list of pistons.