Thermostat Setpoint Change Notification


#1

1) Give a description of the problem

This is my first piston attempt, as I am a Wink refugee. Trying to setup (what I thought would be a relatively simple) notification for when the wife manually changes the temperature of either of two thermostats without my knowledge. I didn’t yet know how to check whether manually changed or not (as opposed to changed by schedule), so I figured I’d start out with any change in the set temp, but even that is not working.

2) What is the expected behaviour?

Receive a notification of the change in set temperature through the SmartThings app.

3) What is happening/not happening?

Nothing.

**4) Post a Green Snapshot of the piston

5) Attach logs after turning logging level to Full

6/3/2020, 11:35:22 AM +556ms
+1ms ╔Received event [Home].test = 1591198522555 with a delay of 0ms
+90ms ║RunTime Analysis CS > 29ms > PS > 49ms > PE > 12ms > CE
+92ms ║Runtime (37818 bytes) successfully initialized in 49ms (v0.3.110.20191009) (90ms)
+93ms ║╔Execution stage started
+139ms ║║Comparison (decimal) 74.0 changed = false (30ms)
+161ms ║║Comparison (decimal) 73.0 changed = false (21ms)
+163ms ║║Condition #2 evaluated false (65ms)
+164ms ║║Condition group #1 evaluated false (state did not change) (66ms)
+166ms ║╚Execution stage complete. (73ms)
+168ms ╚Event processed successfully (168ms)
6/3/2020, 11:35:19 AM +844ms
+1ms ╔Received event [Home].test = 1591198519844 with a delay of 0ms
+58ms ║RunTime Analysis CS > 13ms > PS > 30ms > PE > 14ms > CE
+60ms ║Runtime (37818 bytes) successfully initialized in 30ms (v0.3.110.20191009) (59ms)
+61ms ║╔Execution stage started
+109ms ║║Comparison (decimal) 74.0 changed = false (34ms)
+129ms ║║Comparison (decimal) 73.0 changed = false (19ms)
+131ms ║║Condition #2 evaluated false (65ms)
+132ms ║║Condition group #1 evaluated false (state did not change) (67ms)
+134ms ║╚Execution stage complete. (73ms)
+136ms ╚Event processed successfully (136ms)
6/3/2020, 11:35:15 AM +546ms
+1ms ╔Starting piston... (v0.3.110.20191009)
+90ms ║╔Subscribing to devices...
+115ms ║║Subscribing to Main Floor.thermostatSetpoint...
+127ms ║║Subscribing to Upstairs.thermostatSetpoint...
+163ms ║╚Finished subscribing (81ms)
+230ms ║Comparison (decimal) 74.0 changed = false (41ms)
+255ms ║Comparison (decimal) 73.0 changed = false (23ms)
+265ms ╚Piston successfully started (265ms)

#2

Try by getting rid of 5 seconds.

IF thermostat CHANGES
Do this do that


#3

What thermostat/device handler do you use?

I have an Ecobee using a custom DH

When the thermostat set points are adjusted by any means other than the set programs, it will go into a ‘hold’ program. If your DH has the capability, I would subscribe to the currentProgram or similar event.
image


#4

How do I get rid of the 5 seconds? It errors and tells me I have to put something in that field.


#5

I have ecobees as well, but I am using the standard device handler. This is all brand new to me, so I am still learning.


#6

In the “what kind of comparison” where you have “changed”, use the drop down, scroll down to to “triggers” and select “changes”.


#7

I don’t specifically recall what capabilities the stock handler has but I don’t think currentProgram is one of them. Easy way to check is when you are creating your condition and have selected the thermostat; the drop-down to the right contains your handlers capabilities.

currentProgram is a custom capability for me and is listed toward the bottom with a ⌂ indicator.

There is one other place that signifies ‘hold’ status and that is in the schedule capability. It is a longer text string that usually says something like “Hold, until 7:30pm”.


#8

Thanks, everyone. I will take a look at these suggestions, see how things go, and report back.


#9

Thanks, everyone, I got a basic version of the piston working. Part of the problem/confusion was that there was a very long delay between changing the temp and the notification appearing. I have switched to Ecobee Suite and things are quite a bit faster now.

Is there a way to have the notification include the time/date that the setpoint was actually changed (and not the current date/time)?

Thanks again!