# Analytics snippet placeholder — HearthNodes (gatherer.top) # Paste the measurement snippet here (server.js inlines any content that contains # a markup tag into on every page). No GA4 property is assigned to this # site yet, so leave this file as comments only and the build emits no tracking # code.
HearthNodesgatherer.top live 27/28 EN 中文

Pipe-freeze guard: trickle the far tap and warn before the line drops to 2 °C

A pipe-clamp temperature sensor on the most exposed run warns at 4 °C and opens a 0.4 L/min trickle at 2 °C, which is enough to keep a 15 mm copper line flowing through a -8 °C night without wasting more than 12 litres.

protocol · thread latency · 120000 ms power · mains published · 2026-10-20 3 devices
Automation YAML water-freeze-trickle-warning.yaml
# HearthNodes recipe 23 - pipe freeze guard
alias: "Water - freeze guard trickles the far tap"
id: hn_water_freeze_trickle
description: "Warn at 4 C, trickle at 2 C, close after 15 minutes above 6 C"
mode: restart
max_exceeded: silent

trigger:
  - platform: numeric_state
    entity_id: sensor.exposed_pipe_temperature
    below: 4
    id: warn
  - platform: numeric_state
    entity_id: sensor.exposed_pipe_temperature
    below: 2
    id: trickle
  - platform: numeric_state
    entity_id: sensor.exposed_pipe_temperature
    above: 6
    for: "00:15:00"
    id: release

variables:
  tap: valve.far_tap
  trickle_lpm: 0.4
  max_runtime_h: 10
  wind_chill: >-
    {{ states('sensor.outdoor_temperature') | float(10)
       - (states('sensor.wind_speed_kmh') | float(0) * 0.12) }}

condition:
  - condition: template
    value_template: >-
      {{ states('sensor.outdoor_temperature') | float(10) < 1
         or states('sensor.forecast_overnight_min') | float(10) < -3 }}
  - condition: template
    value_template: >-
      {{ is_state('person.primary','home') or is_state('input_boolean.away_freeze_guard','on') }}
  - condition: template
    value_template: >-
      {{ (now() - states.sensor.exposed_pipe_temperature.last_updated).total_seconds() < 300 }}

action:
  - choose:
      - conditions:
          - condition: trigger
            id: warn
        sequence:
          - service: notify.mobile_app
            data:
              title: "Freeze risk"
              message: >-
                Exposed run at {{ states('sensor.exposed_pipe_temperature') }} C,
                wind chill {{ wind_chill | round(1) }} C. Trickle arms at 2 C.
      - conditions:
          - condition: trigger
            id: trickle
        sequence:
          - service: valve.open_valve
            target:
              entity_id: "{{ tap }}"
            data:
              flow_limit_lpm: "{{ trickle_lpm }}"
          - wait_for_trigger:
              - platform: numeric_state
                entity_id: sensor.exposed_pipe_temperature
                above: 6
                for: "00:15:00"
            timeout: "{{ max_runtime_h }}:00:00"
            continue_on_timeout: true
          - service: valve.close_valve
            target:
              entity_id: "{{ tap }}"
      - conditions:
          - condition: trigger
            id: release
        sequence:
          - service: valve.close_valve
            target:
              entity_id: "{{ tap }}"

# Pipe clamp failure -> fall back to outdoor below -2 C with wind above 15 km/h.
# Tap fails to open -> escalate the notification with instructions to open a tap
# by hand. Tap fails to close -> 30 minute maximum runtime plus a notification.
Trigger · numeric_state

sensor.exposed_pipe_temperature

Exposed pipe temperature falls below 4 °C, with a second stage at 2 °C.

Pipe-freeze guard: trickle the far tap and warn before the line drops to 2 °C topology

Step-by-step

  1. notify.mobile_appWarn at the first stage so a person can decide, rather than discovering the trickle running in the morning. send at 4 °C · 'exposed run at 4 °C, trickle arms at 2 °C'
  2. valve.far_tapOpen the farthest tap on the exposed run at the minimum flow that keeps water moving; a 15 mm copper line needs roughly 0.3 L/min to resist a -8 °C night. open · flow limited to 0.4 L/min
  3. valve.far_tapClose only after 15 minutes above 6 °C, so a brief warm spell does not end the protection just before dawn, when it is coldest. close when pipe temp > 6 °C for 15 min
  4. sensor.water_used_freeze_guardLog litres used per night so a stuck-open tap is visible rather than being discovered on the water bill. log · litres per night
Step-by-step
Clamp the sensor on the coldest point, not the most convenient

The coldest point is where the run passes through a wall, crosses an unheated void, or sits against a vented cavity. Walk the run on the first cold night with an infrared thermometer and clamp the sensor where the reading is lowest. Convenience placement gives you a sensor that reads 8 °C while the pipe is at 2 °C.

Insulate over the clamp, not under it

Fit the clamp directly to bare copper, then wrap pipe insulation over both. Insulating under the clamp breaks the thermal path and the sensor measures the insulation's surface instead. This is the single most common installation mistake with pipe clamps.

Use a calibrated trickle, not an open tap

A fully open tap wastes 200–400 litres a night and can overwhelm a septic system. A 0.4 L/min trickle keeps the line above freezing for about 12 litres a night. Fit a flow restrictor or use a motorised valve with a position setpoint instead of a plain solenoid.

Hardware

ModelProtocolLinkRole in this chain
Pipe-clamp temperature sensor, insulated over the clamp thread wireless Clamped to the copper and covered with pipe insulation; an uninsulated clamp reads air temperature and warns far too late.
Thread motorised tap or valve on the far end of the run thread wired Opens to a calibrated trickle; a standard solenoid gives full flow, which wastes 200+ litres a night.
Outdoor temperature and wind sensor thread wireless Provides the wind chill input that makes an exposed north wall run freeze at 4 °C air temperature.

When it fails

If the pipe clamp fails, the guard falls back to outdoor temperature below -2 °C with wind above 15 km/h, which is less precise but errs early. If the tap fails to open, the notification escalates and tells the household to open a tap manually for the night. If the tap fails to close, a 30-minute maximum runtime closes it, plus a notification.

Recipes on the same trigger source

Terms Informational only. These recipes control mains electricity, water and physical access. You are responsible for local electrical and plumbing codes, for fusing and isolation, and for testing every fail-safe yourself. Nothing here is professional engineering, legal or safety advice.