- Posted on
Wed Jul 11, 2018 2:33 pm
-
dduff617
offline
-
- Posts: 661
- Joined: Jul 05, 2006
- Location: Massachusetts, USA
So I've done some empirical analysis of my system and have some findings. I'll share in hopes others may also find it useful.
The state fan_timer_active will be true when the fan is running for any reason. This translates to:
the system is heating, OR
when the system is cooling, OR
when the system is executing a Nest scheduled fan run OR
or when you are doing a manual timed fan run.
The state heat_or_cool is "Heating" when system is heating, "Cooling" when system is cooling and "Saving Energy" when system is neither currently heating nor cooling.
States isHeating and isCooling also work as you would expect with values "No" and "Yes" when the system is curerntly calling for heat or cool respectively.
the system mode setting hvac_mode is "heat", "cool", "heat- cool", or "off".
fan_timer_duration sounds potentially useful, but afaik is always zero.
fan_timer_timeout contains the absolute time of a scheduled shutoff when fan is running due to a manual timed fan run. it is jan 1, 1970 when there is no such event active.
Btw, the IOM (?) field fanIsOn on my unit is always false. I'm not sure I exactly grok the concepts here and how inheritance is supposed to work for plugin classes, but that may be a bug or an oversight in the Nest Home plugin design. It seems like it would be straightforward to make Nest thermostats comply with the Indigo standard api here.
So with combination of states fan_timer_active, heat_or_cool, and fan_timer_timeout and some logic, I can answer my original question - that is, figure out whether fan is currently running and if so, why.