Fan on when heaters turns on


1) Give a description of the problem
Random results.

2) What is the expected behavior?
Very simple piston. Turn the ceiling fan on when the ecobee heat turns on

3) What is happening/not happening?
If manually raise the temp on the thermostat it seems to work. If the schedule kicks on because its too cool it doesn’t work all the time. I did catch it once and quickly opened webcore and clicked trace and shortly after it turned back on. Is there a better way I can do this?

**4) Post a Green Snapshot of the piston!

5) Attach any logs (From ST IDE and by turning logging level to Full)
|+1ms|╔Received event [Ecobee Downstairs].thermostatOperatingState = heating with a delay of 51ms|
|+71ms|║RunTime Analysis CS > 17ms > PS > 45ms > PE > 9ms > CE|
|+73ms|║Runtime (37023 bytes) successfully initialized in 45ms (v0.3.109.20181207) (71ms)|
|+74ms|║╔Execution stage started|
|+86ms|║║Comparison (enum) heating is (string) heating = true (2ms)|
|+87ms|║║Cancelling condition #2’s schedules…|
|+89ms|║║Condition #2 evaluated true (8ms)|
|+90ms|║║Cancelling condition #1’s schedules…|
|+91ms|║║Condition group #1 evaluated true (state changed) (11ms)|
|+94ms|║║Cancelling statement #4’s schedules…|
|+582ms|║║Executed physical command [Family Room Fan].setLevel([80]) (482ms)|
|+583ms|║║Executed [Family Room Fan].setLevel (483ms)|
|+586ms|║╚Execution stage complete. (512ms)|
|+588ms|╚Event processed successfully (587ms)|


Your piston looks fine to me.

I think you’re going have problems with the ecobee thermostat (and probably most smart thermostats) if you’re expecting instantaneous status updates. I’ve seen status update delays for up to 10 minutes from my ecobee3s … the physical thermostat works fine, it’s just the status attributes do not get updated immediately when a thermostat event/change occurs :frowning:

You can see this behavior from the thermostat device page — see how long it takes to update the status attributes when the ecobee kicks in.


I will check that next time it kicks on. Weather is warming up so its harder to test when manually running it seems to always work.

I think you are on to something…Looks like the poll time is 5 min.

[1d1eb7bd-13b5-4efe-80ef-fcbbc063955e]( 1:39:44 PM: trace poll exit pollAttempt:1, isThermostatPolled:true, isSwitchesPolled:true

[1d1eb7bd-13b5-4efe-80ef-fcbbc063955e]( 1:34:44 PM: trace poll exit pollAttempt:1, isThermostatPolled:true, isSwitchesPolled:true

[1d1eb7bd-13b5-4efe-80ef-fcbbc063955e]( 1:29:44 PM: trace poll exit pollAttempt:1, isThermostatPolled:true, isSwitchesPolled:true


I figured Ecobee which has a ecobee designed device handler with matching smartapp would be a solid device handler but this AM my heater kicked on and nothing…I went into smartthings and clicked refresh on that thermostat, nothing. I went into the ecobee smartapp and typed in my username and password again to resync, nothing. I noticed in my ecobee app the heat stage one and fan were running but the temp set point was 60 degrees and it was 67 and the ecobee was in sleep mode. Once I manually adjusted the thermostat smartthings triggered and my fan turned on. Any ideas? I am about to take a power sensing plug and plugging my HVAC into that and using it as a trigger.


If you are still having a problem try changing the statement from “is” to “changes to”

I run a similar piston using a Honeywell thermostat and it works well. Status delay is only 1-2 seconds.


I am not sure changing the statement would have helped. It seems as if my ecobee check just sucked. It wasn’t getting updates. I got a new ecobee device handler and smart app and its been working flawlessly for the past week. I was a bit turned off by paying for a device handler and smart app but well worth it. My upstairs and downstairs temps are now always within a degree of each other and I have 7 sensor in the house. Before they were 3-10 degrees apart.