All News | Boards | Chips | Devices | Software | Archive | About | Contact | Subscribe
Follow LinuxGizmos:
Twitter Google+ Facebook RSS feed
> get email updates <

OK Google: make this Nest hack a standard feature

May 10, 2017 — by Rick Lehrbaum — 2,378 views
Tweet about this on TwitterGoogle+Share on FacebookShare on LinkedInShare on Reddit

[Updated: May 11] — This easy (“at your own risk”) hack can unlock a Nest thermostat’s “Cool” mode in heater-only installations, allowing control of a heater’s ventilation fan as though it’s an A/C.

The Nest Learning Thermostat is a terrific energy saving Linux gizmo, with lots of cool features. I’ve been using one since January of 2016, and have enjoyed its ability to adjust our home’s heating based on an extensive array of time and temperature set-points. One frustration, however, is its inability to control our central heating system’s ventilation fan in a non-heating mode to circulate air in warmer weather using the same scheduling features that the Nest provides for heating or A/C cooling control.

Not all homes have — or even need — air conditioning. For example where I live, in Silicon Valley, our temperatures tend to be moderate throughout the year, with occasional heat waves. Additionally, my house is well insulated by virtue of its wood shake roof, stucco exterior walls, and lathe-and-plaster interior walls. Consequently, in the warmer months we can keep our home comfortable by using the heating system’s ventilation fan to keep the air moving, and in particular, to mix the cooler air from the ground floor into the upstairs areas.

Unfortunately, the Nest thermostat’s support for fan-only operation has no temperature component. Your only choices are to either turn the ventilation fan on and off manually (via a mobile app, desktop browser, or directly at the thermostat), or by means of a “Fan Schedule” that is based on timeframe and minutes per hour, but without regard to the ambient temperature sensed by the Nest. Though arguably useful, the Fan Schedule still requires manual intervention relative to whether the weather requires hourly air circulation — something that I expect a “smart thermostat” to handle as automatically as possible. Why not have temperature-controlled “fan-only” and “heat + fan” modes, similar to the device’s “cool,” “heat,” and “heat + cool” modes?

Example Nest schedules for Heat mode (left) and Heat + Cool mode
(click images to enlarge)

Of course, you can’t lower your home’s average temperature using air circulation, but in a two-story house a benefit can be gained by circulating the cooler downstairs air through the upper level. Plus, moving air makes you feel cooler, even when it’s just a fan blowing it around in the room you’re in.

Go IFTTT yourself!

Based on the Nest Thermostat’s online documentation, there are three ways to use the device to control your heating system’s ventilation fan independent of heating cycles:

  • “Manual” mode — in this mode you turn the fan on manually, either via a mobile or web app, or by rotating and pressing the Nest thermostat’s display. This mode activates the fan immediately, for a choice of durations ranging from 15 minutes to 12 hours.

Nest thermostat’s Manual function
(click image to enlarge)

  • “Fan Schedule” mode — using this option you can schedule the Nest to turn on the heating system’s fan every day for 15, 30, 45, or 60 minutes per hour, between two times that you specify (e.g. from 10AM to 10PM). This is the Nest’s only programmable fan-only mode, and the resulting hourly fan activation occurs regardless of the current ambient temperature sensed by the Nest.

Nest’s Fan Schedule function
(click image to enlarge)

  • IFTTT applet control — you can also create customized IFTTT applets to signal the Nest to activate your home’s fan whenever the inside temperature or outside temperature rises above a threshold you specify, based on services supplied by Nest and Weather Underground, respectively.

    Typical IFTTT applets for fan activation based on inside or outside temperatures rising above specific levels
    (click image to enlarge)

    As of this this writing, there don’t appear to be any IFTTT services for instructing the Nest to turn its connected fan on for a specified amount of time, for turning it off “if the temperature falls below [XY] degrees,” or for simply turning it off unconditionally. It’s possible that the time duration last selected in the Nest’s Fan Schedule or manual fan activation function (“Run fan for the next…”) may determine how long the fan will run when IFTTT signals the Nest to run the fan, but I haven’t found any clear definition of that aspect of the IFFTT Nest services. In any case, from the IFTTT Nest fan turn-on service experiments I’ve run, the results have been unsatisfactory and unreliable.

As far as I’m concerned, these options fall far short of what I expect from a “smart” thermostat. Consequently, I embarked on a quest to figure out a way to trick the Nest thermostat into thinking my heating system’s ventilation fan is an air conditioner.

Unlocking the Nest thermostat’s A/C features

My first step was to investigate the functions of the Nest thermostat’s input and output terminals, as well as the control signals implemented by typical 24VAC-controlled heating systems. The illustration below, adapted from the Nest Pro Installer Guide, shows how the Nest device is normally hooked up to heating-only and heating-plus-cooling systems.

Typical connection of Nest thermostat to Heating-only and Heating + Cooling HVACs
(click image to enlarge)

Through some research and experimentation, I hit upon a wiring trick that causes my Nest to control my heating system’s fan the same way it controls an air conditioner’s compressor, using its Cool mode for time and temperature set-points. Note that because this hack connects both the Y1 and G terminals to the fan control (typically green) wire, you can’t use this hack along with an actual air conditioner. On the other hand, if Nest were to implement a dedicated fan-only mode in firmware, the jumper wire would not be needed and a fan-only mode would not preclude the Nest’s standard, A/C-connected Cool mode.

