Piston Execution Issue


#1

1) Give a description of the problem
I have a piston that controls the heat. It doesn’t execute correctly when called by another piston but runs correct when executed by running “Test”. The reason I have this executed by another piston is I have it executed a different times based on time/temp/etc.

2) What is the expected behaviour?
I’m expecting the downstairs temp to be set to 72.

3) What is happening/not happening?
It’s setting the temp to 68 most of the time

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

5) Attach logs after turning logging level to Full
(PASTE YOUR LOGS HERE THEN HIGHLIGHT ALL OF THE LOGS AND CLICK ON THE </> ICON TO FORMAT THEM CORRECTLY)

REMOVE BELOW AFTER READING


#2

Just my two cents here…Are you sure you don’t have some other process controlling your thermostat? (Another piston, Auto mode, ST, Google, etc.) This piston cannot set your thermostat to 68 unless the command at line 28, set to heat, is setting it automatically. Then, possibly, the 2 second wait is not long enough for your thermostat to be ready for the heating point at 72 command. A log and trace would help us here.


#3

I guess what has me really confused is why it runs correct when using “Test”. I can’t send a log file has I had to disable the piston due to it not working correct.


#4

It is hard to tell without a log to see what it thinks it is doing, but …

When you say “It’s setting the temp to 68 most of the time”, are you sure that what it is doing, or could it be that the setpoint was 68 before the piston ran and it simply didn’t change it?

I am toying with the idea that command optimisation might be involved and that the piston thinks the setpoint is already set to 72 and so isn’t setting it. Does SmartThings always have the correct reading for the setpoint or can it be changed outside of SmartThings without that being noticed?

If that is the case then command optimisation can be turned off in the piston settings.