Skip to content

Heat-loss + thermal-mass analyser

The /insights page reports three building parameters derived continuously from the heat-pump’s operating data:

SymbolUnitsDefinition
UW/KHeat-loss coefficient — steady-state heat flow per unit indoor-outdoor temperature difference
τhTime constant — characteristic decay time of the indoor-outdoor temperature difference with no heat input
CMJ/KThermal capacitance — energy stored per unit bulk-temperature rise

The three are linked by C = U · τ. Two independent estimators populate them: a steady-state fit for U, and an exponential decay fit on idle periods for τ. C is derived.

HeatSync fits a single-resistor, single-capacitance (1R1C) lumped thermal model:

C · (dT_indoor / dt) = Q_in − U · (T_indoor − T_outdoor)

The left side is the rate at which the building’s bulk temperature changes. The right side is the net heat balance: input from the heat pump minus loss through the envelope, where loss is assumed proportional to indoor-outdoor temperature difference.

Two regimes are tractable:

  • Steady state: dT/dt = 0, so Q = U · ΔT. One unknown.
  • Free cooling (Q = 0): the equation reduces to first-order exponential decay of (T_indoor − T_outdoor) with time constant τ = C/U.

The analyser samples (T_indoor, T_outdoor, Q_in) once per minute, where Q_in is derived by differentiating the indoor unit’s lifetime thermal-kWh counter (NASA register 0x4427). A sample is included in the U fit only if every condition below holds:

  • Compressor active (compOn = true)
  • Indoor 3-way valve in heating position (valve3Way = 0), not DHW
  • Not in defrost (defrostState = 0)
  • ≥10 minutes since the last DHW cycle
  • ≥5 minutes since the last defrost cycle
  • Indoor temperature range over the last 15 minutes < 0.3 K
  • Outdoor temperature range over the last 15 minutes < 2 K
  • Thermal output between 300 W and 30 kW
  • Indoor-outdoor delta ≥ 3 K

Each retained sample is added to a 30-bin histogram keyed by integer ΔT. The fit is a weighted regression of average thermal output against ΔT, constrained to pass through the origin:

U = Σ(ΔT_i · avg_W_i · n_i) / Σ(ΔT_i² · n_i)

The origin constraint is enforced because heat loss is zero at zero temperature difference by definition.

A cool-down event begins when the compressor is idle (or routed to DHW only) continuously for more than two hours. During the event, indoor temperature is recorded every five minutes. When the compressor returns to space heating the event closes.

With Q = 0, the model solution is:

T_indoor(t) = T_outdoor + (T_start − T_outdoor) · exp(−t / τ)

Taking logarithms makes this linear:

ln(T_indoor(t) − T_outdoor) = ln(T_start − T_outdoor) − t / τ

A least-squares fit of (t, ln(T − T_outdoor)) returns slope = −1/τ directly. Closed-form, no iteration required.

Events with fewer than six samples are discarded. Fitted τ values outside the range 1-168 hours are also discarded (implausible). The last 16 events are retained; the headline τ is the median of fitted values across that ring, which is more robust than the mean against events disturbed by occupancy or weather changes.

C = U · τ

Reported in MJ/K.

Two confidence figures are exposed alongside the headline values.

confidence_U combines bin coverage and sample volume:

  • < 3 populated bins or < 30 samples: no estimate
  • Otherwise: linear ramp toward 8 populated bins and 500 samples

confidence_tau scales linearly with the number of usable cool-down event fits, saturating at 8 events.

Both estimators are designed to converge slowly so that occasional noise (a window left open, a stormy day, a guest cooking three courses) does not move the headline numbers materially.

ParameterTypical convergence
τ3-5 cool-down events, normally a few days with an overnight setback
U14 days of varied outdoor conditions; faster in winter when ΔT is larger
CPaced by the slower of U and τ

In mild weather the U estimate accumulates slowly because ΔT is small and the signal/noise ratio is poor. The number tightens up as outdoor temperatures drop.

Building heat-loss coefficient (whole-building W/K) for a typical UK three-bed dwelling. Larger buildings scale proportionally.

U (W/K)Building type
< 80Passivhaus or equivalent
80 - 150Modern build or deep retrofit
150 - 250Average modern UK home
250 - 400Typical pre-2000 UK semi or detached
400 - 600Older or under-insulated
> 600Substantial heat loss

The time constant determines how much of the heating load can plausibly be shifted by pre-heating during cheap-rate periods.

τ (hours)Pre-heat behaviour
< 10Low thermal mass — pre-heating dissipates before it is needed
10 - 25Moderate — order 30 % of heating energy can be shifted
25 - 50High mass — substantial shifting possible
> 50Very high mass (typically slab-dominated UFH) — extended coasting feasible

The model is intentionally simple, which has consequences.

The analyser attributes all heat input to the heat pump. Solar gain through glazing, body heat from occupants, and waste heat from cooking and electrical appliances are not measured but contribute to the indoor energy balance. The reported U therefore understates true building heat loss; for UK homes the bias is typically 10-20 %.

Heat loss varies with wind speed, but Q = U · ΔT assumes still air. The histogram averages across many samples, so the long-run estimate is not dominated by any single windy period — but a prolonged stormy spell will pull the estimate upward.

A 1R1C model represents the entire building as one lumped mass. Real buildings have multiple masses with different time constants:

  • Air, furniture, internal plaster: ~3-8 h
  • Concrete slab, masonry walls: ~40-100 h
  • Foundation, deep ground: longer still

A slab-on-grade UFH install is bimodal. The fitted τ is a weighted blend that does not literally describe any one of the masses, but it is still informative for pre-heat decisions. Installs with heavy slabs may absorb more pre-heat energy than the 1R1C estimate would suggest.

A future revision may upgrade to a 2R2C model. It is not implemented yet because the data requirement is roughly four times larger for a reliable fit, and the practical improvement is small for buildings without a dominant slow mass.

The combination of U, τ, and a temperature forecast is sufficient to compute optimal pre-heat schedules.

Given forecast outdoor temperature T_out(t), target indoor T_set, and tariff windows, predicted heating power demand at any future time is approximately Q(t) ≈ U · (T_set − T_out(t)). The capacitance C constrains how much energy the building can absorb in a pre-heat window without significant overshoot.

A scheduler that uses these quantities is not yet implemented; this page provides the input parameters.

If the building has been substantially modified (insulation upgrade, glazing replacement, heat-emitter change) old samples will bias the estimate. A reset clears the histogram and event ring:

Terminal window
curl -X POST 'http://heatsync.local/api/heat-loss/reset' \
-H 'Authorization: Bearer <your-token>'

A reset button on the /insights page is on the roadmap.

  • ISO 13790 — Energy performance of buildings: simplified thermal models including 1R1C and 2R2C formulations.
  • Bacher, P. & Madsen, H. (2011). Identifying suitable models for the heat dynamics of buildings. Energy and Buildings 43(7).
  • BS EN 12831 — Heating systems in buildings: method for calculation of the design heat load.