Heat Pump Defrost Monitoring in Home Assistant: Sensors and Data Interpretation

Heat pump defrost monitoring in Home Assistant: use confirmed status, correct sensors, weather context, event counting and safe energy analysis.

Quick Summary (TL;DR)

An air-source heat pump can build frost on its outdoor heat exchanger when humid air meets a sufficiently cold coil. When the manufacturer’s controller decides defrost is needed, the machine temporarily removes that frost, typically by reversing the refrigerant cycle. This is normal operation, not automatically a fault. Home Assistant can make these events visible, help compare winter performance, and reveal conditions worth discussing with an installer—but a temperature dip or electrical spike alone is not proof that defrost occurred.

Best method: use the manufacturer’s explicit defrost or operating-mode telemetry when available. Second best: correlate flow/return water temperatures, outdoor air temperature, compressor/whole-unit electrical power, operating mode and heating demand on synchronised graphs. Last resort: classify possible defrost events using conservative multi-sensor rules and call them candidates, with a confidence score and manual validation. Never use such a heuristic to change the refrigerant cycle, force defrost or disable equipment protections.

For serious comparison, record data at useful intervals, document sensor locations, use the same electrical and thermal measurement boundaries, and compare similar weather and operating conditions. Count event frequency, duration and recovery time, but avoid universal “normal cycles per day” thresholds: actual behaviour depends on humidity, coil conditions, design, firmware and load.

This guide is for observing and analysing an installed heat pump using Home Assistant, ESPHome-compatible external sensors, the manufacturer’s supported telemetry and electricity/heat meters. It is not a refrigerant-service guide. Work involving sealed refrigerant circuits, mains electrical equipment, pressure vessels or safety-critical heating controls belongs to qualified personnel.

What heat pump defrost actually is

In heating mode, an air-source heat pump normally extracts energy from outdoor air. Its outdoor coil can be colder than the surrounding air. When the coil surface falls below the frost point in sufficiently moist conditions, moisture deposits or freezes on its fins. Frost reduces effective airflow and heat exchange. The machine therefore needs an occasional way to clear it. Some systems also employ fan-management or other frost-control strategies before a full reversal.

In a common reverse-cycle defrost, a reversible refrigerant circuit directs hot refrigerant towards the outdoor coil. The outdoor fan may stop or run differently, depending on the equipment. Heat is temporarily drawn from another part of the system—often the hydronic circuit and its buffer or building-side water—for clearing ice. Space-heating output may fall, stop or briefly become negative at the heat-meter boundary. An auxiliary heater might operate on some installations. The detailed sequence is manufacturer-dependent and cannot be reconstructed from a generic diagram alone.

Importantly, defrost is not a timed function that Home Assistant should command. The manufacturer’s controller makes the decision using its own sensors and protective logic. Our task is to observe what happened, not to second-guess a machine’s safety firmware.

Frost, condensation and ice are not the same thing

A wet coil or water dripping under the outdoor unit is not by itself a fault. During cooling or during frost removal, visible water is expected. A mist or plume as the outdoor coil warms can also be normal. A coating of frost that later disappears is different from a solid ice blockage that persists over repeated heating and defrost cycles. Photos with dates and weather conditions can be useful to a technician, but standing close to moving fans or probing into the outdoor unit is unnecessary and unsafe.

ObservationPlausible explanationWhat it does not prove
Thin frost during cold, humid weatherCoil is below local frost pointThat the unit has failed or needs manual defrost
Outdoor fan pauses while temperatures shiftPossible reverse-cycle defrost, speed control or another operating stateThat a defrost has definitely begun
Flow temperature drops brieflyReversal, load change, pump mixing, DHW transition or sensor lagA confirmed defrost on its own
Compressor electricity risesCompression demand, hot-water production, auxiliary heat or transient operationDefrost energy without an operating-state marker
Meltwater beneath outdoor unitCondensate or thaw waterWhether defrost duration or frequency is abnormal
Ice remains over many cyclesPotential drainage, airflow, sensor, refrigerant or control issueWhich component is at fault without an inspection

Weather conditions matter more than a single outdoor temperature

An outdoor air reading of 2°C at high humidity can create more frost opportunity than a colder but much drier condition. Relative humidity helps, although outdoor air temperature and RH measured metres away do not directly give the coil surface temperature. Wind, rain, fog, coastal exposure and local microclimate matter as well. Dew point derived from outdoor temperature and RH is useful context; it is not a substitute for an actual coil sensor. A defrost plot should therefore record the local weather alongside heat-pump measurements.

Choose your level of measurement: native status first

Some models and gateways expose a dedicated mode or state such as defrost, de-ice, or a numerical operating code that the official register list maps to defrost. Others expose only compressor frequency and temperatures. A product may publish data through a local Modbus interface, a supported manufacturer gateway, an official Home Assistant integration or a vendor cloud. Each has different delays, granularity and reliability.

Measurement routeTypical data availableConfidence for identifying defrostPractical caveat
Native explicit defrost stateOn/off flag or documented operating modeHighest, if the manufacturer defines it clearlyVerify model, firmware, coding and polling latency
Manufacturer service telemetryCoil temperatures, four-way-valve state, compressor parametersPotentially highMay be inaccessible or intended for technicians
Documented Modbus register mapModel-specific temperatures, state, electrical energyMedium–high when a true state register existsRegister names, scaling and write safety vary by model
Supported Home Assistant integrationSelected status and sensor entitiesDepends on what it actually exposesEntity named ‘mode’ may not represent defrost
External hydronic and electric metersFlow/return temperatures, thermal energy, supply powerUseful for corroborationCannot directly see refrigerant valve position
Outdoor air sensor onlyTemperature and relative humidityContext onlyCannot identify individual defrost events

