Heat Pump Systems and the Ecobee: A Field Guide

Replacing an old radiator system with a centrally-ducted air-source heat pump and electric resistive backup heat exposes some awkward gaps in how standard thermostats think about heating. The ecobee's default algorithm, left to its own devices, behaves poorly for this setup. After weeks of staring at time-series graphs from ecobee's web interface and a Home Assistant integration, several settings emerged that yield considerably better behavior.

A note of caution: this is not professional HVAC advice. The observations come from a background in physics and software operations, not from industry training. Settings changes may void warranties or create safety hazards; proceed at your own risk and verify against your specific system's documentation.

Why Heat Pumps Are Different

An air-source heat pump system has two main parts: the outdoor unit (fan, compressor, and heat exchanger) and the indoor air handler (blower fan, another heat exchanger, and resistive electric coils for aux heat). The key differences from a gas furnace are economic and mechanical.

Electric resistive heaters have a Coefficient of Performance (CoP) of roughly 1—one joule of electricity becomes one joule of heat. A modern heat pump, depending on outdoor temperature and load, achieves a heating CoP of 2–4 by moving heat from outside air into the house. In operating cost terms, heat pump heat is 2–4 times cheaper than resistive aux heat.

Heat pumps also dislike frequent starts and stops. Startup transients stress the compressor electrically and mechanically. Long, low-speed runs are ideal; short cycling—full blast, shut off, restart ten minutes later—is not.

Variable-speed components complicate thermostat control. The heat pump's fan and compressor, plus the air handler's blower, can all run across a wide speed range. But commanding specific speeds requires a proprietary "communicating" thermostat from the equipment manufacturer. Those are expensive and have a reputation for buggy software, so a conventional 8-wire thermostat like the ecobee 3 lite was the pragmatic choice. It can only send binary signals: "give me heat" or "fan on." It cannot request a specific amount of heat.

The standard thermostat protocol does offer a two-stage notion. Y1 hot means "some heat"; Y1 plus Y2 hot means "more heat." Variable-speed heat pumps can emulate this via hysteresis: stage 1 offers a nominal low heat output; a call for stage 2 bumps the air handler blower up a notch and, after 20 minutes, slowly ramps the compressor too. This yields "true variable-capacity operation," at least in principle. The most efficient steady state would be one where the thermostat toggles frequently between Y1 and Y2, letting the system settle at the ideal speed. Realistic thermostats impose frequency limits to protect systems with true separate stages that have distinct startup and shutdown costs.

Aux heat is similarly staged on the air handler: W1 hot energizes one resistive coil; W1 plus W2 hot energizes both. The intent is clear: use minimal aux heat, supplementing the heat pump only as needed, because aux costs 2–4 times more per unit of heat delivered.

Automatic Mode Problems

Several weeks of observation with ecobee's automatic settings revealed recurring issues. These may depend on climate, building envelope, HVAC specifics, and ecobee's current algorithm tuning, so results will vary.

The most prominent problem: aux heat kicked in far too often, even when the heat pump alone could have reached the set point. Part of this traces to ecobee's default threshold for compressor minimum outdoor temperature, which shipped at around 35 °F. That disables the heat pump for most of a Midwest winter. The actual heat pump model in question is rated down to -4 °F, and cold-climate units commonly run to -20 °F. Lowering the setting to -5 °F is safe because the heat pump has its own physical thermostat interlock, which is more trustworthy than ecobee's weather feed.

Second, ecobee prioritizes speed of reaching the set point over efficiency. When progress is too slow, it burns expensive aux heat to get there faster. If you're comfortable with a jacket while the house warms up, this is wasteful. Setting "aux heat max outdoor temperature" to 25 °F ensures that above that temperature, the system won't use aux at all—the heat pump alone covers the house load down to about 20 °F.

The Reverse Staging Mystery

Ecobee's behavior once it called for stage 2 was also problematic: it would run in stage 2 until reaching the set point, then shut the entire system down. Running aux stage 2 burns more energy. Running the heat pump stage 2 shortens the cycle time, which is exactly what you don't want.

A time-series plot showing that once stage 2 engages, it runs until shutting off, causing frequent cycling

The fix is a setting called "reverse staging." Ecobee's documentation claims:

Compressor Reverse Staging: Enables the second stage of the compressor near the temperature setpoint.

That description appears to be wrong. Observation of the graphs shows the setting actually lets the staging state machine drop from stage 2 back to stage 1, rather than being locked in stage 2 until shutdown. It can ramp back up to stage 2 if needed, and down again as conditions warrant.

With reverse staging, it'll jump up to stage 2, then drop back down to stage 1.

Going Manual

Ecobee's automatic staging never reliably dropped back to stage 1 heat, nor did it avoid aux heat when stage 2 heat pump capacity would have sufficed. After enough attempts, automatic staging got disabled in favor of delta temperature thresholds. With a set point 1 degree above indoor air temperature, heat pump stage 1 engages. A 2-degree delta triggers stage 2. A 4-degree delta kicks in aux stage 1, and 5 degrees triggers aux stage 2. The goal is to use the minimum aux heat needed to supplement the pump. Aux heat runs concurrently with the heat pump—in the regime where pump heat is useful but insufficient, some heat pump heat is cheaper than all aux.

The default 0.5-degree delta for engaging heat pump stage 1 proved problematic. In certain temperature regimes it caused rapid cycling: that first-stage heat warmed the house to the set point quickly, forcing a shutdown, then the house cooled and the system restarted—several times an hour. Raising that delta to 1.0 degree extended the cycle time meaningfully.

Big Setbacks Need Preheating

A setback—lowering the thermostat while away or asleep—is common advice for gas furnaces. For heat pumps, the folk wisdom says run at constant temperature. The reason has to do with sizing: a properly sized heat pump doesn't deliver a huge excess of heat, so it can't catch up quickly when you ask for a higher temperature again. Without help, it dips into aux heat, and that's expensive.

In a Midwest winter climate (typically 15–40 °F), a schedule that drops from 68 °F to 60 °F overnight lets the house coast all night without HVAC at all. Ecobee theoretically should compute the lead time needed to get back to 68 °F and start the heat pump early. In practice, it waits too long, and the large temperature gap then triggers aux heat. The workaround is a custom activity in ecobee's web interface—call it "preheat"—set to 64 °F, scheduled for the hour before returning to the normal 68 °F. That smaller delta-T lets the heat pump do all the work without aux.

A time series graph showing temperature falling smoothly overnight as the HVAC is disabled, and then rising during the preheat phase in the morning.