Skip to main content
Selora Homes Selora Homes
Recipe · v1.0.0 · Released Jun 26, 2026

Water Leak Alert

Installs a Home Assistant automation that watches every water leak sensor you select and alerts you the moment one goes wet, naming the spot so you know where to look. Add a speaker and the same warning is announced out loud.

A burst supply line or a slow drip behind the washer can run for hours before anyone notices. This recipe turns your water leak sensors into an instant alert: the second any of them detects water, the automation sends a push notification that names the sensor that tripped, so you know exactly where to look before the damage spreads.

It is built around the IKEA KLIPPBOK water leak sensor, which pairs over Matter and is cheap enough to place at every at-risk spot in the home. The recipe is not locked to it, though. Any water leak sensor Home Assistant exposes can fill the role, and you can mix brands freely.

How it works

During install, Selora AI generates a single Home Assistant automation from the leak sensors you pick: under sinks, behind toilets, by the water heater, the washing machine, and the sump pit. From then on the automation runs entirely in Home Assistant, with no dependency on Selora AI. It triggers whenever any one of those sensors reports water and names the sensor that tripped, so “Water detected by Under kitchen sink” reaches your phone the moment it happens, day or night.

Because the automation watches each sensor independently, adding more coverage is just a matter of selecting more sensors and reinstalling. There is nothing to wire together by hand.

Announcing on a speaker

A push notification is easy to miss if your phone is on silent or across the house. During install you can optionally pick one or more speakers, and the same warning is announced out loud over text to speech in addition to the notification. Leave the speaker selection empty and the recipe stays notification-only.

To add or change the speakers later, reinstall the recipe and adjust the speaker selection.

Placement tips

Put each sensor at the lowest point where water would pool first. A leak sensor flat on the floor under a sink catches a drip long before it reaches the cabinet edge. Battery-powered models keep reporting through an internet outage, which matters for a sensor whose whole job is to fire during an emergency.

Files Selora AI's pipeline reads to install this recipe. The manifest declares roles, inputs, and integrations; the package files are Jinja-templated YAML applied to Home Assistant.

# Water Leak Alert — notify the moment any water leak sensor goes wet,
# with an optional spoken announcement on the household speakers.
#
# The recipe resolves one multi-select role, ``leak_sensors``, against
# the homeowner's water leak sensors (IKEA KLIPPBOK and friends register
# as ``binary_sensor`` entities with device_class ``moisture``). A single
# automation triggers on any of them going wet and sends a push
# notification naming the sensor that tripped.
#
# Speaker announcement is opt-in: the ``announce_speakers`` role is
# optional. Pick one or more media players and the automation also speaks
# the alert over TTS; leave it empty and the recipe is notification-only.
slug: water-leak-alert
version: 1.0.0
title: Water Leak Alert
tagline: The second a water leak sensor goes wet, get a push notification that names the spot, and optionally hear it called out on your speakers.
description: >-
  Watches every water leak sensor you select and fires the moment any of
  them detects water. Sends a push notification that names the sensor that
  tripped so you know where to look. Add one or more speakers and the same
  alert is announced over TTS. Built around the IKEA KLIPPBOK water leak
  sensor, but works with any leak sensor Home Assistant exposes.
author: Selora AI
released: "2026-06-26"
tags: [safety, water-leak, alerts]
roles:
  # Water leak sensors — multi-select so the homeowner can cover every
  # at-risk spot (under sinks, water heater, washer, sump pit) with one
  # recipe. ``binary_sensor`` + device_class ``moisture`` is how leak
  # sensors register in HA; the IKEA KLIPPBOK (Matter over Thread)
  # surfaces exactly this. min_count 1: a leak recipe with no sensors
  # has nothing to watch, so the wizard requires at least one.
  - id: leak_sensors
    title: Water leak sensors
    kind: binary_sensor
    device_class: moisture
    min_count: 1
    selection: required
    description: >-
      Every water leak sensor you want watched. Pick each one covering an
      at-risk spot: under sinks, behind toilets, by the water heater,
      washing machine, and sump pump. The IKEA KLIPPBOK is the suggested
      model, but any leak sensor Home Assistant reports works.
  # Announcement speakers — optional. When the homeowner picks at least
  # one media player, the leak automation also speaks the alert over TTS.
  # Leave empty and the recipe is push-notification-only. Multi-select so
  # the announcement can fan out across whole-home speakers.
  - id: announce_speakers
    title: Announcement speakers
    kind: media_player
    min_count: 0
    selection: required
    description: >-
      Optional. Speakers that announce the leak out loud over TTS in
      addition to the push notification. Pick the media players you want
      included, or leave this empty to be notified on your phone only.
package_files:
  - package/automations/leak_alert.yaml.j2
{# Water Leak Alert — fire the moment any configured leak sensor goes
   wet. Sends a push notification naming the sensor that tripped, and,
   when the homeowner picked speakers, announces the same alert over TTS.

   Moisture binary_sensors report ``on`` when wet, so the trigger fans
   out one state trigger per sensor with ``to: "on"``. trigger.to_state
   names the specific sensor so the alert says where the water is.

   mode: queued so two sensors going wet at once each get handled rather
   than the second being dropped while the first is in flight.

   Every template stays on a single quoted line so the renderer's
   trim_blocks can't swallow following YAML at an end-of-line tag. #}
automation:
  - id: selora_recipe_{{ slug | replace('-', '_') }}_leak_detected
    alias: "Water Leak Alert — leak detected"
    description: >-
      When any configured water leak sensor detects water, send a push
      notification and, if speakers are configured, announce the leak.
    mode: queued
    max: 10
    trigger:
{% for sensor in roles.leak_sensors %}
      - platform: state
        entity_id: {{ sensor }}
        to: "on"
{% endfor %}
    action:
      # Name the sensor that tripped so the alert points at the spot.
      - variables:
          source: "{% raw %}{{ trigger.to_state.name | default(trigger.entity_id, true) }}{% endraw %}"
      # 1. Push notification to every device registered with HA.
      - service: notify.notify
        data:
          title: "Water leak detected"
          message: "{% raw %}Water detected by {{ source }}. Check it right away.{% endraw %}"
{% if roles.announce_speakers %}
      # 2. Optional spoken announcement on the configured speakers.
      - service: tts.cloud_say
        data:
          entity_id:
{% for player in roles.announce_speakers %}
            - {{ player }}
{% endfor %}
          message: "{% raw %}Warning. Water leak detected by {{ source }}. Check it right away.{% endraw %}"
{% endif %}

Author-maintained release notes. Each release of the recipe lists what changed.

Changelog

v1.0.0 - 2026-06-26

Initial release.

  • Watches every water leak sensor you select and fires the moment any of them detects water.
  • Sends a push notification that names the sensor that tripped.
  • Optionally announces the alert over TTS on one or more speakers; leave the speaker selection empty to stay notification-only.
  • Built around the IKEA KLIPPBOK water leak sensor, but works with any leak sensor Home Assistant exposes.

Type to search across cities, counties, and installers

↑↓ navigate open
⌘K search