Buying priority: before adding a new gateway, inspect the entities already exposed by your heat pump and find its exact installation or interface manual. Ask whether the output is genuinely local, what happens when internet access fails, whether defrost status is supported for your precise model, and whether timestamps are obtained locally or delayed by a cloud service.

A vendor’s claim of ‘Modbus compatible’ does not by itself guarantee that the important values are documented or readable. Conversely, a device without native defrost telemetry can still produce useful winter analytics if the hydronic and electrical data is reliable. See our OpenTherm gateway and ESP32 guide for the broader distinction between a heating protocol and a usable Home Assistant integration; OpenTherm is not a universal heat-pump defrost telemetry protocol.

Where to measure: water, electricity and outdoor conditions

For an air-to-water system, the most useful practical view combines the heat-pump hydraulic boundary, the electricity supply boundary and the weather boundary. These boundaries are easy to misunderstand when a buffer tank, low-loss header, plate exchanger or extra circulation pump is present. A temperature pair on the wrong side of a buffer may show room demand but not what the heat pump itself is doing.

Recommended sensor inventory

Sensor or entityPlacement / sourceUseful forImportant limitation
Native defrost stateManufacturer local gateway or supported integrationConfirmed event timingState reporting interval can miss short events
Leaving-water / flow temperatureHeat-pump outlet, at a documented hydraulic pointThermal dip and recoverySensor lag and pipe insulation matter
Entering-water / return temperatureHeat-pump inlet, matched installationHeat-exchanger temperature differenceBuffer mixing can obscure the event
Water flow rateProperly rated heat meter at heat-pump boundaryEstimating heat transferMinimum flow and glycol correction must be understood
Heat delivered / extractedCalibrated heat meter, if compatible with reversible signNet thermal exchange over an intervalSome meters clip negative energy to zero
Heat-pump electrical powerDedicated circuit energy meterAliExpress pricePower profile and electrical inputMay include or exclude immersion, pumps and controls
Outdoor air temperature and RHShaded, ventilated site away from exhaustFrost-weather contextNot the coil temperature
Compressor operating stateSupported machine telemetryCorroborationSome state labels conflate compressor and heating mode
DHW demand / three-way valve stateNative heating controllerExcluding cylinder heatingDHW transitions can imitate defrost dips
Auxiliary heater statusHeat-pump controller and/or separately metered circuitExplaining electrical peaksIt may be bundled into ‘whole-unit power’
Zone demand / buffer temperatureHeating controller / sensorsLoad context and recoveryNot a diagnostic measurement of refrigerant performance

For high-quality water measurements, see our heat pump flow and return temperature sensor guide. For electrical and heat-meter boundaries, read Heat Pump COP in Home Assistant. Those articles cover calibration and meter selection in more detail; here we focus on how the measurements are used to recognise and interpret defrost.

One hydraulic schematic can prevent months of incorrect conclusions

Draw a simple line diagram showing the outdoor heat-pump unit, hydronic flow/return connections, buffer or volumiser, DHW diverter, circulation pumps, underfloor manifold, radiators and each meter or probe. Label the exact location of every temperature sensorAliExpress price. Record whether the heat pump uses glycol or another antifreeze strategy. Keep this with the commissioning documents.

A sensor on the common house return after mixing from several zones is not necessarily the heat-pump entering-water temperature. A sensor on a plate heat exchanger secondary loop cannot reliably reconstruct primary refrigerant-side performance. Similarly, an electricity sensor on the entire consumer unit cannot isolate heat-pump defrost. These are boundary issues, not software problems.

Sensor response time and timestamp discipline

Clamp-on probes may lag water temperature changes, especially on large uninsulated pipes or under imperfect thermal contact. A factory immersion probe may react faster. Wi-Fi sensors often report only after a threshold change; battery humidity sensors may update irregularly. Cloud integrations can deliver several points at once with delayed timestamps. If you compare these signals without accounting for timing, a flow dip can appear to precede or follow an event in a misleading way.

Reporting intervalStrengthWeakness during a short event
5–10 secondsClear transient shapes on fast local telemetryMore data, possible gateway limits; respect supported polling rate
15–30 secondsGood starting point for many local water and power sensorsMay smooth an abrupt reversal or a brief event
60 secondsOften sufficient for event counts and daily trendsStart/end times approximate, peak values may be lost
5 minutesAcceptable for weather trends and weekly totalsCan miss an event or distort its duration substantially
15–60 minutesLong-term background viewUnsuitable for individual defrost cycle detection

The correct interval depends on what the manufacturer permits and how often the underlying sensor actually changes. Avoid aggressive polling that overloads gateways or supported APIs. Make sure the Home Assistant host uses a reliable time source, and note daylight-saving transitions when evaluating wall-clock event times. For interval computations, actual elapsed time matters more than a formatted local date.

What a typical defrost event looks like in the data

A multi-sensor view often shows a reasonably steady heating period, followed by a change in unit operating state, a reduction in leaving-water temperature, a compressor or electrical-power change and then a recovery towards the target flow temperature. The exact order and amplitudes vary widely. Some systems keep circulating water through the heat exchanger; others alter pump operation. Some enable backup heat; many do not. An observer must never assume an expected temperature signature is universal.

Illustrative example only: imagine a unit holding a leaving-water temperature near 35°C with a return near 30°C. A defrost state is reported for four minutes. During that interval, leaving-water temperature dips to 28°C, the return changes more slowly and electrical power rises. After the state clears, the controller increases output until leaving water returns to 35°C. That is a coherent event if the operating flag is trustworthy. With temperatures alone, the same pattern would be only a candidate until confirmed against other operating states.

