Ecobee - Anyone actually using it?

This is an Hubitat Ecobee driver issue?

That would be my guess, @patrick, any insight as to why ecobee doesn’t report fan only?

The hubitat built in driver supports controlling the fan either on or auto. I use it all the time. The driver doesn't apply the fan only state to thermostat operating state but instead maintains a separate thermostatFanMode on/auto state.

Just different ways to do things. For example, my thermostat is currently off, but I can still run the fan by setting it to on and resuming programing (to turn it off).

To me, changing the thermostat mode is more for heating and/or cooling.

Right, the issue we are tracking is that Keenect uses the fan only thermostat operating state to set vents. I’d rather not track the fan mode and operating state both in Keenect to determine fan only when the thermostat should report out fan only in operating state.

I think you should look at both the FanState and OperatingState... But that's just my opinion.

In all of my custom thermostat apps I wrote/use I look at both states, as that is how it is should be done (on zwave thermostats at least)...

Yes, TECHNICALLY "fan only" is a defined state in the zwave Thermostat Operating State/Report spec, but "fan only" means different things to different manufacturers and is NOT used consistently. I have written drivers for 7 zwave thermostats now, and 3 handled "fan only" one way, and 4 wouldn't report a "fan only" operating state at all no matter what you did.

Now, that being said, Hubitat doesn't actually expose the thermostatFanState variable in all of their in-box drivers (GoControl GC-TBZ48 for just one example).... So that really mucks things up, and is part of the reason I have custom/user drivers on my thermostats that properly populate the thermostatFanState variable.

I hear you, but I think developing code for a driver that is not following the Hubitat standard is imho the wrong way. I am just asking/suggesting that the driver gets updated if possible.

Does Keenect on SmartThings have the same issue with Ecobee and fan-only?

If only Hubitat were the one to define the standard. But they are not. The "standard" was defined back in 2014 by SmartThings, based off of the capabilities of the first Honeywell thermostat they supported. And Hubitat (largely) respects and supports this definition consistently.

I am not aware of an attribute known as "fan state". In fact, I think some things have gotten confused here. Specifically, we are discussing THREE separate attributes:

  • thermostatMode
    • controls only the HVAC operating mode: off, auto, cool, heat, auxHeat
  • thermostatFanMode
    • controls the operating mode of the Fan, which is (in the case of Ecobee) independentof the thermostatMode - the fan can be 'on' while the thermostat is 'off'. It can also be 'auto' when the thermostatMode is 'off' -in this case, the fan won't ever run until the thermostatMode changes - UNLESS fanMinOnTime != 0. With a non-zero value, 'auto' is really 'circulate' - which again can run the fan if the thermostatMode is 'off'.
  • thermostatOperatingState
    • This is the only one that tells you anythings about what is actually running (heating, cooling, fan only, idle, pending heat, pending cool - a selection that was defined by the first Honeywell thermostat that SmartThings supported). Importantly thermostatOperatingState can be "fan only" with ANY combination of thermostatMode and thermostatFanMode!!!!

In my Ecobee Suite, I have made the decision that thermostatMode == 'off' means OFF - NOTHING should run. And so, my code always sets the thermostatFanMode == 'auto' and fanMinOnTime == 0 - this is in effect the definition of thermostatFanMode == 'off'. So if you want no heating and no cooling but you do want the fan, you can setThermostatFanMode('on') or setThermostatFanMode('circulate') which will in turn also setFanMinOnTime(20) (the default of 20 minutes per hour of circulation, which you can also override).

In my Ecobee Suite, I also expose the more detailed equipmentOperatingState which actually lists out all of the various HVAC components that are running. This attribute doesn't exist in ANY other thermostat, and was defined by Ecobee - it includes status of humidification/dehumidification, HRV/ERV, heating/cooling stages, heat pump aux heat and more.

Bottom line: when it comes to thermostats, whatever automation you create you are pretty much writing custom integration for that hub platform, that particular thermostat and that thermostats' device driver - the features and how you use them will undoubtedly vary as you mix-and-match hubs, thermostats and drivers.

Agree with everything you are saying! I am just asking that for device drivers we try to stay in the framework Hubitat has created, or ask them to expand the framework, if needed. Extra work around code is technical debt that I am fighting to avoid.

The issue I was fighting revolved around the in-house ecobee driver not going to Fan Only when a ecobee was using it's built in circulate. Hubitat was not picking up on that and so my automation would not respond when the Fan was running without any heating or cooling.

1 Like

Yes - that is in fact a mistake on the part of the Hubitat driver, IMHO.

I mean, it's not like they have to try to deduce that the fan is running or not...because the Ecobee API does in fact return equipmentStatus with one or more of the following values:

heatPump, heatPump2, heatPump3, compCool1, compCool2, auxHeat1, auxHeat2, auxHeat3, fan, humidifier, dehumidifier, ventilator, economizer, compHotWater, auxHotWater

Furthermore, it really has nothing to do with thermostatMode or thermostatFanMode. -- if the equipmentStatus is "fan" and nothing else, then the Hubitat Ecobee driver should set thermostatOperatingState to "fan only".

And yes, the API says the fan is running even if the thermostatMode is "off"...or when it is doing its internally-controlled "circulation" - there's no excuse for not reporting "fan only".

I am truly surprised that it doesn't...even SmartThings got that part right :wink:

Hello,

does anyone know if there is new ecobee available for EU, if not can anyone recommend some good smart thermostat?

I am new to HE and using Ecobee and I am wonder why "Fan Only" status is not being reported using the hubitat default drive?

Since you have done this, it is doable. I am confuse as to why the built-in drivers does everything else with ecobee tstat but not fan only? Is it not just another API call, or some extra parsing of the values returned?

I hope someone at Hubitat is reading this question. If it is too complicated and not worth the time/effort I will understand and be willing to pay for it.

I am not asking for a scheduler, enhanced functionality, just 1 other value/status from the device Hubitat supports with a built-in driver.

I am pretty sure I would not be the only one here who would benefit from having this.

@swade

You don't have to pay to get all the features of your Ecobee - my Ecobee Suite is free: [RELEASE] Universal Ecobee Suite, Version 1.8.01

It provides access to ALL Ecobee attributes, and comes with a variety of Helper apps that you can use with your Ecobee as well.

As to "why" the native driver doesn't support Fan Only, nobody really knows. Send an email to Hubitat Support with the question, and you may get an answer...

1 Like

@bravenel, @bobbyD, Can you answer this question as to why the built-in ecoBee driver does not support Fan Only when the custom user drivers do? ecoBee systems use the Fan Only feature to improve overall home effeciency and not having it to control vents is a much needed status. Thanks for you help.

How is this different from executing the build in drivers fanOn command?

I can set the system to fan only, but when the ecobee sets itself to fan only the driver is not getting the state change. I think it maybe in the thermostatOperatingState setting.

Hopefully @yracine66 or @storageanarchy maybe kind enough to shed more accurate help on this. Please!

I've been using @storageanarchy's driver for a long time, and I can tell you it works great.

But... it is a polling driver, so when the Ecobee changes itself, the driver doesn't update in real time. Check your polling interval.

1 Like