TapHome

Aqara Water Leak Sensor

Packet Parser → MQTT
Inviato da
Ultimo aggiornamento: 03. 2026

Richiede gateway esterno

tasmota zigbee2tasmota-gateway — pagina prodotto

Aqara Water Leak Sensor

Questo dispositivo comunica tramite Zigbee attraverso un gateway Tasmota. Assicurati di aver importato il template Zigbee2Tasmota Gateway e di aver abbinato il dispositivo prima di procedere.

L’Aqara Water Leak Sensor (SJCGQ11LM) è un sensore di perdite d’acqua Zigbee compatto, con grado di protezione IP67 e alimentato a batteria. Rileva la presenza d’acqua quando il livello raggiunge i contatti da 0,5 mm sulla parte inferiore del dispositivo. TapHome comunica con il sensore tramite MQTT attraverso un gateway Zigbee2Tasmota — il sensore pubblica un valore ZoneStatusChange nel messaggio JSON ZbReceived quando viene rilevata o eliminata una perdita d’acqua.

Il sensore è alimentato da una batteria a bottone CR2032 (durata circa 2 anni). Il template monitora il livello e la tensione della batteria tramite attributi di servizio, avvisa quando la batteria scende sotto il 30 % e rileva lo stato offline del dispositivo (avviso dopo 12 ore, errore dopo 24 ore).

Configurazione

Abbinamento del sensore
  1. In TapHome, attiva l’interruttore Permit Join nel modulo Zigbee2Tasmota Gateway
  2. Sul sensore, tieni premuto il pulsante finché il LED blu non inizia a lampeggiare, poi rilascia
  3. Attendi che il contatore Devices Found aumenti — il Device ID del sensore (es. 0xF121) appare negli attributi di servizio del gateway
  4. Importa questo template del dispositivo usando il Device ID dall’abbinamento

Se l’abbinamento non si avvia, prova a tenere premuto il logo dell’acqua sulla parte inferiore del sensore per circa 10 secondi fino a tre lampeggi del LED blu, poi rilascia.