PhaseNative defrost statusFlow temperatureElectric powerInterpretation
Stable space heatingOffRoughly steady at targetLoad-dependent baselineEstablish comparison period
Defrost initiationOnOften starts to fallMay rise or varyController has entered defrost state
Active defrostOnMay be substantially lowerCan be elevated or reducedSpace heat may be curtailed or briefly reversed
Defrost completionOffBegins recoveringMay remain elevatedRe-establishing heating conditions
Return to equilibriumOffApproaches control targetStabilises to loadRecovery period ends by chosen rule

These figures are not commissioning limits. There is no universal threshold such as “more than three defrosts per hour means a faulty heat pump”. Frequency depends on outdoor humidity, temperature, control strategy, equipment sizing and the quality of the installation.

Confirmed, probable and uncertain events: a sensible classification scheme

Defrost monitoring is more useful when it states its confidence openly. That allows you to draw meaningful conclusions without hiding how the data was obtained. Keep separate fields for event_source, confidence, start, end, duration and exclusion_reason. A simple confirmation hierarchy can prevent impressive-looking but inaccurate dashboards.

Event labelEvidence requiredSuggested reporting languageAppropriate use
ConfirmedDocumented manufacturer’s defrost mode or state‘Confirmed defrost’Event counts, timings and comparison
ProbableSeveral aligned indicators and no conflicting DHW/stop state‘Probable defrost’Investigate trends, manually review samples
CandidateWater-temperature drop or power change alone‘Possible defrost candidate’Build an annotated investigation queue
RejectedEvent explained by DHW, room-control change, sensor fault or reboot‘Not classified as defrost’Refine detection rules
UnobservableData gap, insufficient sensor set or mode unavailable‘Defrost status unknown’Avoid incorrect zero counts

There is a crucial difference between zero detected events and zero events having occurred. A missing status sensor cannot support the latter. A cloud gap can create apparent gaps between events or make many individual defrosts merge into one. Make unavailable states visible rather than converting all missing data to off.

Basic pattern analysis when there is no native flag

Look for candidate intervals while the machine is known to be heating the house, with outdoor conditions favourable to frosting. A simultaneous leaving-water temperature drop, a compressor/power-pattern change and a subsequent recovery strengthen confidence. Document thresholds for your specific installation, and evaluate them against manually checked days. A 3°C water-temperature drop in one system might be meaningful, while the same drop in a highly mixed buffer circuit may be unremarkable.

Before classifying an interval, ask whether one of the following happened: the domestic hot-water diverter moved; a thermostat stopped calling for heat; the scheduled setback began; the heat pump performed a pressure/flow protection sequence; a secondary pump switched; a buffer mixer changed; a wired sensor disconnected; there was a firmware update or reconnection; the unit simply went idle at low demand. These false positives are common and must be excluded.

Make detection a two-stage process

Stage 1: identify candidate intervals using measured data and give each a timestamp, supporting readings and exclusion flags. Stage 2: review several candidate graphs against native telemetry, manufacturer logs, video/photo observations taken safely from outside or a service engineer’s interpretation. Only after calibration should the detector be treated as reliable. If there is no independent ground truth, publish it as a heuristic rather than promising ‘accurate defrost counts’.

Home Assistant method 1: use a genuine defrost binary sensor

If the manufacturer supplies a true binary defrost_active entity, this is the easiest and strongest setup. Entities vary between integrations. In the examples below, binary_sensor.heat_pump_defrost_active is a placeholder that you must replace with a documented entity on your system. Do not create that entity by renaming an unrelated compressor flag.

The History Stats integration can report how long that binary sensor was on during a daily window, and how many times it was observed in that state. The count metric is not exactly the number of off-to-on edges in every case: its official documentation notes that a state already on at the window’s start can count, too. That nuance matters for an overnight event crossing midnight.

Example A: daily defrost duration and observed occurrences

# Add to configuration.yaml, adapting the source entity ID.
# Monitoring only: no heat-pump control outputs.
sensor:
  - platform: history_stats
    name: "Heat pump defrost hours today"
    unique_id: heat_pump_defrost_hours_today
    entity_id: binary_sensor.heat_pump_defrost_active
    state: "on"
    type: time
    start: "{{ today_at() }}"
    end: "{{ now() }}"
  - platform: history_stats
    name: "Heat pump defrost occurrences today"
    unique_id: heat_pump_defrost_occurrences_today
    entity_id: binary_sensor.heat_pump_defrost_active
    state: "on"
    type: count
    start: "{{ today_at() }}"
    end: "{{ now() }}"

type: time returns hours. Multiply by 60 in a display template if you want minutes; don’t label a value of 0.5 as 0.5 minutes. type: count should be described as observed occurrences rather than an infallible number of starts. Check the first day after installation, system restarts and any event crossing midnight. Recorder history must cover the analysis window and the entity must be present.

A five-minute state polling interval means you might record one five-minute event as zero, five or ten minutes depending on polling alignment. If the device publishes its state asynchronously, event times can be more precise. Your dashboard should show the sensor’s update age as well as its current value.

Example B: monitoring-friendly state-age sensor

A stale native state is dangerous analytically even if it is harmless to the heat pump. A dashboard can indicate when a sensor last updated, but last_updated includes state/attribute updates and does not prove the gateway recently polled its source. Where the integration exposes a dedicated last successful communication timestamp, prefer it. If it does not, use Home Assistant’s History pane and gateway logs to investigate apparent data gaps rather than fabricating a health check from a constant state.

