EcoBee Question

I noticed in SharpTools when I added my EcoBee it was displaying a temp that didn't match the display. Looking at the EcoBee device I see Current State of Temperature value matches the display at 70 degrees. SharpTools was displaying 73.5 which is a value called ThermostatSetPoint.

Does anybody know what Thermostat Setpoint is?

don't know if it matters but that is exactly halfway between my cooling and heating setpoints?


I believe that is the current and actual setpoint based on mode.
I'm not sure how it works when Mode is in auto. I use RM to change the mode based on outdoor temperature and don't use the range and auto feature. My thermostatSetpoint is equivelant to the current coolingSetpoint, and the system is in cooling mode.

My set point is 70, so if it drops to 69 heats turns on when it hits 71 it turns off. That what I don't understand nothing I've set in the EcoBee app is at 73.5

No clue why it's out of whack. Or perhaps I'm wrong about it's meaning.

Did a little experimenting. If I set the EcoBee to heat only mode, then thermostat set point = the heating set point and if I set it to cool mode, it = cooling set point. However If I set it to Auto, then it = halfway between heating and cooling set points.


From what I can tell, it looks like the thermostatSetpoint is being set to the average of the heatingSetpoint and the coolingSetpoint when the thermostatMode is set to auto. I've seen this on a few device handlers - some just use the average of the two setpoints whereas others use the 'last' setpoint that the thermostat was trying to achieve (eg. if it was trying to cool down or warm up).

One workaround is to change the thermostat tile to use the Double Height thermostat layout which shows individual controls for the heating and cooling setpoints and works well with devices like Ecobee, Nest, and others that use an auto mode.


You can find more details here:

I also found if I want it change color based on heating or cooling I need to be in auto. If I set the EcoBee mode to heating it always displays the heating color even when not actually heating.

Interesting. Seems like something is amiss there. I noticed that your thermostatOperatingState was auto in your original post's screenshot which isn't an expected value. Is this an official built-in driver or a community driver?

The Show Heat/Cool Color tile setting should only turn the tile red if the thermostatOperatingState attribute is heating (and it turns blue if it's cooling). So if the HVAC was idle or just using the fan or any other state, then it should just turn the default gray.

The expected states for the thermostatOperatingState are:

 - cooling
 - fan only
 - heating
 - idle
 - pending cool
 - pending heat
 - vent economizer

Let me clarify.

When set EcoBee to auto and tile to double high everything works correctly and displays the values I want to see.

When set to auto and single high, it shows that avg number for set point, not what I want.

If I change the EcoBee mode to heating only instead of auto. Then the set point displays properly on the single high. However, it always shows heating. I assume because you are looking at 'thermosatOperatingState' where EcoBee is using 'thermostat: right Now :' so in the screen shot below the furnace is "idle" and not heating but the tile shows the heating color.


EDIT: So setting it at Auto and going double high works for me.

1 Like

I think we are on the same page. The thermostatOperatingState should be idle if the thermostat is actually idle though. The only time the thermostatOperatingState should show heating is when the furnace is actively heating the home.

If the thermostatOperatingState always shows heating when the mode is set to heat, then it sounds like a bug in the device driver.

Edit: Is it a built-in driver or a community driver? I'd like to make a feature request to get the thermostatOperatingState to reflect the appropriate value. :slight_smile:

I'm using the built-in Ecobere driver(s), and my thermostatOperatingState shows as "auto" when not running.

It's the built in driver, I did not add any driver code for EcoBee.

I use WATO to pull Thermostat Operating State out of my ecobee so that I can turn on Ceiling fans when my AC is running. Works really well.


@ryan780 are you specifically using it with the thermostatOperatingState attribute from the Ecobee? Based on what Drew and Jason mentioned, it doesn't sound like the device is reporting the values I would have expected for the thermostatOperatingState.

The expected values for the thermostatOperatingState are:

 - cooling
 - fan only
 - heating
 - idle
 - pending cool
 - pending heat
 - vent economizer

What has been noted so far is:

Mode Actual State Reported State Expected State
Auto Idle :x: Auto Idle
Auto Heating :white_check_mark: Heating Heating
Heat Idle :x: Heating Idle
Heat Heating :white_check_mark: Heating Heating

Based on the screenshot in the original post, it looks like the generic/descriptive thermostat attribute contains the text 'Idle' in it, so we at least know that the thermostat device itself is reporting the idle state... just that the thermostatOperatingState isn't being updated to expected values.

@mike.maxwell any thoughts on updating the Ecobee driver (and potentially other thermostats) to report expected thermostatOperatingState values?

I should have mentioned... I'm also using the ported version of Ecobee Suite. The native implementation doesn't report back operating state correctly.


@Ryan780 Eh... The built in driver reports heating when heating, and cooling when cooling in thermostatOperatingState... So it reports operating state at least semi-right... It shows Auto when idle, which isn't right, but that hasn't affected much on my end.

If the Ecobee Suite port reports it faster or better, though - I'm not adverse to using it. I used it on ST...

Only if you have mode = Auto. If mode is Heating, it always reports heating even when Idle.

It does not always report heating when heating and cooling when cooling no matter what mode you are in. It reports the correct state when you change the temp manually but not when it "recovers" to an already set temp.
At least thats the way it worked with the native integration 2 months ago.

Oh!! Yeah, that's not good. I didn't know that, as mine is almost always in auto.

That plus ryan's comment paints a different picture. Maybe I should try the Ecobee Suite port.

I have 4 thermostats and 9 sensors though. Not sure how easy that is to implement.

Both of my ecobees are set to prompt for how long I'd like a manual set point change to last:

Does SharpTools support this? We keep our sleep temps at 64 degrees. I used the SharpTools dashboard to bump up the heat to 69 degrees late yesterday afternoon. It put the temp change on permanent hold and I woke in the middle of the night sweating my ass off :sweat_smile: