Water Leak Alert - Multi-Sensor, Mobile Push, TTS with Presence Check

This blueprint monitors one or more water leak sensors and fires a coordinated alert the moment moisture is detected: push notifications to your phones, optional TTS playback on your speakers (only if someone is home), and a custom actions slot for anything else you want to trigger. This is based on the great work done by Bekkenes, but I modified it to support multiple leak sensors.

Everything is configured through the UI — no YAML editing required after import.


What it does

  • Monitors multiple leak sensors: one automation covers your whole house
  • Sends push notifications: to any Home Assistant companion app devices you select, with the triggering sensor’s friendly name in the title and message
  • Critical notification toggle: bypasses Do Not Disturb on iOS (critical alert, full volume) and Android (alarm stream, high priority) with a single checkbox
  • Presence-aware TTS: plays an audio warning on selected media players only if at least one resident is home; sensor name is prepended automatically
  • TTS engine fallback: defaults to Nabu Casa cloud TTS but automatically falls back to the built-in tts.google_translate if unavailable
  • Custom actions slot: run anything else on trigger (flash lights, close a water valve, etc.) with access to {{ sensor_name }}, {{ full_tts_message }}, and {{ is_critical }} in any template field

Required

  • One or more binary sensors with device class moisture (any Z-Wave, Zigbee, or Wi-Fi leak sensor supported by HA)
  • Home Assistant Companion App installed on any phones you want to notify
  • A media player entity for TTS playback (HomePod, Google Home, Alexa, HA Voice Preview Edition, etc.)

Optional

  • Nabu Casa subscription for cloud TTS (falls back to Google Translate TTS automatically if not available)
  • Person entities configured for presence detection

Import

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

1 Like

Hi there,

there are two error notifications in my log:

Error rendering variables: UndefinedError: ‘dict object’ has no attribute ‘to_state’
Template variable error: ‘dict object’ has no attribute ‘to_state’ when rendering ‘{{ trigger.to_state.name }}’

Any ideas?

It doesn't work for me either. people_var is empty during an automation trace, notify_targets is too. Both should have two devices/people configured.

The blueprint link no longer works and no such repository on dkedinger’s GitHub page. I suppose this is no longer available or supported. But the ideas here look promising. Are their samples available of the YAML produced or of the blueprint itself that others might use as inspiration for the techniques involved?

PS: Google search AI reports this thread as one of the top resources for moisture sensor alerts!