# This template displays minutes since Home Assistant last updated
# the entity; it is NOT proof that the device remains connected.
template:
  - sensor:
      - name: "Defrost entity update age"
        unique_id: defrost_entity_update_age
        unit_of_measurement: "min"
        state: >-
          {% set e = states.binary_sensor.heat_pump_defrost_active %}
          {% if e is defined and e.state not in ['unknown','unavailable'] %}
            {{ ((as_timestamp(now()) - as_timestamp(e.last_updated)) / 60) | round(1) }}
          {% else %}
            {{ none }}
          {% endif %}

This example intentionally returns unknown on missing data rather than treating unavailable as normal. Some integrations do not update a state entity when the underlying value remains constant, so an old last_updated value may coexist with a healthy device. Do not use this sensor alone for service alerts or event validation.

Home Assistant method 2: examine temperatures and power without inventing certainty

If you have no native status flag, start with a monitoring dashboard rather than a classification automation. Record leaving-water temperature, entering-water temperature, outdoor air temperature, electric power and heating/DHW mode. Put them on a common timeline. Use line graphs with individual vertical scales; a 1°C dip can be invisible when graphed against a 0–5,000 W power trace on the same axis.

Home Assistant’s Statistics integration can compute a recent mean, minimum, maximum or change for a numeric source. However, an abrupt drop that spans an irregular set of updates can be missed or distorted. Official guidance notes that a time-windowed statistic requires enough values across the whole interval. A source reporting once per 15 minutes cannot credibly support a five-minute change detector.

Example C: watch a five-minute flow-temperature change

# Observe a temperature-change metric. This is NOT a defrost flag.
sensor:
  - platform: statistics
    name: "Heat pump flow change over five minutes"
    unique_id: heat_pump_flow_change_5min
    entity_id: sensor.heat_pump_flow_temperature
    state_characteristic: change
    max_age:
      minutes: 5
    sampling_size: 40
    precision: 2

The Statistics change characteristic is newest sample minus oldest sample in the selected buffer, according to Home Assistant’s documentation. A negative result is consistent with a falling source temperature, provided that the window contains enough correctly timestamped measurements. It is not a fixed five-minute derivative if the sensor reports irregularly or goes unavailable. Verify sensor age and sample coverage before classifying anything. This change metric is useful for highlighting possible intervals; it does not identify defrost by itself.

For an explicit, time-aligned derivative or drop, prefer a controlled recorder query or an external time-series tool where you can compare each current sample with a real measurement from a defined number of minutes earlier. Avoid comparing an instantaneous value with a stale, unlabelled minimum. For the first two weeks, write down candidate start/end timestamps manually so you can check that your expected changes appear where they should.

What not to automate

Do not create a script that writes to a Modbus ‘defrost request’, changes the four-way valve, disables defrost protections or cycles the heat pump off whenever a heuristic sees a temperature drop. Even turning space heating off at the wrong moment can affect hydraulic conditions on an installation with minimum-flow requirements. Monitoring and safe notification can be useful; operational defrost decisions belong to the manufacturer’s controller.

Worked example 1: recognising a convincing event

Consider a hypothetical 8 kW-class air-to-water heat pump on a humid winter morning. Its own operating mode records space_heat, then defrost, then space_heat again. The water meters report every 15 seconds and the electricity meterAliExpress price every ten seconds. The weather sensor reports every two minutes.

TimestampController stateFlow °CReturn °CWhole-unit power kWOutdoor air °CInterpretation
07:00Space heating36.031.21.92.3Established baseline
07:04Space heating35.931.01.92.3Before transition
07:05Defrost34.831.02.22.3Confirmed start
07:06Defrost32.130.62.62.3Water cooling
07:07Defrost29.329.82.42.3Thermal output may be negative
07:09Space heating29.829.02.12.4Confirmed defrost end
07:13Space heating34.230.22.92.4Recovery
07:17Space heating36.031.02.02.4Baseline restored

The defrost-state duration is four minutes, from 07:05 to 07:09. Recovery takes approximately eight more minutes by the chosen baseline criterion. Be precise: an eight-minute recovery is not an eight-minute defrost. From the electrical power alone, neither interval can be assigned an accurate heat-pump energy cost without comparing with a realistic counterfactual baseline and integrating correctly over time.

The apparent moment where flow temperature becomes lower than return suggests energy may be moving from the water side to the refrigerant side at that measurement boundary. But if sensors are placed on opposite sides of a buffer, or have mismatched thermal lag, the same sign change could be false. Confirm the hydraulics before calling this ‘negative heat output’.

Worked example 2: thermal energy and why COP can mislead

For water, a useful approximation is:

Thermal power (kW) ≈ 0.0698 × volume flow (litres/minute) × (flow temperature − return temperature) (°C).

This uses a nominal water heat capacity and density near typical heating conditions. It does not apply unchanged to all glycol mixtures or high-temperature/pressure operating points. A calibrated heat meter with the right fluid setting is preferable to an improvised calculation.

Suppose the measured water flow is 18 L/min and, during a stable heating period, leaving water is 35°C while return water is 30°C. The estimated delivered thermal power is:

0.0698 × 18 × 5 ≈ 6.28 kW.

If the temperatures temporarily reverse to leaving water 29°C and entering water 30°C with the same real flow, signed hydronic thermal power becomes approximately −1.26 kW. Negative here describes the direction of net thermal energy crossing the chosen hydronic boundary, not a failure of the heat pump or a universally supported meter output. Many consumer heat meters either do not record reverse energy or have their own measurement conditions, so check the documentation.

If signed thermal power stayed at −1.26 kW for four minutes, the approximate water-side energy exchange would be −1.26 × 4/60 ≈ −0.084 kWh. That is a hypothetical rectangular approximation; a real event varies continuously, and plumbing and sensor response times complicate the shape. Meanwhile, a 2.4 kW electrical input over the same four minutes corresponds to 0.160 kWh electrical consumption. The figures are not directly interchangeable and do not by themselves quantify the economic penalty versus an ideal no-defrost scenario.

