Nest Fan Timer support

The Nest app allows you to set the fan to run for a specified amount of time (15, 30, 45 minutes, 1, 2, 4, 8, 12 hours).

According to the documentation this information is available from the Nest API: https://developers.nest.com/documentation/cloud/thermostat-guide

And possibly already built into python-nest: https://github.com/jkoelker/python-nest/blob/master/nest/nest.py#L297

So it looks like the HomeAssistant component would just need to be updated to enable these features. Fan timer could be an extra attribute of the climate entity (or could be exposed as a separate sensor), and then allow an optional timer for the climate/set_fan_mode service? Or perhaps create a new service under the nest domain since it would be Nest specific.

Any movement on this? On my NEST thermostat, when I set fan_mode to ‘on’ it only stays ‘on’ for 30 minutes, before reverting back to ‘auto’. Seems to be missing the duration setpoint. Anyone else having this issue?

I am running HA version 0.116.2

Edit: https://developers.nest.com/reference/api-thermostat#fan_timer_duration

I updated to HA version 0.118.4 and the issue still is present.

Duration doesn’t look like it’s part of the HA climate service, so adding direct control might be a bigger undertaking.

I would like to see the default timer configurable in the integration (or even yaml! gasp!) Looks like it currently defaults to 12 hours (src).


I tried modifying this constant myself. When I did, the HA docker container wouldn’t start. No error message, nothing. I looked a little at the docs and existing next configuration flow, but I don’t have a dev environment setup, so have more hurdles to clear before being able to submit a solid PR.

For my future reference, integration’s async_set_fan_mode, library’s set_timer, API’s sdm.devices.commands.Fan.SetTimer.