Le perdite d’acqua sono tra i danni più costosi che possono accadere in casa: un tubo rotto, una lavatrice che perde, uno scaldabagno difettoso possono allagare l’appartamento in poche ore, causando danni per migliaia di euro a pavimenti, mobili ed elettronica.
Con Home Assistant puoi creare un sistema di protezione automatico che rileva perdite immediatamente e chiude automaticamente la valvola principale dell’acqua, prevenendo disastri anche quando non sei in casa.
In questa guida completa vedremo:
-
Sensori perdita acqua migliori (Zigbee, WiFi, Z-Wave)
-
Valvole smart per chiusura automatica tubatura
-
Notifiche multiple (push, chiamata, sirena, TTS)
-
Batteria backup per funzionamento anche senza corrente
-
Posizionamento strategico dei sensori
-
Automazioni YAML pronte all’uso
Parte 1: Sensori perdita acqua – quale scegliere
Caratteristiche essenziali
Un buon sensore di perdita d’acqua deve avere:
-
Velocità di rilevamento: entro 1-3 secondi dal contatto con l’acqua
-
Allarme locale: buzzer/sirena incorporato (funziona anche senza HA)
-
Durata batteria: almeno 1-2 anni
-
Alert batteria scarica: notifica quando serve sostituzione
-
Certificazione IP: almeno IP44 o IP67
-
Sonde estese (opzionale): per coprire aree più ampie
Opzione A: Aqara Water Leak Sensor (Zigbee) – Consigliato
Il più venduto e affidabile nella community Home Assistant.
Specifiche:
-
Protocollo: Zigbee 3.0
-
Batteria: CR2032 (durata ~2 anni)
-
Certificazione: IP67 (immergibile)
-
Allarme: Buzzer 90dB integrato
-
Sensori: umidità + contatti acqua
-
Temperatura operativa: 0-50°C
-
Prezzo: 15-20€
Pro:
-
Batteria lunghissima (2 anni reali)
-
Shell anti-UV (resiste al sole)
-
Zigbee = velocissimo (notifica in 1-2 sec)
-
Integrazione HA nativa via ZHA/Zigbee2MQTT
-
Compattissimo (facile da nascondere)
-
Alert batteria scarica automatico
Contro:
-
Richiede hub/coordinator Zigbee
-
Nessuna sonda esterna (solo contatti sul fondo)
Setup Home Assistant:
# Aggiunta automatica via ZHA o Zigbee2MQTT # Entità create: # - binary_sensor.aqara_water_leak_sensor_water_leak # - sensor.aqara_water_leak_sensor_battery
Opzione B: Shelly Flood (WiFi)
Soluzione WiFi senza hub, con sensore temperatura integrato.
Specifiche:
-
Protocollo: WiFi 2.4GHz
-
Batteria: CR123A (durata 1-2 anni)
-
Certificazione: IP44
-
Allarme: Buzzer integrato + LED
-
Sensori: acqua + temperatura ambiente
-
Sonda estesa: NO (Gen3), SÌ fino a 150m (Gen4)
-
Prezzo: 20-30€
Shelly Flood Gen4 (2025):
-
Cavo sensore estendibile fino a 150 metri
-
Tre modalità allarme: Intense, Normal, Economic
-
Due modalità: Flood Detection e Rain Detection
-
Supporta automazioni locali (funziona anche senza internet)
-
Compatibilità con cloud Shelly o integrazione locale
Pro:
-
WiFi nativo (no hub richiesto)
-
Sensore temperatura utile per monitoraggio
-
MQTT nativo per integrazione locale
-
API REST completa
-
Gen4: cavo sensore esteso per grandi aree
-
Funziona anche offline con automazioni locali
Contro:
-
WiFi = più lento di Zigbee (3-5 sec)
-
Batteria più grossa (CR123A)
-
Consuma più energia di Zigbee
Setup Home Assistant:
# Via integrazione Shelly nativa o MQTT
binary_sensor:
- platform: mqtt
name: "Shelly Flood Lavatrice"
state_topic: "shellies/shellyflood-XXXXXX/sensor/flood"
payload_on: "true"
payload_off: "false"
device_class: moisture
sensor:
- platform: mqtt
name: "Shelly Flood Temp Lavatrice"
state_topic: "shellies/shellyflood-XXXXXX/sensor/temperature"
unit_of_measurement: "°C"
- platform: mqtt
name: "Shelly Flood Batteria"
state_topic: "shellies/shellyflood-XXXXXX/sensor/battery"
unit_of_measurement: "%"
device_class: battery
Opzione C: Sensori Z-Wave (Zooz, Aeotec, HomeSeer)
Per chi ha già rete Z-Wave consolidata.
Modelli consigliati:
-
Zooz Water Leak XS Sensor (Z-Wave Plus) – 25€
-
Aeotec Water Sensor 7 Pro (Z-Wave 700) – 45€
-
Ecolink Flood/Freeze Sensor (Z-Wave Plus) – 30€
Pro:
-
Range eccellente (Z-Wave mesh)
-
Bassissimo consumo batteria
-
Alcuni modelli con sonde remote cablate
Contro:
-
Richiede dongle/controller Z-Wave
-
Più costosi di Zigbee
-
Meno diffusi in Europa
Confronto rapido
Parte 2: Valvole smart per chiusura automatica
Perché serve una valvola motorizzata
Un sensore da solo avvisa, ma se sei fuori casa o dormi profondamente, l’allagamento continua. Una valvola smart motorizzata chiude automaticamente l’ingresso dell’acqua in 15-30 secondi, limitando i danni a pochi litri invece che centinaia.
Opzione A: Valvole Tuya WiFi (DN15/DN20)
Soluzione economica e universale per tubature standard.
Specifiche:
-
Connessione: WiFi 2.4GHz (no hub)
-
Diametro tubi: DN15 (1/2″), DN20 (3/4″)
-
Alimentazione: 220V AC o batterie 4xAA (backup)
-
Tempo chiusura: 15-30 secondi
-
Coppia motore: Alta (funziona anche con valvole vecchie/rigide)
-
Controllo: App Tuya/Smart Life, Alexa, Google, HA
-
Prezzo: 40-70€
Pro:
-
Facile installazione (si monta sulla valvola esistente)
-
Batteria backup per funzionamento anche senza corrente
-
Controllo manuale con pulsante/ghiera
-
Compatibile Tuya = tante automazioni
-
Alloggiamento waterproof
-
Non richiede modifiche impianto
Contro:
-
Richiede integrazione Tuya (cloud o LocalTuya)
-
WiFi può essere lento in emergenza
Setup Home Assistant:
# Via integrazione Tuya o LocalTuya
switch:
- platform: tuya
name: "Valvola Acqua Principale"
host: 192.168.1.XXX
device_id: "your_device_id"
local_key: "your_local_key"
Opzione B: Sonoff Zigbee Smart Water Valve
Per irrigazione e tubature piccole (3/4″).
Specifiche:
-
Protocollo: Zigbee 3.0
-
Connessione: Filetto giardino 3/4″
-
Alimentazione: 4x batterie AA
-
Uso: irrigazione, giardinaggio, chiusura rubinetti esterni
-
Compatibilità: hub Zigbee (Sonoff, HA, Alexa)
-
Prezzo: 25-35€
Pro:
-
Zigbee = veloce e affidabile
-
Batteria (no cavi elettrici)
-
Controllo vocale Alexa/Google
-
Economico
Contro:
-
Solo per tubature piccole (non valvola principale casa)
-
Pensato per irrigazione, non emergenze
Uso consigliato: Chiusura automatica acqua giardino, non valvola principale appartamento.
Opzione C: Sistemi professionali (Sinopé Sedna, Flo by Moen)
Soluzioni complete con sensori + valvola integrati.
Sinopé Sedna Water Damage Protection System:
-
Sistema completo: valvola motorizzata + sensori wireless
-
Chiusura automatica entro 10 secondi dalla rilevazione perdita
-
Alert email + push notification
-
Installazione professionale consigliata
-
Prezzo: 300-500€ (sistema completo)
Funzionamento:
-
Sensore rileva acqua → emette allarme sonoro
-
Invia segnale chiusura alla valvola Sedna
-
Valvola chiude ingresso acqua automaticamente
-
Alert inviato via email + app
-
Tutto confermato nell’app con posizione perdita
Pro:
-
Sistema certificato e testato
-
Chiusura velocissima (10 sec)
-
Affidabilità professionale
-
Integrabile con Home Assistant
Contro:
-
Costoso
-
Installazione complessa (idraulico consigliato)
-
Ecosistema chiuso
Quale valvola scegliere?
Parte 3: Posizionamento strategico sensori
Dove mettere i sensori perdita
Priorità 1 – Zone critiche ad alto rischio:
-
Sotto la lavatrice – tubature carico/scarico
-
Sotto la lavastoviglie – scarichi e carico
-
Sotto lo scaldabagno/caldaia – valvola sicurezza, tubazioni
-
Sotto il lavandino cucina – sifone e raccordi
-
Sotto il lavandino bagno – tubature e sifone
-
Dietro il WC – tubo carico cassetta
-
Vicino al contatore acqua – valvola principale
Priorità 2 – Punti secondari:
-
Sotto radiatori (perdite valvole)
-
Vicino tubature esposte nel seminterrato
-
Presso pompa sommergibile cantina
-
Vicino a rubinetti esterni (gelo invernale)
Consigli posizionamento:
-
Posiziona sensore nel punto più basso dove l’acqua si accumulerebbe
-
Evita zone dove si accumula condensa normale (es. dietro frigo)
-
Testa ogni sensore versando un po’ d’acqua prima di fissarlo definitivamente
-
Fissa con biadesivo o viti (alcuni hanno fori montaggio)
Quanti sensori servono?
-
Minimo essenziale: 3-4 sensori (lavatrice, lavastoviglie, scaldabagno, bagno)
-
Setup completo: 6-8 sensori (aggiungi cucina, ogni bagno, caldaia)
-
Casa/villa: 10+ sensori (includi seminterrato, garage, giardino)
Costo per setup completo 6 sensori Aqara: 90-120€ – molto meno di un singolo intervento idraulico d’emergenza!
Parte 4: Automazione completa – notifiche multiple
Automazione base: notifica push + persistente
automation:
- alias: "Allarme Perdita Acqua"
description: "Notifiche immediate e persistenti per perdite"
mode: single
trigger:
# Trigger su QUALSIASI sensore perdita
- platform: state
entity_id:
- binary_sensor.aqara_leak_lavatrice
- binary_sensor.aqara_leak_lavastoviglie
- binary_sensor.aqara_leak_caldaia
- binary_sensor.aqara_leak_bagno
- binary_sensor.shelly_flood_cucina
to: "on"
for:
seconds: 2 # Conferma per 2 sec (evita falsi positivi)
action:
# 1. Notifica push CRITICA su tutti i telefoni
- service: notify.mobile_app_smartphone_tuo
data:
title: "🚨 PERDITA ACQUA RILEVATA!"
message: >
Perdita rilevata: {{ trigger.to_state.attributes.friendly_name }}
Zona: {{ area_name(trigger.entity_id) }}
Orario: {{ now().strftime('%H:%M:%S') }}
data:
priority: high
ttl: 0
importance: max
channel: Allarme Acqua
# Android: bypass Do Not Disturb
tag: water_leak
# iOS: suono critico
push:
sound:
name: default
critical: 1
volume: 1.0
# 2. Notifica push su TUTTI i dispositivi famiglia
- service: notify.all_devices
data:
title: "🚨 EMERGENZA ACQUA"
message: "Perdita in {{ area_name(trigger.entity_id) }}! Controlla subito!"
# 3. Notifica persistente in HA (resta finché non risolvi)
- service: persistent_notification.create
data:
title: "🚨 PERDITA ACQUA ATTIVA"
message: >
**EMERGENZA IDRICA**
Sensore: {{ trigger.to_state.attributes.friendly_name }}
Area: {{ area_name(trigger.entity_id) }}
Stato: {{ trigger.to_state.state }}
Timestamp: {{ now().strftime('%d/%m/%Y %H:%M:%S') }}
AZIONI:
1. Chiudi valvola acqua principale
2. Verifica origine perdita
3. Dismissi notifica quando risolto
notification_id: "water_leak_{{ trigger.entity_id }}"
# 4. Annuncio vocale TTS su tutti i media player
- service: tts.google_translate_say
target:
entity_id:
- media_player.echo_soggiorno
- media_player.google_home_cucina
- media_player.echo_camera
data:
message: >
Attenzione! Perdita d'acqua rilevata in {{ area_name(trigger.entity_id) }}.
Controllare immediatamente!
# 5. Accendi luci rosse lampeggianti (alert visivo)
- service: light.turn_on
target:
entity_id:
- light.soggiorno
- light.corridoio
data:
rgb_color: [255, 0, 0]
brightness: 255
flash: long
# 6. Attiva sirena smart (se presente)
- service: switch.turn_on
target:
entity_id: switch.sirena_allarme
# 7. Log dettagliato per analisi
- service: logbook.log
data:
name: "Sistema Anti-Allagamento"
message: >
PERDITA RILEVATA: {{ trigger.to_state.attributes.friendly_name }}
in zona {{ area_name(trigger.entity_id) }}
entity_id: "{{ trigger.entity_id }}"
Notifica con nome sensore nel messaggio
Se hai molti sensori e vuoi sapere esattamente quale ha triggerato:
# Aggiungi ai trigger un ID univoco
trigger:
- platform: state
entity_id: binary_sensor.aqara_leak_lavatrice
to: "on"
id: "lavatrice"
- platform: state
entity_id: binary_sensor.aqara_leak_lavastoviglie
to: "on"
id: "lavastoviglie"
- platform: state
entity_id: binary_sensor.aqara_leak_caldaia
to: "on"
id: "caldaia"
action:
- service: notify.mobile_app_smartphone
data:
title: "🚨 PERDITA ACQUA: {{ trigger.id | upper }}"
message: "Controlla immediatamente zona {{ trigger.id }}!"
Parte 5: Chiusura automatica valvola
Automazione con chiusura valvola + notifica
LA PIÙ IMPORTANTE: chiude l’acqua automaticamente.
automation:
- alias: "Perdita Acqua - Chiusura Automatica Valvola"
description: "Chiude valvola principale + notifiche"
mode: single
trigger:
- platform: state
entity_id:
- binary_sensor.aqara_leak_lavatrice
- binary_sensor.aqara_leak_lavastoviglie
- binary_sensor.aqara_leak_caldaia
- binary_sensor.aqara_leak_bagno
to: "on"
for:
seconds: 3 # Conferma 3 sec per evitare falsi allarmi
condition:
# Solo se valvola è aperta (evita loop)
- condition: state
entity_id: switch.valvola_acqua_principale
state: "on"
action:
# 1. CHIUDI VALVOLA IMMEDIATAMENTE
- service: switch.turn_off
target:
entity_id: switch.valvola_acqua_principale
# 2. Notifica CRITICA conferma chiusura
- service: notify.mobile_app_smartphone
data:
title: "🚨 VALVOLA ACQUA CHIUSA"
message: >
EMERGENZA PERDITA ACQUA!
Sensore: {{ trigger.to_state.attributes.friendly_name }}
Zona: {{ area_name(trigger.entity_id) }}
✅ VALVOLA PRINCIPALE CHIUSA AUTOMATICAMENTE
Acqua in casa ora BLOCCATA.
Verifica origine perdita e ripristina manualmente valvola.
data:
priority: high
ttl: 0
importance: max
actions:
- action: "OPEN_VALVE"
title: "Riapri Valvola"
- action: "VIEW_CAMERA"
title: "Vedi Telecamera"
# 3. Notifica persistente
- service: persistent_notification.create
data:
title: "✅ VALVOLA CHIUSA - EMERGENZA CONTROLLATA"
message: >
La valvola principale è stata chiusa automaticamente.
Perdita rilevata: {{ trigger.to_state.attributes.friendly_name }}
Orario chiusura: {{ now().strftime('%H:%M:%S') }}
PRIMA DI RIAPRIRE:
1. Localizza e ripara la perdita
2. Asciuga l'area
3. Verifica sensore funzionante
4. Riapri valvola manualmente da app
notification_id: "valve_closed"
# 4. TTS annuncio
- service: tts.google_translate_say
target:
entity_id: media_player.all_speakers
data:
message: >
Attenzione! Perdita d'acqua rilevata.
Valvola principale chiusa automaticamente.
L'acqua è ora bloccata.
# 5. Sirena continua finché non risolvi
- service: switch.turn_on
target:
entity_id: switch.sirena_allarme
- delay:
seconds: 30
- service: switch.turn_off
target:
entity_id: switch.sirena_allarme
# 6. Invia foto telecamera (se presente nella zona)
- service: notify.mobile_app_smartphone
data:
message: "Foto area perdita"
data:
image: "/api/camera_proxy/camera.zona_{{ trigger.id }}"
Azione notifica per riaprire valvola
Gestisci azione “Riapri Valvola” dal pulsante notifica:
automation:
- alias: "Notifica Action - Riapri Valvola"
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "OPEN_VALVE"
action:
# Conferma prima di riaprire
- service: notify.mobile_app_smartphone
data:
title: "Conferma riapertura valvola"
message: "Hai risolto la perdita?"
data:
actions:
- action: "CONFIRM_OPEN"
title: "Sì, riapri"
- action: "CANCEL"
title: "No, aspetta"
- alias: "Conferma Riapertura Valvola"
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "CONFIRM_OPEN"
action:
- service: switch.turn_on
target:
entity_id: switch.valvola_acqua_principale
- service: notify.mobile_app_smartphone
data:
title: "✅ Valvola riaperta"
message: "Acqua ripristinata. Monitoraggio attivo."
Parte 6: Batteria backup e funzionamento offline
Problema: corrente salta durante perdita
Scenario peggiore: perdita causa corto circuito → salta corrente → Home Assistant offline → automazioni non funzionano.
Soluzioni:
1. UPS per Home Assistant + router
Hardware consigliato:
-
APC Back-UPS 700VA (60-90€) – 40 min autonomia
-
CyberPower CP900EPFCLCD (120€) – 60 min autonomia
-
EcoFlow River 2 (200€) – 3-5 ore autonomia + ricarica solare
Cosa collegare all’UPS:
-
Raspberry Pi / Mini PC Home Assistant
-
Router/Modem internet
-
Coordinator Zigbee/Z-Wave
-
Hub PoE (se usi telecamere)
Autonomia stimata: 1-4 ore (sufficiente per gestire emergenza)
2. Valvola con batteria backup
Le valvole Tuya WiFi hanno batteria backup 4xAA che permette chiusura anche senza corrente.
Test da fare:
-
Installa batterie backup nella valvola
-
Stacca corrente
-
Simula perdita con sensore
-
Verifica che valvola chiuda comunque
3. Automazioni locali (senza internet)
Zigbee2MQTT + Node-RED locali possono far funzionare automazioni anche senza cloud:
# Automazione locale Zigbee2MQTT
# Funziona anche se internet è giù
automation:
- alias: "Perdita Acqua - Locale"
trigger:
- platform: mqtt
topic: "zigbee2mqtt/sensore_leak_lavatrice/water_leak"
payload: true
action:
- service: mqtt.publish
data:
topic: "zigbee2mqtt/valvola_acqua/set"
payload: '{"state": "OFF"}'
Questo funziona anche se:
-
Internet offline
-
Cloud Tuya irraggiungibile
-
Solo rete locale necessaria
Parte 7: Test periodici automatici
Automazione test settimanale sensori
Verifica automaticamente che tutti i sensori siano online:
automation:
- alias: "Test Sensori Perdita - Settimanale"
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: time
weekday:
- sun # Ogni domenica mattina
action:
# Verifica sensori offline
- service: notify.mobile_app_smartphone
data:
title: "🔧 Test Sensori Perdita"
message: >
Sensori attivi:
{% set ns = namespace(count=0, offline=[]) %}
{% for sensor in ['binary_sensor.aqara_leak_lavatrice',
'binary_sensor.aqara_leak_lavastoviglie',
'binary_sensor.aqara_leak_caldaia',
'binary_sensor.aqara_leak_bagno'] %}
{% if states(sensor) != 'unavailable' %}
{% set ns.count = ns.count + 1 %}
{% else %}
{% set ns.offline = ns.offline + [state_attr(sensor, 'friendly_name')] %}
{% endif %}
{% endfor %}
✅ Online: {{ ns.count }}/{{ 4 }}
{% if ns.offline %}
❌ Offline: {{ ns.offline | join(', ') }}
{% endif %}
# Controlla batterie scariche
- service: notify.mobile_app_smartphone
data:
title: "🔋 Stato Batterie Sensori"
message: >
{% set ns = namespace(low=[]) %}
{% for sensor in ['sensor.aqara_leak_lavatrice_battery',
'sensor.aqara_leak_lavastoviglie_battery',
'sensor.aqara_leak_caldaia_battery'] %}
{% if states(sensor) | int < 20 %}
{% set ns.low = ns.low + [state_attr(sensor, 'friendly_name') ~ ': ' ~ states(sensor) ~ '%'] %}
{% endif %}
{% endfor %}
{% if ns.low %}
⚠️ Batterie da sostituire:
{{ ns.low | join('\n') }}
{% else %}
✅ Tutte le batterie OK
{% endif %}
Parte 8: Dashboard Lovelace
Card per monitoraggio perdite:
type: vertical-stack
cards:
# Stato sensori
- type: entities
title: "💧 Sistema Anti-Allagamento"
show_header_toggle: false
entities:
- entity: switch.valvola_acqua_principale
name: "Valvola Acqua Principale"
icon: mdi:valve
- type: divider
- entity: binary_sensor.aqara_leak_lavatrice
name: "Sensore Lavatrice"
icon: mdi:washing-machine
- entity: binary_sensor.aqara_leak_lavastoviglie
name: "Sensore Lavastoviglie"
icon: mdi:dishwasher
- entity: binary_sensor.aqara_leak_caldaia
name: "Sensore Caldaia"
icon: mdi:water-boiler
- entity: binary_sensor.aqara_leak_bagno
name: "Sensore Bagno"
icon: mdi:shower
# Batterie
- type: horizontal-stack
cards:
- type: sensor
entity: sensor.aqara_leak_lavatrice_battery
name: "Batt Lavatrice"
graph: line
- type: sensor
entity: sensor.aqara_leak_lavastoviglie_battery
name: "Batt Lavastoviglie"
graph: line
- type: sensor
entity: sensor.aqara_leak_caldaia_battery
name: "Batt Caldaia"
graph: line
# Test manuale
- type: button
name: "Test Sistema Allagamento"
icon: mdi:alarm-light
tap_action:
action: call-service
service: script.test_sistema_perdita
Script test manuale:
script:
test_sistema_perdita:
alias: "Test Sistema Perdita"
sequence:
- service: notify.mobile_app_smartphone
data:
title: "🧪 TEST Sistema Anti-Allagamento"
message: "Test notifica perdita acqua - Ignora questo messaggio"
- service: tts.google_translate_say
target:
entity_id: media_player.echo_soggiorno
data:
message: "Test sistema anti allagamento. Questo è solo un test."
- service: persistent_notification.create
data:
title: "🧪 TEST completato"
message: "Il sistema di notifiche funziona correttamente."
Un sistema anti-allagamento con Home Assistant è uno degli investimenti più intelligenti per proteggere la tua casa, con costi contenuti e benefici enormi.
Checklist sistema completo:
-
6-8 sensori perdita posizionati strategicamente (90-160€)
-
Valvola motorizzata principale (40-70€)
-
UPS per HA + router (60-120€)
-
Automazioni notifiche multiple
-
Automazione chiusura automatica valvola
-
Test periodici sensori e batterie
-
Batteria backup valvola
Investimento totale: 200-350€
Danni evitati: 5.000-20.000€ (un singolo allagamento)
Benefici concreti:
-
Protezione 24/7 anche quando sei in vacanza
-
Risposta automatica in 3-10 secondi
-
Notifiche ovunque tu sia
-
Risparmio assicurazione (alcune riducono premio)
-
Tranquillità mentale
Non aspettare il primo allagamento per agire. Con Home Assistant hai tutto il necessario per prevenire disastri idrici!