QuantityWorked valueInterpretation
Water flow18 L/minMust be measured at same hydraulic boundary
Heating-phase ΔT+5°CApproximately +6.28 kW heat to water
Defrost-phase ΔT−1°CApproximately −1.26 kW at water boundary
Assumed defrost duration4 minFrom confirmed controller state
Hypothetical reverse heat exchange−0.084 kWhIntegral of assumed constant negative thermal power
Electrical use over event0.160 kWhIf whole-unit power remains 2.4 kW for 4 min
‘Defrost cost’Not inferable from those two valuesRequires suitable counterfactual and total-period boundary

Why an instantaneous COP chart can turn negative or explode

COP is thermal output divided by electrical input over compatible boundaries and intervals. During reversal, a signed hydronic heat-flow meter may report negative output while electrical input remains positive, so an instantaneous ‘COP’ can be negative. If a sensor clips reverse heat to zero or one of the sensors updates late, the chart can show extremely high spikes or zeroes. Neither should be interpreted as the heat pump’s seasonal efficiency.

For meaningful performance, integrate cumulative measured useful heat and cumulative matching electrical input over a defined period and use ratio of sums, not a simple arithmetic mean of five-minute COP readings. Report whether the heat meter captures reverse thermal transfer and whether defrost, pumps, immersion and DHW are included. Our COP measurement guide develops those boundaries in detail.

Worked example 3: comparing cold weeks without fooling yourself

Suppose week A has 22 confirmed defrost events and week B has 35. That alone does not mean the heat pump deteriorated. Perhaps B had twice as many hours near freezing at high humidity, a different hot-water schedule, lower flow temperatures, changed ventilation or increased household load. Compare events per heating operating hour as well as per day, and stratify by weather.

MetricWeek AWeek BWhy it matters
Confirmed defrost events2235Raw count only
Compressor/heating running hours80 h112 hDifferent exposure to operating conditions
Events per heating hour0.2750.313Still not weather-normalised
Hours in high-frost-risk weather24 h53 hLarge environmental difference
Total defrost-state minutes104 min163 minDuration burden
Daily delivered heatVariesVariesDemand may not be comparable
Measured seasonal-style performanceRequires consistent boundariesRequires consistent boundariesAvoid cherry-picking short intervals

The event rate difference is about 14%, but the weather exposure difference is much larger; without a controlled comparison there is no evidence of a fault. It is more helpful to group hours by outdoor-temperature range and humidity bands and compare counts and durations within each group. Include unknown periods in your report: dividing by ‘total hours’ while ignoring outages can artificially lower the apparent rate.

Detecting abnormal patterns without inventing universal limits

A heat pump that defrosts frequently may still be behaving appropriately in its local weather. Similarly, a system that rarely defrosts might simply operate in dry conditions or be missing telemetry. Monitoring is most valuable for spotting changes in the same installation under comparable conditions. Establish a baseline before adding service alarms.

Pay attention to the following signals in combination. A gradually rising number of events at the same weather conditions and operating hours can be a useful investigation lead. A recovery that becomes slower while water flow and temperature targets are otherwise unchanged may also warrant review. Persistent ice, new sounds, error codes or a sudden deterioration in space-heating ability are more important than a dashboard-defined frequency threshold.

Observed patternPossible non-fault explanationPossible item to ask an installer to checkRecommended first action
More defrosts during 0–5°C humid weatherTypical frost-prone conditionsNone if normal recovery and comfortCorrelate with temperature and humidity
Long recovery despite modest room demandBuffer/flow sensor placement, defrost strategyWater flow, zone hydraulics, control settingsPlot demand, flow rate and leaving-water target
Persistent thick outdoor ice between cyclesDifficult weather, drainage refreezingDrainage, coil airflow, sensor/control faultsRecord photos safely and contact service provider
Defrost candidate appears during every DHW chargeTemperature signature of three-way-valve changeNone until classification verifiedAdd DHW-state exclusion to detector
Many events after HA restartRecorder/history or entity reconnection artefactNone yetCheck raw timestamps, unavailable intervals
Reported defrost lasts 45 minutesIntegration holds stale on valueGateway polling or manufacturer diagnosticsConfirm event logs and actual source states
Frequent compressor start-stop with no defrost flagLow-load cycling, zone control, mode changesModulation limits/flow if troublesomeSeparate short-cycling from defrost analysis
Auxiliary heater energises during defrostMay be manufacturer-normal on this modelSettings only if unexpected per documentationCheck model manual and whole-unit metering boundary
Very large negative ‘COP’Signed thermal output during reverse transferMeter sign conventions or sensor positionsAudit calculation before changing equipment

When to seek service rather than more automation

Prompt professional assessment if the heat pump repeatedly shows manufacturer alarms, the outdoor coil becomes heavily blocked with ice that does not clear, water leaks threaten equipment or walkways, the system cannot meet reasonable space-heating requirements, a safety device trips, or abnormal noise/vibration appears. A blocked condensate drain can cause ice under a unit; never chip frozen components or pour hot water into electrical or refrigerant compartments. Follow the manufacturer’s cold-weather and condensate management guidance.

There is no need to modify the sealed circuit or force a compressor reset to produce better logs. Defrost firmware and thresholds should remain under the heat pump controller. On a newly installed system, send a technician an annotated graph of manufacturer mode, supply/return temperatures, electrical power, flow rate, outdoor conditions and the relevant error codes rather than an unsupported claim that the device ‘defrosts too often’.

