Inaccurate runtime hours for heat pump stages

I just installed a home energy monitor (Emporia Vue 3), and have been using it in conjunction with Beestat to get a better picture of how I should tune the thresholds and stages for my 2-stage heat pump. Over the past year or so (without the energy monitor), I played with the thresholds and settled on a 45 minute stage 1 max runtime and 3F stage 2 temperature difference. Both heating and cooling have a 1F differential. This works well to get me ~80% runtime in stage 1, but kick in stage 2 when needed to prevent excessive usage.

I currently have a 3F setback overnight from 11pm-7am. The coldest nights where I live will barely touch 32F, but we have quite a few nights that get into the upper 30s and stay there from about 11pm-7am. Most nights that get below 45F will have the heat pump run at least once to maintain the setback temp, before recovering in the morning.

The system usually takes 30-45 mins to heat the 1F differential during most nights, and due to my settings this means it should stay in stage 1.

However, the Vue has given me insight into my heat pump on these cold nights. Previously unknown to me, my system will automatically kick into stage 2 if the outdoor coil temp is below 35F for 30 seconds. This is evident by the compressor power draw being at stage 2 levels, even when my Ecobee was only calling for stage 1. And I confirmed that the system did not defrost during the night as well.

The upshot is that I believe my stage 1 heating profile curve is artificially flat since the colder end will have better performance if Ecobee thinks it’s in stage 1 but is actually in stage 2.

All this is a long way to ask (and pose a discussion) if there’s a way to compensate for this in Beestat. I know the Ecobee can’t detect when the heat pump has kicked itself into stage 2, but maybe Beestat can have a way to automatically assume the system is in stage 2 below a user-defined outdoor temperature?

This is a tough one! I think theoretically it might be possible to determine this, but I suspect it would be difficult to do very accurately as most profiles include a lot of noise for all kinds of different reasons (ex: oven is on or door left open to carry groceries in).

Does the manual for your heat pump document this behavior?

Thanks for the response! I agree this would be difficult to do empirically. Another factor is that using different remote temp sensor configurations for various profiles means indoor temp changes aren’t always consistent for a given outdoor temp at different times of the day.

I suspect I’m not the only one with temp profiles affected by this, but most are probably unaware unless looking specifically at the energy data too.

And yes, my heat pump manufacturer (York) is pretty explicit about this behavior in their installation manual:

Forced Second Stage Feature Operation (Two-Stage Heat Pump Only)
The control will force second stage compressor operation when the liquid line temperature is below the switch point even if the thermostat is calling only for first stage. The liquid line temperature must be below the switch point continuously for 30 seconds.

The switch point setting on my unit is 35F and that’s the lowest setting it can go. Given that this is an actual setting, you can understand my thinking for why a threshold in beestat might cover most cases where this phenomenon applies.