Slow state updates from EcoBee

Does everyone else notice very slow updates from Ecobee via climate. I have a sensor created which is based off the “fan on” attribute. The problem is this is up to 5 minutes late updating - both on fan start and stop. You physically hear and feel the fan running but yet the climate doesn’t detect it for several minutes, and the same on shut down.

I realize Climate is reading the data from Ecobee over the internet via their cloud API. The question is why is it so slow? This makes it tough to build automations off the fan being on/off.

1 Like

Yes and I was waiting for someone else to post something as I thought it was just me.

I finally got my sensor/ecobee set up correctly to track the current state and I use that as part of an automation to start a small fan in my living room to move the air from my forced air system around the room. The state change is almost 2-3 minutes, so the fan keeps running for a few minutes after the heat is off.

Not sure why this is happening but maybe we’ll find some others here. Heading out for a while but I’ll check in later.

(I edited your post title for clarity and to get a more specific response from devs)

Yes, my Ecobee thermostat is slow to update in HASS.

A few things to consider here are as follows:

  • A while back, I read something in the Ecobee API documentation that there is a forced poll interval delay in the neighborhood of 4 minutes. I’m going on my best recollection here, so your mileage may vary.

  • Also, some forced air units have a fan delay timer for heating mode that requires the fan to run for xxx seconds to allow the heat exchanger to cool.

my .02

Have you tried with a scan_interval: config key in the sensor?

Giving that a shot now. Will report back.

EDIT: Was about to do this when I realized that scan_interval isn’t valid for template sensors so this won’t work. And the only way to get the operating mode is via a template sensor.

#  ecobee3 Mode Sensors
       friendly_name: 'Current Operation'
       value_template: "{{ states.climate.main_floor.attributes.operation }}"

Template sensors update whenever the state changes. This is why you can set the entity_id of a template sensor so that it only updates on state changes for entity ids that you care about.

So, the problem isn’t the template sensor taking too long to update, it is the HA ecobee entity taking so long updating from the server.

A quick check of the code in HA shows a 180 second MIN_TIME_BETWEEN UPDATES, so I would expect a few minute delay between a change on the physical ecobee and it being represented in HA. I don’t know how to adjust that value through the configuration since it seems that is not based on the entity platform.

Yeah, kind of knew that already but the problem is there is no other way currently to get the operating state.

It looks like the problem is that polling on the API is limited to three minutes:

Posting that I have the same experience.

I have a sensor reading the “operation” status from my Ecobee3 thermostat. It seems the value is delayed a few minutes.

Ex: states.climate.home.attributes.operation is “idle”
I push the temperature up a few degrees.
heat kicks on within a few seconds
…still 'idle"
a few minutes later value changes to “heat”
actual heat turns off when desired temp reached
…value still reads “heat”
a few minutes later, value updates to “idle”

I am trying to have a light come on to indicate heat/cool/fan but it’s no good like this. I might have to just tap into the wires on the furnace to see when voltage is traveling over them but I was hoping not to have to do that…

This is what I was looking for before going into the code. I’m not surprised that 3 minutes is the minimum.

@mm876 it looks like if you want anything faster than 3 minutes that you’ll have to tap into the control wires.

Shame because I’m using it to switch on a small fan to push the air around in the living room in front of the forced air vent. It works OK but I wish I could turn it off faster.

I’m using a generic thermostat and I’m having similar issues…
I might be wrong, but by looking at the source code it looks like the climate state gets verified only when the (ambient) sensor temperature changes, particularly not when the heather switch goes off.
I don’t know much about ecobee, but that might be (another?) cause for delay.
If no one does it first, I will try and submit a fix in the next few days.

the problem in my case (Generic Thermostat) is that the state of the heater switch isn’t updated fast enough, so the climate component reports an incorrect status until the next update, and that occurs when the sensor temperature changes.
I submitted an issue report.

I don’t think this issue applies to an Ecobee component, sorry for stepping in…


1 Like

I’ve rigged up a mimolite on the fan control line to set a sensor when the ecobee turns the fan on. This gives me an actual trigger to use for my other automations. This works if your ecobee controls the fan, if you let the hvac side control it you could do the same with a current sense relay on the blower motor.

Response is instant.

1 Like

I don’t have A/C, only forced air gas heat. I don’t think the state of my fan updates but I’ll check. I am pretty sure this is why I had to create the template sensor. Maybe I’ll try doing the same for the fan attribute and see if it registers.

I’ll let you know.

@MrMep - more data is better when trying to figure these things out, so I appreciate your comment. (It also may help someone else!)

Ecobee recently released an update to their firmware (v3.7.0.969) that creates a bridge for Homekit to use the sensors as individual entities. HASS already had that ability, but the sensor updates appear immediately in Homekit (I’m using them as motion triggers for lights), while they take the 2-3 minutes in HASS. I wonder if it is just a matter of exposing the new bridge details to take advantage of instant Ecobee updates.

I think the EcoBee pushes on change for Homekit versus waiting to be polled.

Would love to know if someone’s looking into this. One of the main reasons I got rid of the Nest in favor of Ecobee was that the sensors, in addition to being useful for balancing tem, could be used for motion detection in HA. But this delay makes them useless for that purpose.

1 Like

I’ve given up as 5 minutes seems to be the fastest update rate possible

I notice a delay of a minute or two between motion in front of my Ecobee sensors and HomeAssistant sensor state updating. Too slow to trigger lights turning on. That’s too bad.

That is disappointing. I was also hoping to use the ecobee motion sensors for automations. The long delay makes it pretty much useless for many automations.