Sampling, retention and visualisation in Home Assistant

The History/Recorder stack can record state changes for dashboards. For detailed time-series investigations, some homeowners also use a dedicated time-series database and charting application, but this is optional and adds maintenance. What matters more than tool choice is data freshness, sensor identity, retention and consistent timestamps.

An effective dashboard can use separate graphs for: manufacturer operation state and defrost flag; leaving/return water temperature; heat-pump electrical power; outdoor air temperature and humidity; and measured thermal power if genuinely available. Add DHW charge state and zone demand as timeline annotations. Mark data outages visibly. Keep a short panel listing event count, confirmed minutes, average duration, longest validated recovery and weather exposure. If you use a candidate classifier, display its confidence prominently.

Recommended baseline dashboard

PanelEssential entitiesQuestion answered
Operational timelineSpace heat, DHW, defrost state, unavailable periodsWas the unit really defrosting?
Hydronic responseFlow, return, flow rate, target flow tempHow did water temperatures behave?
Electric responseHeat-pump circuit power and cumulative kWhWhat input pattern accompanied the event?
Weather contextOutdoor air temp, RH, optional calculated dew pointWere conditions favourable to frost?
Heating serviceIndoor temperature, zone demand, DHW stateDid comfort or hot water service suffer?
Quality panelLast update, sensor availability, event confidenceCan you trust the data?
Weekly comparisonEvents/hour, defrost minutes/hour, outdoor weather bandsAre comparable conditions changing?

Home Assistant’s long-term statistics are excellent for compatible numerical history, but they are not a replacement for raw high-frequency traces when you investigate a four-minute event. Official Statistics documentation distinguishes its rolling window calculation from recorder-backed long-term statistics. Plan retention accordingly and keep unaggregated event logs where practical. Too many high-frequency entities can increase storage and database write load; monitor the system and prune redundant signals rather than aggressively logging everything.

A practical event record can include an identifier, start timestamp, end timestamp, manufacturer-reported state, detection source, event duration, min flow temperature, max power, outdoor air temp/RH at start, DHW status, measured recovery duration and any data gap. The first time you plot it, cross-check against the machine’s own user interface or service history. At least one week of validation is better than a one-day conclusion; several weeks across varying weather is preferable.

Working with ESPHome sensors: practical boundaries

ESP32/ESPHome can be useful for external water-pipe temperature sensors or local ambient sensors. For example, a suitably mounted, insulated DS18B20 probe on a dry external pipe can capture temperature trends when electrical and thermal installation is appropriate. It must not be inserted into a pressurised heating circuit without an approved fitting and competent installation, nor into the sealed refrigerant loop. External sensors should be insulated from room air and clearly labelled.

The DS18B20 offers convenient digital readout, but two nominally identical sensors can disagree enough to distort a small temperature difference; pairing and calibration matter. Higher-accuracy RTD equipment, such as a PT100 or PT1000 with a suitable amplifier, can improve certain installations when sensor, wiring and installation are considered as a whole. Your choice should depend on the required accuracy and maintainability rather than a claim that any ESP32 reading is a laboratory-grade heat meter. See our ESP32/MAX31865 RTD guide for the hardware measurement concepts.

If you already have manufacturer probes and local readings, avoid spending money on a duplicate sensing stack unless there is an identifiable measurement gap. A better electricity meterAliExpress price or correctly installed flow meter may add more useful information than a fourth surface-mounted temperature probe. For a household with multiple loads and a heat pump, a dedicated circuit meter provides a clearer electrical boundary than a whole-home smart meter; our Home Assistant Energy Dashboard guide explains why whole-home import/export figures do not automatically equal appliance consumption.

Electrical and plumbing safety

Only qualified persons should install fixed-wiring electrical meters, alter heat-pump circuits, open panels, change control terminals, or modify pressurised heating pipework. A clamp-on external temperature sensorAliExpress price on an accessible, safe surface can be a separate low-risk observation task, but it still requires correct temperature rating, electrical isolation and installation practice. Do not obstruct ventilation, drains, condensate paths or heat-pump service clearances. Outdoor sensor enclosures and cables must be suitable for local weather.

Handling domestic hot water and hydraulic complexity

A heat pump with domestic hot-water priority may move a three-way valve and increase flow-temperature target significantly to charge a cylinder. That can create abrupt flow/return changes or changes in compressor power similar to some defrost signatures. A buffer tank can delay these changes. Underfloor heating manifolds with motorised actuators can change return mixing as zones open and close. Without these signals, a classifier can inflate ‘defrost’ counts every morning when occupants shower.

Use a simple state timeline: space heating, DHW charge, true defrost, idle, unavailable. If the integration does not expose all states, do not substitute guesswork. Use a manual calendar of known hot-water charge windows and careful inspection until you have enough data. The same principle applies to cooling mode, when the direction of heat transfer differs from heating mode and a signed energy calculation can have a different meaning.

Buffer tanks and negative thermal power

When a system reverses into defrost, its energy may come from a buffer, volumiser, direct space-heating loop or another part of the hydraulic system. A heat meter on the heat-pump primary loop might register a negative thermal transfer; a meter on the secondary distribution loop may not. The buffer can release stored heat while the heat pump changes mode, so the house supply sensor can stay relatively stable despite a confirmed event. A ‘no temperature dip’ conclusion cannot disprove a native defrost state.

You should also not assume that a lower flow temperature is necessarily bad. Efficient heat-pump operation often aims for the lowest suitable water temperature compatible with building heat demand. Defrost monitoring is about events and context, not maximising hot-water temperature or defeating weather compensation. Any advice to increase setpoints for faster recovery needs to consider system efficiency and manufacturer controls.

