I’ve built several pistons at this point and largely they work as expected, e.g. IF statements triggered by changes in motion sensors, SHM settings, etc. all trigger when changes occur as I would expect. But I ran into a problem with a Thermostat piston I created. Specifically, I want to adjust the thermostat based upon the outside temperature but to varying set points depending upon the SHM mode.
PROBLEM - The piston is not triggering when the outside temperature changes in my virtual weather station. The weather station refreshes regularly. My first effort was a simple, IF - SHM is X - THEN, and a series of nested IF statements to set the thermostat to different points based upon the outside temp. That didn’t work, but it occurred to me that there wasn’t a “trigger” event to fire the piston. My second effort was to include an additional condition in the top level IF statement to include any CHANGE to the weather station reported temperature. I hoped this would create the necessary trigger. That also failed. The piston never fired.
SOLUTION - I found the magical “Advanced” button on the piston set-up dialog and put in a timer to execute the piston every 60 minutes, which is more than adequate. THIS WORKS. But. . . . . . . .
Why didn’t just a simple conditional IF statement work? It works for my motion sensors, and various other pistons I’ve created. Here though, it fails. What gives?
[Edit - Actual piston inserted for review]