I have a routine that fires when I turn on a virtual switch before bed time that turns off all the lights in the house and sets the thermostat temperature. I recently decided to change the heat setting temperature in the thermostat action of the routine. After a few days, I realized that the routine was still using the old temperature setting. I then tried to delete the thermostat action in the routine and replace it with a new one. However, the routine is still setting the temperature to the old setting when it runs. Anyone know if there is someway to clear out what seems to be an outdated version of my routine cached somewhere? I’d rather not have to rebuild the entire routine from scratch.
To try and narrow down if it’s an app issue or a platform issue, check the Routine using the Advanced Web App immediately after changing the temp. Assuming the change is reflected there, check again if it reverts. If it has changed back in the AWA, I’d suggest opening a support case for them to investigate what is causing the change. If they don’t match, I would try clearing the ST app cache after rebooting your phone.
Also, what thermostat model are you using and does it use Zigbee or Z-Wave so Routines are local or is a Wi-Fi model?
It’s a z-wave thermostat. The Routine/Action in the ST app reflects the new temperature and never reflects the old temperature. However when the routine runs, it is setting the old temperature instead of the new temperature. I will do some additional investigation in the Advanced Web App later and report my findings.
Ah, I misunderstood. So, the Routine reflects your desired temperature, but the thermostat is not getting set to that. I think I would do some driver logging with the ST CLI using the “smartthings edge:drivers:logcat” command and watch for the commands being sent to the thermostat to try and narrow down what is going on.
It looks like disabling and re-enabling the routine in the Advanced Web App did the trick. I can’t recall if I ever tried that in the ST app… possibly not.
Update: I was mistaken about it working… when I made my observation, the ST app hadn’t refreshed the device with the most current values.
I lied. I had thought it had worked because shortly after initiating the routine, the ST app indicated that the thermostat was set to the temperature I was expecting. However, that reading was “cached”. A bit later I noticed the physical thermostat had the “old” setting, and the device history shows the older value being set when the routine ran. I’m probably going to build a new routine rather than spend too much time trying to revive it.
Try the “Duplicate” feature in the Routine to create a new Routine and Edit out that setting on the new Duplicate Routine and Save. Disable the old one and test.
So I duplicated the routine and it worked when I told it to set the heat to 70. But when I change it to set to 74 (which has been my goal) it sets it to 72, which was the old setting in the original routine. I’m now wondering if the 72 is just a coincidence. My routine is actually setting both the cool and heat setting at the same time. I’m wondering if there is some logic somewhere that is not allowing them to be too close to each other. The cool is set to 75. However, there is no issue with setting the device to heat at 74 while the cool setting is set to 75 in the ST app control. The result is that the settings are one degree apart.
What are the values set to before the Routine runs?
Usually it’s already at 74 for heat and 75 for cool when the routine runs. So it then lowers it to 72 even thought the directive is to set the heat to 74 and cool to 75.
I’m goin to try modifying the routine to only set heat, and add an action to run a different routine that will only set cool and see if that tricks the thermostat into doing what I want.
After fiddling around with the routines, it seems that setting temps in the routine triggers and enforces a minimum 3 degree differential between the heat and cool settings. However, the device page in the app does not trigger it. So I have no problems manually setting the heat and cool one degree apart in the ST app, but setting it via routine will automatically adjust the other setting (heat vs cool) to a minimum 3 degree difference if it was not already.
Since I use an Alexa phrase to run this routine anyway, I changed it so the Alexa routine is also setting the temperature instead of using the ST routine to do it. Alexa doesn’t distinguish between heat vs. cool set points when defining the routine action, so this may work out better for me. I’m sure it could have some unintended annoyances later… I’m probably going to have to invest my time to set up logic based rules for when to set heat vs. cool temps to get it where I really want it, but I’m procrastinating.