Missing Nest T-Stat Mode: ECO


#1

1) Give a description of the problem
@Mightybuffalo2000 and @c1arkbar previously assisted with this piston but it needed to be changed again. Now I see a missing T-stat mode: ECO.

The GOAL: When patio door (contact sensor) is open > 2 minutes, turn off the tstat so that I don’t air condition the whole neighborhood (yes, I’m turning into my dad! LOL). When the door closes again, turn the tstat back on.

The CHALLENGE: I can’t have it just come back on- it needs to come back on to the same operating mode that it was in when it shut off (modes from the Nest tstat are: heat, cool, auto, eco). Also, it must come back on to the same temperature it was at when it was shut off- BUT the options available within webcore do not allow me to simply choose the temperature… Let’s say the temp was 71. Webcore options force me to choose a HeatingPoint of 71, or a CoolingPoint of 71 (depending on which mode it was originally in). Therefore I broke it out into separate statements.

ECO mode is an available option on the physical tstat device, but it’s not an available mode within the piston’s options. How can I get around that??

**4) Post a Green Snapshot of the piston

5) Attach any logs (From ST IDE and by turning logging level to Full)
12/7/2017, 11:20:37 PM +984ms
+1ms ╔Received event [Slider Door].contact = closed with a delay of 218ms
+179ms ║RunTime Analysis CS > 13ms > PS > 123ms > PE > 43ms > CE
+192ms ║Runtime (40220 bytes) successfully initialized in 123ms (v0.2.0ff.20171129) (190ms)
+193ms ║╔Execution stage started
+203ms ║║Comparison (enum) closed stays (string) open = false (1ms)
+205ms ║║Cancelling any timed trigger schedules for condition 6
+206ms ║║Cancelling statement #6’s schedules…
+207ms ║║Condition #6 evaluated false (9ms)
+208ms ║║Condition group #1 evaluated false (state did not change) (9ms)
+214ms ║║Comparison (enum) closed changes_to (string) closed = true (0ms)
+215ms ║║Cancelling condition #9’s schedules…
+216ms ║║Condition #9 evaluated true (5ms)
+217ms ║║Cancelling condition #7’s schedules…
+217ms ║║Condition group #7 evaluated true (state changed) (7ms)
+223ms ║║Comparison (string) heat is (string) cool = false (2ms)
+224ms ║║Condition #14 evaluated false (4ms)
+225ms ║║Condition group #10 evaluated false (state did not change) (6ms)
+231ms ║║Comparison (string) heat is (string) heat = true (2ms)
+232ms ║║Condition #19 evaluated true (4ms)
+233ms ║║Condition group #15 evaluated true (state did not change) (6ms)
+235ms ║║Cancelling statement #16’s schedules…
+245ms ║║Skipped execution of physical command [Nest Thermostat - First Floor].setThermostatMode([heat]) because it would make no change to the device. (4ms)
+246ms ║║Executed [Nest Thermostat - First Floor].setThermostatMode (5ms)
+566ms ║║Executed physical command [Nest Thermostat - First Floor].setHeatingSetpoint([70.0]) (317ms)
+567ms ║║Executed [Nest Thermostat - First Floor].setHeatingSetpoint (318ms)
+573ms ║║Comparison (string) heat is (string) Auto = false (1ms)
+575ms ║║Condition #24 evaluated false (4ms)
+575ms ║║Condition group #20 evaluated false (state did not change) (6ms)
+578ms ║╚Execution stage complete. (385ms)
+586ms ╚Event processed successfully (585ms)
12/7/2017, 11:20:30 PM +448ms
+2ms ╔Received event [Slider Door].contact = open with a delay of 222ms
+103ms ║RunTime Analysis CS > 13ms > PS > 39ms > PE > 51ms > CE
+111ms ║Runtime (40213 bytes) successfully initialized in 39ms (v0.2.0ff.20171129) (109ms)
+112ms ║╔Execution stage started
+123ms ║║Comparison (enum) open stays (string) open = true (1ms)
+126ms ║║Adding a timed trigger schedule for condition 6
+128ms ║║Condition #6 evaluated false (10ms)
+129ms ║║Condition group #1 evaluated false (state did not change) (11ms)
+135ms ║║Comparison (enum) open changes_to (string) closed = false (1ms)
+136ms ║║Cancelling condition #9’s schedules…
+137ms ║║Condition #9 evaluated false (5ms)
+138ms ║║Cancelling condition #7’s schedules…
+139ms ║║Condition group #7 evaluated false (state changed) (8ms)
+142ms ║╚Execution stage complete. (29ms)
+143ms ║Setting up scheduled job for Thu, Dec 7 2017 @ 11:20:50 PM EST (in 19.984s)
+160ms ╚Event processed successfully (160ms)
12/7/2017, 11:18:04 PM +630ms
+1ms ╔Received event [Slider Door].contact = closed with a delay of 913ms
+88ms ║RunTime Analysis CS > 17ms > PS > 34ms > PE > 37ms > CE
+99ms ║Runtime (40217 bytes) successfully initialized in 34ms (v0.2.0ff.20171129) (97ms)
+100ms ║╔Execution stage started
+111ms ║║Comparison (enum) closed stays (string) open = false (2ms)
+113ms ║║Cancelling any timed trigger schedules for condition 6
+114ms ║║Cancelling statement #6’s schedules…
+114ms ║║Condition #6 evaluated false (9ms)
+115ms ║║Condition group #1 evaluated false (state did not change) (10ms)
+122ms ║║Comparison (enum) closed changes_to (string) closed = true (1ms)
+123ms ║║Cancelling condition #9’s schedules…
+124ms ║║Condition #9 evaluated true (6ms)
+125ms ║║Cancelling condition #7’s schedules…
+126ms ║║Condition group #7 evaluated true (state changed) (8ms)
+132ms ║║Comparison (string) heat is (string) cool = false (1ms)
+133ms ║║Condition #14 evaluated false (5ms)
+134ms ║║Condition group #10 evaluated false (state did not change) (6ms)
+141ms ║║Comparison (string) heat is (string) heat = true (1ms)
+142ms ║║Condition #19 evaluated true (5ms)
+143ms ║║Condition group #15 evaluated true (state did not change) (7ms)
+145ms ║║Cancelling statement #16’s schedules…
+155ms ║║Skipped execution of physical command [Nest Thermostat - First Floor].setThermostatMode([heat]) because it would make no change to the device. (4ms)
+156ms ║║Executed [Nest Thermostat - First Floor].setThermostatMode (6ms)
+628ms ║║Executed physical command [Nest Thermostat - First Floor].setHeatingSetpoint([70.0]) (469ms)
+629ms ║║Executed [Nest Thermostat - First Floor].setHeatingSetpoint (471ms)
+638ms ║║Comparison (string) heat is (string) Auto = false (2ms)
+639ms ║║Condition #24 evaluated false (6ms)
+640ms ║║Condition group #20 evaluated false (state did not change) (7ms)
+643ms ║╚Execution stage complete. (544ms)
+651ms ╚Event processed successfully (651ms)
12/7/2017, 11:17:57 PM +450ms
+1ms ╔Received event [Slider Door].contact = open with a delay of 325ms
+311ms ║RunTime Analysis CS > 12ms > PS > 256ms > PE > 42ms > CE
+320ms ║Runtime (40217 bytes) successfully initialized in 256ms (v0.2.0ff.20171129) (318ms)
+321ms ║╔Execution stage started
+333ms ║║Comparison (enum) open stays (string) open = true (2ms)
+335ms ║║Adding a timed trigger schedule for condition 6
+338ms ║║Condition #6 evaluated false (9ms)
+338ms ║║Condition group #1 evaluated false (state did not change) (11ms)
+344ms ║║Comparison (enum) open changes_to (string) closed = false (0ms)
+346ms ║║Condition #9 evaluated false (5ms)
+347ms ║║Condition group #7 evaluated false (state did not change) (6ms)
+349ms ║╚Execution stage complete. (28ms)
+351ms ║Setting up scheduled job for Thu, Dec 7 2017 @ 11:18:17 PM EST (in 19.986s)
+366ms ╚Event processed successfully (366ms)
12/7/2017, 11:17:20 PM +966ms
+1ms ╔Starting piston… (v0.2.0ff.20171129)
+222ms ║╔Subscribing to devices…
+237ms ║║Subscribing to Slider Door.contact…
+313ms ║║Subscribing to Nest Thermostat - First Floor…
+314ms ║╚Finished subscribing (101ms)
+345ms ║Comparison (enum) closed stays (string) open = false (3ms)
+359ms ║Cancelling condition #9’s schedules…
+360ms ║Cancelling condition #7’s schedules…
+367ms ║Comparison (string) heat is (string) cool = false (2ms)
+378ms ║Comparison (string) heat is (string) heat = true (2ms)
+387ms ║Comparison (string) heat is (string) Auto = false (1ms)
+404ms ╚Piston successfully started (403ms)
12/7/2017, 11:15:30 PM +745ms
+1ms ╔Received event [Slider Door].contact = closed with a delay of 956ms
+83ms ║RunTime Analysis CS > 14ms > PS > 38ms > PE > 32ms > CE
+224ms ║Runtime (40215 bytes) successfully initialized in 38ms (v0.2.0ff.20171129) (222ms)
+225ms ║╔Execution stage started
+235ms ║║Comparison (enum) closed stays (string) open = false (1ms)
+237ms ║║Cancelling any timed trigger schedules for condition 6
+237ms ║║Cancelling statement #6’s schedules…
+238ms ║║Cancelling condition #6’s schedules…
+239ms ║║Condition #6 evaluated false (9ms)
+240ms ║║Cancelling condition #1’s schedules…
+240ms ║║Condition group #1 evaluated false (state changed) (11ms)
+246ms ║║Comparison (enum) closed changes_to (string) closed = true (0ms)
+248ms ║║Cancelling condition #9’s schedules…
+248ms ║║Condition #9 evaluated true (5ms)
+249ms ║║Cancelling condition #7’s schedules…
+250ms ║║Condition group #7 evaluated true (state changed) (7ms)
+256ms ║║Comparison (string) heat is (string) cool = false (2ms)
+257ms ║║Condition #14 evaluated false (5ms)
+258ms ║║Condition group #10 evaluated false (state did not change) (6ms)
+264ms ║║Comparison (string) heat is (string) heat = true (2ms)
+265ms ║║Condition #19 evaluated true (5ms)
+266ms ║║Condition group #15 evaluated true (state did not change) (6ms)
+268ms ║║Cancelling statement #16’s schedules…
+3363ms ║║Executed physical command [Nest Thermostat - First Floor].setThermostatMode([heat]) (3089ms)
+3364ms ║║Executed [Nest Thermostat - First Floor].setThermostatMode (3091ms)
+3677ms ║║Executed physical command [Nest Thermostat - First Floor].setHeatingSetpoint([70.0]) (310ms)
+3678ms ║║Executed [Nest Thermostat - First Floor].setHeatingSetpoint (312ms)
+3685ms ║║Comparison (string) heat is (string) Auto = false (2ms)
+3686ms ║║Condition #24 evaluated false (5ms)
+3687ms ║║Condition group #20 evaluated false (state did not change) (6ms)
+3690ms ║╚Execution stage complete. (3466ms)
+3697ms ╚Event processed successfully (3697ms)
12/7/2017, 11:15:05 PM +365ms
+1ms ╔Received event [Home].time = 1512706506555 with a delay of -1191ms
+187ms ║RunTime Analysis CS > 70ms > PS > 70ms > PE > 47ms > CE
+261ms ║Runtime (40217 bytes) successfully initialized in 70ms (v0.2.0ff.20171129) (258ms)
+262ms ║╔Execution stage started
+274ms ║║Cancelling condition #6’s schedules…
+276ms ║║Condition #6 evaluated true (2ms)
+278ms ║║Cancelling condition #1’s schedules…
+279ms ║║Condition group #1 evaluated true (state changed) (7ms)
+283ms ║║Cancelling statement #2’s schedules…
+298ms ║║Executed virtual command [Nest Thermostat - First Floor].setVariable (3ms)
+309ms ║║Executed virtual command [Nest Thermostat - First Floor].setVariable (4ms)
+6699ms ║║Executed physical command [Nest Thermostat - First Floor].off() (6386ms)
+6700ms ║║Executed [Nest Thermostat - First Floor].off (6389ms)
+6712ms ║║Condition #9 evaluated false (7ms)
+6713ms ║║Condition group #7 evaluated false (state did not change) (9ms)
+6716ms ║╚Execution stage complete. (6454ms)
+6725ms ╚Event processed successfully (6724ms)
12/7/2017, 11:14:46 PM +403ms
+2ms ╔Received event [Slider Door].contact = open with a delay of 381ms
+129ms ║RunTime Analysis CS > 16ms > PS > 56ms > PE > 57ms > CE
+138ms ║Runtime (40215 bytes) successfully initialized in 56ms (v0.2.0ff.20171129) (136ms)
+139ms ║╔Execution stage started
+150ms ║║Comparison (enum) open stays (string) open = true (2ms)
+152ms ║║Adding a timed trigger schedule for condition 6
+154ms ║║Condition #6 evaluated false (9ms)
+155ms ║║Condition group #1 evaluated false (state did not change) (11ms)
+162ms ║║Comparison (enum) open changes_to (string) closed = false (0ms)
+163ms ║║Condition #9 evaluated false (5ms)
+164ms ║║Condition group #7 evaluated false (state did not change) (6ms)
+166ms ║╚Execution stage complete. (27ms)
+168ms ║Setting up scheduled job for Thu, Dec 7 2017 @ 11:15:06 PM EST (in 19.985s)
+184ms ╚Event processed successfully (184ms)
12/7/2017, 11:13:44 PM +49ms
+5ms ╔Starting piston… (v0.2.0ff.20171129)
+244ms ║╔Subscribing to devices…
+288ms ║║Subscribing to Slider Door.contact…
+378ms ║║Subscribing to Nest Thermostat - First Floor…
+380ms ║╚Finished subscribing (150ms)
+419ms ║Comparison (enum) closed stays (string) open = false (7ms)
+435ms ║Cancelling condition #9’s schedules…
+436ms ║Cancelling condition #7’s schedules…
+443ms ║Comparison (string) heat is (string) cool = false (3ms)
+457ms ║Comparison (string) heat is (string) heat = true (1ms)
+458ms ║Cancelling condition #19’s schedules…
+459ms ║Cancelling condition #15’s schedules…
+470ms ║Comparison (string) heat is (string) Auto = false (2ms)
+490ms ╚Piston successfully started (489ms)
12/7/2017, 11:11:04 PM +984ms
+1ms ╔Received event [Slider Door].contact = closed with a delay of 455ms
+73ms ║RunTime Analysis CS > 12ms > PS > 38ms > PE > 23ms > CE
+82ms ║Runtime (40205 bytes) successfully initialized in 38ms (v0.2.0ff.20171129) (80ms)
+83ms ║╔Execution stage started
+93ms ║║Comparison (enum) closed stays (string) open = false (1ms)
+95ms ║║Cancelling any timed trigger schedules for condition 6
+96ms ║║Cancelling statement #6’s schedules…
+97ms ║║Cancelling condition #6’s schedules…
+98ms ║║Condition #6 evaluated false (9ms)
+99ms ║║Cancelling condition #1’s schedules…
+99ms ║║Condition group #1 evaluated false (state changed) (11ms)
+105ms ║║Comparison (enum) closed changes_to (string) closed = true (0ms)
+107ms ║║Cancelling condition #9’s schedules…
+107ms ║║Condition #9 evaluated true (5ms)
+108ms ║║Cancelling condition #7’s schedules…
+109ms ║║Condition group #7 evaluated true (state changed) (7ms)
+115ms ║║Comparison (string) heat is (string) Cool = false (1ms)
+116ms ║║Condition #14 evaluated false (5ms)
+117ms ║║Condition group #10 evaluated false (state did not change) (6ms)
+123ms ║║Comparison (string) heat is (string) Heat = false (2ms)
+124ms ║║Condition #19 evaluated false (5ms)
+125ms ║║Condition group #15 evaluated false (state did not change) (6ms)
+131ms ║║Comparison (string) heat is (string) Auto = false (1ms)
+132ms ║║Condition #24 evaluated false (4ms)
+133ms ║║Condition group #20 evaluated false (state did not change) (6ms)
+136ms ║╚Execution stage complete. (53ms)
+143ms ╚Event processed successfully (143ms)
12/7/2017, 11:10:38 PM +364ms
+0ms ╔Received event [Home].time = 1512706239623 with a delay of -1260ms
+299ms ║RunTime Analysis CS > 222ms > PS > 53ms > PE > 24ms > CE
+309ms ║Runtime (39843 bytes) successfully initialized in 53ms (v0.2.0ff.20171129) (308ms)
+311ms ║╔Execution stage started
+318ms ║║Cancelling condition #6’s schedules…
+319ms ║║Condition #6 evaluated true (1ms)
+320ms ║║Cancelling condition #1’s schedules…
+321ms ║║Condition group #1 evaluated true (state changed) (4ms)
+324ms ║║Cancelling statement #2’s schedules…
+336ms ║║Executed virtual command [Nest Thermostat - First Floor].setVariable (3ms)
+348ms ║║Executed virtual command [Nest Thermostat - First Floor].setVariable (4ms)
+5265ms ║║Executed physical command [Nest Thermostat - First Floor].off() (4915ms)
+5266ms ║║Executed [Nest Thermostat - First Floor].off (4916ms)
+5279ms ║║Condition #9 evaluated false (8ms)
+5281ms ║║Condition group #7 evaluated false (state did not change) (10ms)
+5284ms ║╚Execution stage complete. (4974ms)
+5291ms ╚Event processed successfully (5292ms)
12/7/2017, 11:10:19 PM +516ms
+1ms ╔Received event [Slider Door].contact = open with a delay of 251ms
+84ms ║RunTime Analysis CS > 14ms > PS > 43ms > PE > 26ms > CE
+92ms ║Runtime (39816 bytes) successfully initialized in 43ms (v0.2.0ff.20171129) (90ms)
+93ms ║╔Execution stage started
+104ms ║║Comparison (enum) open stays (string) open = true (2ms)
+106ms ║║Adding a timed trigger schedule for condition 6
+108ms ║║Condition #6 evaluated false (9ms)
+109ms ║║Condition group #1 evaluated false (state did not change) (11ms)
+116ms ║║Comparison (enum) open changes_to (string) closed = false (0ms)
+117ms ║║Condition #9 evaluated false (5ms)
+118ms ║║Condition group #7 evaluated false (state did not change) (6ms)
+121ms ║╚Execution stage complete. (27ms)
+122ms ║Setting up scheduled job for Thu, Dec 7 2017 @ 11:10:39 PM EST (in 19.986s)
+139ms ╚Event processed successfully (139ms)
Clear Full Uploading…


#2

I don’t have a thermostat to test on, but can you capture attributes before turning off. Then restore attributes when turning on?

Just a thought


#3

Thanks- I tried… I’m assigning a variable to the captured mode and trying to put mode back to that variable- but it didn’t work. I had to use the presets and ECO isn’t there. :face_with_raised_eyebrow:

I found another thread on the topic but somehow they are getting ECO to show up.


#4

Do you have the NST Manager SmartApp installed? I have it and I have an EcoBtn() option. Never played with it tho


#5

I do have NST Manager installed… There’s a “custom eco()” which I did NOT set up… the other thread on this top indicates that I need to create the custom. I just posted in that thread as well.


#6

Hmmm I don’t know. I saw the other thread. I keep my things simple and do the door thing manually.


#7

LOL… I’d love to do the door manually. But neither my 12 yr old nor my wife seem to be able to properly work the Sliding Door… they don’t realize that it CLOSES. And I have huge energy bills to prove the issue.


#8

Hahaha I figured there was that issue.

I have my piston setup so that it triggers a run through any time there is a temp change, weather icon change or forecast icon change.

My thinking is if you just shut it off when the door is open and it can’t start again until then once it’s closed just wait for the HVAC piston to fire back up based on one of those changes?