How it’s done

First, a word of caution…

Connecting your Nest Thermostat in a manner not sanctioned by Nest could potentially void your device’s warranty and/or could even be dangerous. You may end up with damage to your Nest device or to the home heating/cooling equipment that you connect to it. Under no circumstances will this website or its owners or affiliates be liable in any way for any loss or damage of any kind incurred as a result of the use of any content posted, emailed, transmitted, or otherwise made available on or through this website.

The hack itself is very simple. It consists of a minor tweak to the connections between my home’s heating system and the Nest device. As shown below, all that was required was to connect the green wire (for fan activation power) from my heating system to both the G (“fan”) and Y1 (“cool”) terminals on the back of the Nest. In contrast to the standard Nest wiring shown above, my tweaked wiring is illustrated in the image below:

Modified connection of Nest thermostat to my home’s Heating-only equipment
(click image to enlarge)
Note: see “Warning and Disclaimer” farther above

The figures below show how the Nest thermostat detects — and reports — equipment status based on the HVAC connections it senses. As indicated, the wire colors of interest are red for 24VAC input, white for heater activation, green for fan activation, and white for A/C compressor activation.

Nest’s equipment status with (left) and without a Yellow “Cool” call wire
(click image to enlarge; adapted from Nest Pro Installer Guide)

More specifically, without a “yellow” wire connection for controlling an HVAC’s A/C compressor, the Nest thermostat only presents “heating” mode functionality to the user, and thereby only offers the minimal fan-only control capabilities outlined farther above.

With the jumper wire installed, the Nest responds as though it has detected the presence of an air conditioner Compressor control circuit at its Y1 terminal. As a result, the device now presents two additional modes — “Cool” and “Heat + Cool” — in its user interface, and it sends power for activating the heating system’s fan through either (or both) the fan control terminal (G) and the A/C compressor control terminal (Y1). In effect, either or both switches in the Nest could route the same input power that enters the Nest through its R input terminal to the fan control output wire that is connected to both its G and Y1 output terminals.

My Nest’s newly unlocked Cool and Heat + Cool modes (left), and the Nest operating in its new fan-only Cool mode
(click images to enlarge)

The result is my Nest can now turn my home’s ventilation fan on and off based on Nest temperature set-points, the same way it would control an air conditioner’s compressor. Yet, it can still control the fan as before when it’s in heating mode, including the ability to coexist with the Nest’s “Fan Schedule” function.

My hacked NEST in Heat + Cool (fan-only) mode, while heating
(click image to enlarge)

Clearly, an even better fan-only mode could be implemented by a future Nest firmware update. For example, scheduled temperature thresholds could be modulated by fan a duty cycle setting similar to what’s available now in the device’s “Fan Schedule” function. In any case, a temperature controlled fan-only mode like what this hack provides would useful to those who don’t have an air conditioner in their homes, but would like “smarter” fan-only air circulation, without depending on Cloud-based third party services such as IFTTT for something that can be done easily by the Nest device itself.

(advertise here)


3 responses to “OK Google: make this Nest hack a standard feature”

  1. Alan B Dee says:

    My favorite feature of the Nest is it’s ability to turn on the fan for 15 minutes every hour. Since I installed it, I’ve seen about a $20 savings over utilities from the previous year.

    • coolguy says:

      the feature to turn on the fan every 15 minutes is an intermittent fan feature that recirculates the air during mild temp periods when your heat or a/c won’t run that much…if the fan isn’t running, it can’t filter the air… so intermittent fan causes the fan to turn on 3 to 4 times an hour so it at least filters the air for you when it’s not calling for a/c or heat. how it works is when it is satisfied from a heat or a/c call, a countdown timer initiates and if it’s allowed to go to zero, it turns on the fan for about 5 minutes and shuts back off. this allows your system to filter the air periodically when it normally will be off, instead of running all the time if you put the fan switch to “on”.

  2. coolguy says:

    there is nothing mystical about your hack…the thermostat doesn’t care what it’s outputting to, as long as your total load isn’t more than about a half an amp (the load capacity of a 40va transformer in your air handler or furnace). there is only one input from your air handler or furnace to the thermostat…that is “R”; its coming from the 24v power terminal from the 40va transformer. the rest of your connections on the thermostat are outputs to turn on different things and it doesn’t care what they are (just observe your load amps. in your application, its powering on the fan relay through “G” and passing that 24v through “Y” tricking the thermostat into thinking there is a compressor contactor out there somewhere). your hack will not cause any problems. shorting the “G” to “Y” is ok….nest will interpret the connection as you having an a/c condenser wire connected. it really doesn’t care. you can connect it to a 24v relay and have it power on anything you want to thermostatically control. i once used the “G” terminal on a standard thermostat to manually power a reversing valve to a heat pump because i didn’t have enough wires to work a heat pump…rather than pull new wire, i used what was there. only thing was i didn’t have use of the fan switch for it’s traditional use…but i didn’t care. all a thermostat is, is a 24v switch. “r” is the input, all other terminals are outputs. just don’t let your load be more than .5 amps and your ok (technically a 40va transformer will handle .75a but i wouldn’t push it) . you will find most relays only pull about .3 amps. gas valves rarely pull more than .3 to .5 amps.

Please comment here...