Thermostat Protection with Over Ride Option


#21

So tried the piston again today before creating a second as you suggested, and wouldn’t you know it worked on the first try. No idea why, SmartThings voodoo I guess…lol. I’ll keep trying it over the next day or too. If it continues to work, going to try and make the override a little more complicated then just turning a switch on. Maybe a combination of one or more. Here were the logs I just generated…

f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Comparison (decimal) 70.0 is_different_than (integer) 68 = true (3ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Condition #13 evaluated true (4ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Comparison (enum) off changes = true (1ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Condition group #2 evaluated false (state did not change) (10ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Condition group #null evaluated true (state did not change) (8ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Condition #6 evaluated false (9ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Condition #1 evaluated true (6ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║║ Comparison (string) :544a9b992c238a89c379073fefaa7fe1: is_any_of (string) :544a9b992c238a89c379073fefaa7fe1:,:aa4b274e22d2f4c0001b65e07d3b32bd: = true (2ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: trace ║╚ Execution stage started
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: trace ║ Runtime (39615 bytes) successfully initialized in 39ms (v0.3.000.20180224) (75ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: debug ║ RunTime Analysis CS > 14ms > PS > 39ms > PE > 23ms > CE
f4e0b420-1681-4916-bfe8-008b41766374 7:30:44 PM: info ╚ Received event [KIT Lights].switch = off with a delay of 696ms
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition #13 evaluated true (5ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling condition #10’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition group #10 evaluated true (state changed) (17ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling condition #13’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: info ╔ Event processed successfully (193ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition group #2 evaluated false (state changed) (12ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition #1 evaluated true (6ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: trace ║╔ Execution stage complete. (95ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition #6 evaluated false (10ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: trace ║║ Executed virtual command cancelTasks (8ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling statement #11’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition #15 evaluated true (9ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Comparison (enum) on changes = true (1ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling condition #6’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Condition group #null evaluated true (state did not change) (8ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: trace ║║ Executed virtual command sendPushNotification (9ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling condition #15’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Comparison (string) :544a9b992c238a89c379073fefaa7fe1: is_any_of (string) :544a9b992c238a89c379073fefaa7fe1:,:aa4b274e22d2f4c0001b65e07d3b32bd: = true (3ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Comparison (decimal) 70.0 is_different_than (integer) 68 = true (2ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║║ Cancelling condition #2’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: trace ║ Runtime (39615 bytes) successfully initialized in 55ms (v0.3.000.20180224) (94ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: debug ║ RunTime Analysis CS > 16ms > PS > 55ms > PE > 23ms > CE
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: trace ║╚ Execution stage started
f4e0b420-1681-4916-bfe8-008b41766374 7:30:43 PM: info ╚ Received event [KIT Lights].switch = on with a delay of 734ms
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: trace ║║ Executed virtual command [KIT Thermostat].sendPushNotification (10ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Cancelling statement #3’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Cancelling condition #6’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: info ╔ Event processed successfully (136ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: trace ║╔ Execution stage complete. (58ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Condition group #null evaluated true (state did not change) (8ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Condition group #2 evaluated true (state changed) (10ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Condition #1 evaluated true (7ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Cancelling condition #2’s schedules…
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Condition #6 evaluated true (7ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║ RunTime Analysis CS > 12ms > PS > 38ms > PE > 17ms > CE
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: debug ║║ Comparison (string) :544a9b992c238a89c379073fefaa7fe1: is_any_of (string) :544a9b992c238a89c379073fefaa7fe1:,:aa4b274e22d2f4c0001b65e07d3b32bd: = true (2ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: trace ║╚ Execution stage started
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: trace ║ Runtime (39632 bytes) successfully initialized in 38ms (v0.3.000.20180224) (66ms)
f4e0b420-1681-4916-bfe8-008b41766374 7:30:40 PM: info ╚ Received event [KIT Thermostat].heatingSetpoint = 70 with a delay of 53ms


#22

yeah that log looks like what it should look like when you trip the switch.


#23

Yeah, very strange. I’ll keep an eye on it an update in a few days. Thanks again for all the help!!!


#24

So after messing around with it a few days, it was extremely unreliable. Sometimes it worked, sometimes it didn’t. I had time to look into it a little further and it appears that the Nest Thermostat doesn’t update it’s status right away. It polls every 5 minutes. So, if I don’t hit the override when it’s close to polling, it doesn’t register. I ended up just creating a virtual switch. If it’s on the piston is overridden. I think I will pick up a small z-wave switch and hide it somewhere and use that to trigger the virtual switch.


#25

wait why do you need the zwave switch to trigger the virtual switch?


#26

Not sure if this would help, but could you put a refresh of the thermostat somewhere in your piston? Maybe that will force it to update before the next scheduled poll.


#27

I don’t, guess it depends on how the switch I buy works (i.e. toggle or separate on/off buttons). Never looked into what is available.


#28

Worth a shot, I’ll try it out.