Many HVAC systems have integrated fans, which means that the fan cannot be controlled independently. There is no off mode for integrated fans, because the fan needs to run when the heating or cooling is on.
However, if the HVAC system is compatible, the fan can be explicitly turned on via the API, in order to make occupants more comfortable, without engaging the full HVAC system.
If the fan can be controlled independently, has_fan will be set to true, and the following data values can be set with Thermostat read/write permissions:
fan_timer_active - boolean, returns true if fan timer is engaged for a pre-programmed duration
fan_timer_duration - int, the length of time (in minutes) that the fan is set to run
Use these values together to initiate the fan timer (turn the fan on) for a specific period of time. You can also use the fan_timer_timeout value to determine the timestamp of when the fan is set to stop running.
Note that you can always change fan_timer_duration - it is independent of hvac_mode or structure occupancy state (away).
What do you think about creating a node for controlling the fan? I need some programmatic fresh air!
I'd be happy to help by submitting a PR once I can wrap my head around node-red dev. I've just picked it up today.
https://developers.nest.com/documentation/cloud/thermostat-guide