Understanding energy loss: five questions before reporting a number

A simple claim such as ‘each defrost costs 0.2 kWh’ is incomplete unless it defines whether that is grid electricity during the interval, heat removed from the water, reduced useful output versus a comparable period, or incremental electricity after recovery. They are different quantities, measured at different boundaries. A well-written dashboard should label these precisely.

QuestionSuitable measurementWhat it representsFrequent mistake
How much electricity was used during the flagged event?Time integral of dedicated unit powerGross unit electricity during that timeCalling all of it extra defrost energy
How much heat went to/from water?Signed, calibrated heat meterThermal transfer across its hydronic boundaryIgnoring negative periods or sensor lag
What happened to room comfort?Indoor/room temperatures and demandUser-facing effect, with building inertiaAssuming a short water dip means occupant discomfort
How long until flow target was regained?Target flow and measured flow after state exitRecovery time defined by threshold and hold periodMixing recovery duration with active defrost duration
What was the incremental energy penalty?Consistent comparison to non-defrost baselineDifference from a credible counterfactualPretending the counterfactual is directly metered

To estimate incremental electrical demand, compare similar hours with equivalent outdoor conditions and delivered heat, making explicit adjustments for weather, room setpoint, DHW production and auxiliary heater use. That still gives an estimate rather than an experimentally proven avoided-defrost value. Real performance includes the need to defrost; there is no legitimate operating scenario where the machine can indefinitely ignore accumulating ice.

Commissioning checklist: build a dataset you can defend

Use this checklist before sharing charts publicly or asking a service engineer to change settings. It helps distinguish an electrical instrumentation issue from a hydronic problem and a real outdoor-unit fault.

  • Map: identify heat-pump hydraulic and electrical boundaries and draw sensor locations on a schematic.
  • Confirm: locate the manufacturer’s true defrost state or note explicitly that none is available.
  • Measure: compare flow/return probes at similar temperature and assess offset and thermal lag.
  • Check fluid: record whether the hydraulic medium is water or a glycol mixture; adjust calculations appropriately.
  • Synchronise: verify timestamps and sampling rates, especially across cloud and local integrations.
  • Segment: record space heating, DHW, idle, cooling (if used) and sensor-unavailable states separately.
  • Validate: inspect at least ten representative candidate intervals across different weather and load conditions.
  • Exclude: remove state transitions caused by DHW diverter movement, reboots, lost telemetry or ordinary load changes.
  • Retain: keep short-period raw data and a compact event log for longer-term comparison.
  • Contextualise: compare event frequency per heating hour, weather exposure, total duration and recovery metrics.
  • Escalate: contact the installer for persistent ice, manufacturer faults, abnormal noise or declining heat delivery.
  • Protect: leave all manufacturer controls, electrical protections, minimum-flow logic and defrost algorithms in charge.

Troubleshooting Home Assistant defrost monitoring

Symptom in dashboardLikely analytics issueInvestigation
Defrost counter rises when unit is offIncorrect entity mapping, stale state or daily-window count artefactCompare actual state log with manufacturer display
Defrost duration seems far too longState stuck on, missing off event or integration lagCheck availability and timestamps, inspect integration logs
No events even with visible frost thawingUnavailable native status or too-slow pollingVerify register semantics and raw update interval
Flow temperature never dropsProbe on secondary side of buffer; strong thermal inertiaConfirm hydraulic location before inferring anything
Negative COP during defrostSigned heat-transfer reversal or time misalignmentExamine raw heat, power and time data separately
A large spike appears in electrical energyPower units, counter reset or sampling issueValidate kW versus W and cumulative kWh conventions
All events happen near hot-water scheduleDHW change misidentifiedPlot three-way valve and DHW demand
Count changes after restartHistory window and recorder retrievalCompare native state transitions; don’t treat count as cumulative event ID
No outdoor RH updates for hoursBattery sensor sleeping or connectivityUse RH as background data, not event trigger
Charts look smooth but events are missedAveraging and long recording intervalUse native higher-frequency sampling where supported
Differences between two temperature probesCalibration mismatch or different mounting lagCalibrate matched probes and document offsets
Frequent unknown in templatesSource data unavailableKeep unknown; investigate gateway rather than substituting zero

A sensible purchasing order for defrost monitoring

Do not buy a drawer full of sensors before knowing what the system already exposes. At purchase time, the most economical solution is often a supported local gateway with temperature and defrost status, paired with a properly installed electricity meter. A heat meter can materially improve a COP investigation, but it requires hydraulic compatibility, fluid configuration and correct installation. Low-cost pipe probes can fill a limited gap in trend data, not replace metrology-grade measurements.

SituationFirst purchase or actionConsider laterAvoid
Heat pump exposes native local defrost flagConfigure integration and RecorderDedicated electricity meterDuplicate cloud monitoring subscription with same data
Native status but no meaningful energy figuresCompatible circuit electricity meterMatched heat meterInferring compressor energy from whole-home import
No native status but accessible safe pipeworkExternal insulated pipe probes and weather dataMeter/gateway with better telemetryLabeling temperature-only detections as confirmed
System uses glycol and wants COP numbersCompatible, commissioned thermal meteringAdditional trend sensorsAssuming water properties in all calculations
Data only available over vendor cloudCheck API polling and retentionManufacturer-approved local gatewayUnsupported electrical modifications to control PCB
Heat pump frequently alarms or remains icedQualified service reviewInstrumentation based on their findingsHome Assistant automation to force or suppress defrost

