Ecobee - Anyone actually using it?

Hey, if it works, enjoy it!

Yep, no daily hotfixes works

Yes - that's the idea. You find settings that arrive at a temperature you agree is "comfortable", and from there, the system tries to adjust to keep you comfortable as the humidity changes.

I wish that the other inputs (activity & clothing) were dynamic in some way, but for now you are stuck picking a set of preferences to go with. As this is brandy-new, maybe we'll think of something that allows the "profile" to change more dynamically.

Suggestions welcome...

Are the settings exposed in such a way that I could tell Google to flip a virtual switch to go from typing to sleeping?

Precisely. Check out the documentation on the Smart Mode/Switch/Program Helper on my Github.

I'd recommend using a different thermostat program for your normal daily activities (e.g. "Home") and another for when you're sleeping (e.g. "Night"). You can then set up different Thermal Comfort clothing/activities for each thermostat program. Then simply automate the changing of the programs, and the appropriate Thermal Comfort settings will be applied automagically.



How to I set Away mode and Home ?

Anyone know if the thermostatOperatingState supports fan only on the Ecobee for the Hubitat integration?

I can see how Ecobee may have decided that thermostat control (heat/cool) is separate from Fan control, and might not see the utility of a Fan-Only thermostat mode.
My E3 does not support Fan-Only mode according to the Hubitat driver, and the thermostatOperatingState shows Idle mode when just the Fan is running - its icon in the Dashboard remains grey when the fan alone runs.
According to my Ecobee3 Device page:

  • supportedThermostatFanModes : [on, auto]
  • supportedThermostatModes : [off, cool, heat, auto]

My expectation for the driver and the generic zigbee thermostat does this, is that if you aren't heating/cooling, and the fan is on that the driver goes into Fan Only for the thermostatOperatingState

@mike.maxwell does the hubitat Ecobee support fan only?

FWIW, the Hubitat-supported Ecobee modes mirror what shows on the actual Ecobee menus and presumably the API: one menu with on/auto for the Fan, and a separate submenu with off/cool/heat/auto for HVAC.
The fan will run even if the HVAC is Off.

My Universal Ecobee Suite (ES) provides "fan only" thermostatOperatingState, and if you want more detailed information about what's running, equipmentOperatingState tells you specifically which components are running (heat 1, heat 2, humidifier, dehumidifier, vent, etc.), and equipmentOperatingStateDisplay includes (Smart Recovery) and (Overcool) in the status as well.

ES provides:

  • supportedThermostatFanModes : [on, off, auto, circulate]
  • supportedThermostatModes : [off, cool, heat, auto, auxHeatOnly]

In this implementation, "circulate" is just "auto" with a non-zero fanMinOnTime, and "off" is auto with fanMinOnTime = 0 and thermostatMode = "off" - (the only way to mae the fan be truly Off).

ES can be used instead of the native integration, or alongside it if you want.

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