Parametri di importazione
ParametroDescrizioneEsempio
MQTT Broker IP AddressIndirizzo IP del broker MQTT192.168.1.10
MQTT Broker PortPorta del broker (predefinita 1883)1883
Gateway nameTopic MQTT Tasmota (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDIndirizzo breve Zigbee dall’abbinamento0xF121

Funzionalità del dispositivo

Rilevamento perdite d’acqua

Il template fornisce un singolo dispositivo Flood Sensor mappato come PacketParserReedContact (tipo 1031) con la capability FloodSensor. Il dispositivo analizza il campo ZoneStatusChange da ZbReceived.{DeviceID} nel messaggio MQTT SENSOR:

  • ZoneStatusChange = 1Allarme (acqua rilevata)
  • ZoneStatusChange = 0OK (asciutto)

Il sensore si attiva e trasmette il proprio stato quando l’acqua raggiunge i contatti da 0,5 mm sulla parte inferiore del dispositivo, e nuovamente quando l’acqua viene rimossa e i contatti si asciugano.

A differenza dei sensori porta/finestra che utilizzano il campo Contact, il sensore di perdite d’acqua utilizza ZoneStatusChange — un campo di stato Zigbee IAS Zone. Questo è il meccanismo standard per i sensori di tipo allarme nel protocollo Zigbee.

Monitoraggio batteria

Il modulo tiene traccia dello stato della batteria attraverso due attributi di servizio:

  • Battery Percentage — livello di carica stimato della CR2032; un avviso di batteria scarica si attiva quando il livello scende sotto il 30 %
  • Battery Voltage — tensione grezza della cella CR2032 in volt

I dati della batteria vengono analizzati dai campi BatteryPercentage e BatteryVoltage nel messaggio ZbReceived.

Rilevamento offline

Il template monitora la disponibilità del dispositivo utilizzando il timestamp LastSeenEpoch dal polling ZbInfo (ogni 1 ora):

  • Avviso — il dispositivo non è stato visto per più di 12 ore
  • Errore — il dispositivo non è stato visto per più di 24 ore

Questo aiuta a rilevare situazioni in cui il sensore ha perso la connettività Zigbee o la batteria è completamente esaurita.

Attributi di servizio diagnostici

Il modulo espone metadati Zigbee aggiuntivi ottenuti tramite polling ZbInfo:

AttributoDescrizione
IEEEAddrIdentificatore hardware univoco a 64 bit
ModelIdID modello Zigbee (lumi.sensor_wleak.aq1)
ManufacturerStringa del produttore riportata dal dispositivo
EndpointsEndpoint Zigbee attivi
ConfigConfigurazione Zigbee del dispositivo
Link QualityIntensità del segnale scalata da 0–100 %
Funzionalità aggiuntive

L’Aqara SJCGQ11LM riporta anche la temperatura interna del dispositivo tramite Zigbee. La qualità del collegamento (LQI) per messaggio è disponibile in ogni payload SENSOR, ma attualmente è esposta solo a livello di modulo tramite il polling orario ZbInfo. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Il sensore non segnala lo stato di allagamento
  1. Verifica che il sensore sia abbinato al gateway Zigbee2Tasmota — controlla ZbStatus nella console Tasmota
  2. Conferma che il Device ID nel template corrisponda all’indirizzo breve dall’abbinamento (es. 0xF121)
  3. Posiziona il sensore su una superficie bagnata per attivare un cambio di stato — il dispositivo dovrebbe pubblicare un valore ZoneStatusChange entro pochi secondi
  4. Usa un client MQTT (es. MQTT Explorer) per iscriverti a tele/{GWname}/SENSOR e verifica che il sensore pubblichi messaggi ZbReceived con il campo ZoneStatusChange
Avviso offline nonostante il sensore funzionante
  1. Il rilevamento offline si basa sul polling ZbInfo (orario). Se il sensore non ha inviato messaggi entro 12 ore, appare un avviso
  2. I dispositivi Zigbee alimentati a batteria dormono tra un evento e l’altro — questo è un comportamento normale. L’avviso si cancella tipicamente dopo il prossimo evento di perdita o polling ZbInfo
  3. Se l’avviso persiste oltre le 24 ore, controlla la batteria (CR2032) e riabbina il dispositivo se necessario
Falsi allarmi o mancato rilevamento
  1. Assicurati che i contatti sulla parte inferiore del sensore siano puliti e non ostruiti da sporco o residui
  2. Il sensore richiede almeno 0,5 mm d’acqua per attivare il rilevamento — piccole gocce o condensa potrebbero non essere sufficienti
  3. Il grado di protezione IP67 significa che il corpo del sensore è impermeabile, ma i contatti di rilevamento devono essere a contatto diretto con la superficie dell’acqua

L’Aqara SJCGQ11LM utilizza una batteria a bottone CR2032. La durata della batteria è tipicamente di 2+ anni con uso normale. Il posizionamento in ambienti costantemente umidi (es. sotto una caldaia o vicino allo scarico di una lavatrice) può ridurre la durata della batteria a causa di risvegli più frequenti.

Come installare in TapHome

Prerequisiti

  • Gateway Zigbee con firmware Tasmota (es. Sonoff ZBBridge, eWeLink ZB-GW03)
  • Broker MQTT in esecuzione nella rete locale (broker integrato TapHome o esterno)
  • TapHome CCU sulla stessa rete

TapHome ha un broker MQTT integrato — attivalo in ImpostazioniHardwareMQTT Broker. Non è necessario alcun software aggiuntivo.

Passaggio 1 — Configurare il gateway Tasmota Zigbee

  1. Installa il firmware Tasmota su un coordinatore Zigbee supportato (es. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Connetti il gateway alla tua rete Wi-Fi tramite l’interfaccia web Tasmota
  3. Vai su ConfigurationConfigure MQTT e imposta:
    • Host: indirizzo IP del tuo broker MQTT (es. 192.168.1.10)
    • Port: 1883
    • Topic: annota il nome del topic (es. tasmota_XXXXX) — ti servirà durante l’importazione del template

Per istruzioni dettagliate, consulta la documentazione Tasmota Zigbee.

Passaggio 2 — Importare il template del gateway in TapHome

  1. Scarica il template del gateway dalla pagina di compatibilità Zigbee2Tasmota Gateway
  2. In TapHome, vai su ImpostazioniHardwarePacket ParserImport
  3. Importa il template con questi parametri:
    • MQTT Broker IP Address: indirizzo IP del tuo broker (es. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: il topic MQTT Tasmota dal passaggio 1 (es. tasmota_XXXXX)

Dopo l’importazione vedrai due dispositivi: Permit Join (interruttore) e Devices Found (contatore).

Passaggio 3 — Associare un dispositivo Zigbee

  1. In TapHome, attiva l’interruttore Permit Join — si apre una finestra di associazione di 60 secondi
  2. Sul dispositivo Zigbee, avvia la procedura di associazione (tipicamente tieni premuto il pulsante reset per 5 secondi finché il LED non lampeggia)
  3. Osserva il contatore Devices Found — aumenta quando un nuovo dispositivo si connette
  4. Controlla i Service Attributes del gateway per vedere l’ID del nuovo dispositivo (es. 0x1234), il produttore e il modello
  5. La modalità di associazione si disattiva automaticamente allo scadere del timeout

Passaggio 4 — Importare il template del dispositivo

  1. Scarica il template specifico del dispositivo dalla pagina di compatibilità corrispondente
  2. Importa il template con questi parametri:
    • MQTT Broker IP Address: lo stesso del gateway
    • MQTT Broker Port: 1883
    • Gateway name: lo stesso topic MQTT Tasmota di cui sopra
    • Device ID: l’indirizzo breve ottenuto dall’associazione (es. 0x1234)

Dispositivi disponibili

Aqara Water Leak Sensor Modulo
Attributi di servizio
IEEEAddrIndirizzo IEEE Zigbee — identificatore hardware univoco a 64 bit del sensore
ModelIdIdentificatore di modello Zigbee riportato dal dispositivo (lumi.sensor_wleak.aq1)
ManufacturerStringa del produttore riportata dal dispositivo tramite Zigbee
EndpointsEndpoint Zigbee attivi sul dispositivo
ConfigStringa di configurazione Zigbee del dispositivo
Link QualityIntensità del segnale Zigbee — 0 % (nessun segnale) a 100 % (ottimo)
Battery VoltageTensione della batteria a bottone CR2032 in volt
Battery PercentageLivello batteria stimato — avviso sotto il 30 %
Variabili personalizzate
GWname (string)Nome del topic MQTT Tasmota del gateway Zigbee (in Configuration → MQTT → Topic)
ID (string) = 0xF121Indirizzo breve Zigbee del sensore di perdite d'acqua Aqara (assegnato durante l'abbinamento)
After pairing the sensor via Permit Join, find the device short address in the gateway's Devices Found service attribute or via Tasmota console command ZbStatus

Aqara - Water Leak Sensor

Lettura (modulo)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var bat := PARSEJSON(ZbReceived, "BatteryPercentage", true);
    if(!ISNULL(bat), BatteryPercentage := bat);
    var volt := PARSEJSON(ZbReceived, "BatteryVoltage", true);
    if(!ISNULL(volt), BatteryVoltage := volt);
    
    var deviceInfo := PARSEJSON(RECEIVEDMSG.Payload, "ZbInfo." + ID, true);
    if !ISNULL(deviceInfo)
    	LastSeenEpoch := PARSEJSON(deviceInfo, "LastSeenEpoch");
        COMPLETESERVICEATTRIBUTE("IEEEAddr", PARSEJSON(deviceInfo, "IEEEAddr"));
        COMPLETESERVICEATTRIBUTE("ModelId", PARSEJSON(deviceInfo, "ModelId"));
        COMPLETESERVICEATTRIBUTE("Manufacturer", PARSEJSON(deviceInfo, "Manufacturer"));
        COMPLETESERVICEATTRIBUTE("Endpoints", PARSEJSON(deviceInfo, "Endpoints"));
        #COMPLETESERVICEATTRIBUTE("Config", PARSEJSON(deviceInfo, "Config"));
        COMPLETESERVICEATTRIBUTE("Link Quality", ROUND(LINEAR(PARSEJSON(deviceInfo, "LinkQuality"), 0,0, 254, 100)) + "%");
    end
end

if BatteryPercentage < 30
	ADDWARNING("Low battery (<30%)");
end

if !ISNAN(LastSeenEpoch)
	DATETIME now := NOW();
	var secondsSeen := now.UNIXTIME - LastSeenEpoch;
	if secondsSeen > 12 * 60 * 60
		if secondsSeen > 24 * 60 * 60
			ADDERROR("Device is offline > 24H");
		else
			ADDWARNING("Device is offline > 12H");        
		end
	end
end
Attributi di servizio
IEEEAddr
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Sensore di allagamento Contatto reed Solo lettura

Rilevamento perdite d'acqua tramite Zigbee IAS Zone — legge il campo ZoneStatusChange dal messaggio del sensore Zigbee. Grado IP67, soglia di rilevamento 0,5 mm.

boolean

Sensore di allagamento

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".ZoneStatusChange", true);
    if(!ISNULL(val), Rc := val);
end
Connessione: Packet Parser → MQTT
Possibili miglioramenti (2)
  • Device Temperature — Blakadder lists device temperature reporting as a supported feature of SJCGQ11LM. The TapHome template does not parse this field.
  • Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.

Fonti