For owners with solar PV or flexible electricity tariffs, remember that heat-pump energy measurement is only one part of the energy system. The solar surplus and flexible-load automation guide is a separate question from safely observing defrost. Do not use a power-price automation to interfere with manufacturer-initiated defrost or pump-protection cycles. Keep the heat pump’s own safety and operational requirements ahead of tariff optimisation.

Frequently asked questions

1. How often should an air-source heat pump defrost?

There is no universal frequency that applies to all heat pumps. Weather, coil design, humidity, air movement, firmware, load and the installation all matter. Compare your machine against its own baseline under similar conditions. If frost persists or alarms appear, consult the manufacturer or a qualified technician instead of relying on a cycles-per-hour rule.

2. Can Home Assistant tell whether a heat pump is defrosting?

Yes, if a manufacturer-supported integration or local gateway exposes a genuine defrost status. Otherwise Home Assistant can identify possible events from temperatures, electrical power and modes, but those detections are inferential and must be validated.

3. Why does leaving-water temperature fall during defrost?

In a typical reverse-cycle arrangement, thermal energy may be taken from the water side while the outdoor coil is heated. The observed temperature dip depends on water volume, flow, control sequence, buffer layout and sensor position. Some installations show a large dip; others show little or none.

4. Does defrost mean my heat pump is inefficient?

Not necessarily. Defrost is a normal feature that helps maintain heat transfer when frost restricts the outdoor exchanger. Defrost uses energy and temporarily interrupts useful heat delivery, so it is part of real winter performance. Compare annual or seasonal results using consistent measurements rather than judging the unit from a single event.

5. Can I use a DS18B20 to detect defrost?

A suitably installed DS18B20 can show a pipe-temperature trend, but sensor offset, thermal coupling, lag and flow mixing all limit interpretation. It cannot, by itself, prove defrost. For heat-meter-grade measurements, choose appropriate calibrated equipment.

6. What happens to COP while the unit is reversing?

If you record signed hydronic heat flow, the apparent instantaneous COP can become negative during reverse heat transfer. Some meters instead clip reverse heat at zero or update asynchronously. Use cumulative measured energy over meaningful periods and clearly explain which electrical and thermal loads are included.

7. Should I turn the heat pump off when defrost starts?

No. Do not use Home Assistant to interrupt a manufacturer-managed defrost or to disable protections. Let the heat pump run its own sequence. If operation appears faulty, record the evidence and seek professional service advice.

8. Is water or steam under the outdoor unit a problem?

Meltwater and a visible vapour plume can be normal in cold conditions. However, standing ice that restricts airflow, blocks condensate drainage or creates a slipping hazard deserves attention in accordance with manufacturer guidance. Never interfere with electrical or refrigerant components to remove ice.

9. Why is my event count different from the manufacturer’s app?

One system may count state starts; another may count completed events, including or excluding events crossing midnight. Polling frequency, cloud latency, reboot gaps and different operating-state semantics can also produce differences. Compare the timestamped events before assuming either count is correct.

10. Can I estimate defrost energy cost from a smart plug or CT meter?

A correctly installed, rated heat-pump circuit meter can measure electricity used during a defrost interval. It does not directly reveal the extra electricity caused by defrost compared with an equivalent frost-free heating interval. Fixed-wiring meters must be installed by appropriately qualified people, and the metering boundary must be documented.

11. What weather should I record?

Outdoor air temperature and relative humidity are a sensible minimum. Wind, rainfall and local exposure can add context. For detailed analysis, dew point can help assess moisture conditions, but ambient dew point is not the same as outdoor-coil surface temperature or a manufacturer defrost decision signal.

12. Is 1-minute sampling enough?

It can capture useful event trends and duration approximations, particularly with a true defrost state. Faster local sampling may improve transient timing, where supported. Five- or fifteen-minute sampling can miss short events. Choose a rate compatible with the actual sensor and gateway rather than overloading the interface.

13. Why does my heat pump defrost on days above 0°C?

Outdoor air temperature is not the outdoor-coil temperature. The coil can be below freezing while surrounding air is above 0°C, particularly when humidity supports frost formation. Positive ambient temperature therefore does not rule out defrost.

14. Can a buffer tank conceal defrost in my measurements?

Yes. A buffer can absorb and redistribute heat, attenuating the temperature dip at sensors on the house side. The heat pump may correctly report defrost even when a remote zone sensor barely changes. Place the right sensors at the right hydraulic boundary before drawing conclusions.

15. Is more defrosting always worse than longer defrosting?

No single duration or frequency metric captures the full performance trade-off. A controller may choose one longer event instead of several shorter events under different weather and heat-exchanger conditions. Evaluate heating service, confirmed total defrost time, seasonal energy and manufacturer guidance rather than setting a single dashboard target.

16. Should my Home Assistant automation send me an alert?

An informational alert for a confirmed prolonged manufacturer fault, repeated official error code or persistent unavailable telemetry can be useful. Do not trigger an equipment shutdown based on a heuristic water-temperature dip. Treat repeated candidate events as a reason to review the graphs, not a diagnosis.

Final recommendations

For most households, a robust and honest defrost dashboard is better than a complicated guess-based controller. Start with official defrost telemetry, add a trustworthy heat-pump electrical meter, place flow/return and weather sensors correctly, and log DHW mode so you can rule out misleading transitions. Classify uncertain events explicitly and review them against source data. Compare similar weather, not arbitrary daily totals.

The most important engineering point is that defrost belongs to the heat pump’s control system. Home Assistant is valuable as an independent observer, historian and analysis tool. A good dataset can help an installer solve a persistent problem, but it should never override the protective processes it is trying to understand.

References and further reading

CONTINUE EXPLORING / SMART HOME & ESPHOME

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEChoosing Home Assistant hardware?

Compare practical options before you choose hardware.

Compare options →