
This device communicates via Zigbee through a Tasmota gateway. Make sure you have the Zigbee2Tasmota Gateway template imported and your device paired before proceeding.
The Aqara Water Leak Sensor (SJCGQ11LM) is a compact, IP67-rated battery-powered Zigbee water leak sensor. It detects the presence of water when the level reaches the 0.5 mm contact pads on the bottom of the device. TapHome communicates with the sensor over MQTT through a Zigbee2Tasmota gateway — the sensor publishes a ZoneStatusChange value in the ZbReceived JSON payload when a water leak is detected or cleared.
The sensor is powered by a CR2032 coin cell battery (approximately 2-year lifespan). The template monitors battery level and voltage via service attributes, warns when battery drops below 30%, and detects device offline states (warning after 12 hours, error after 24 hours).
Configuration
Pairing the sensor
- In TapHome, turn on the Permit Join switch in the Zigbee2Tasmota Gateway module
- On the sensor, press and hold the button until the blue LED starts blinking, then release
- Wait for the Devices Found counter to increment — the sensor’s Device ID (e.g.,
0xF121) appears in the gateway service attributes - Import this device template using the Device ID from pairing
If pairing does not start, try holding the water logo on the bottom of the sensor for approximately 10 seconds until three blue LED blinks occur, then release.
Import parameters
| Parameter | Description | Example |
|---|---|---|
| MQTT Broker IP Address | IP of your MQTT broker | 192.168.1.10 |
| MQTT Broker Port | Broker port (default 1883) | 1883 |
| Gateway name | Tasmota MQTT topic (Configuration → MQTT → Topic) | tasmota_XXXXX |
| Device ID | Zigbee short address from pairing | 0xF121 |
Device capabilities
Water leak detection
The template provides a single Flood Sensor device mapped as PacketParserReedContact (type 1031) with the FloodSensor capability. The device parses the ZoneStatusChange field from ZbReceived.{DeviceID} in the MQTT SENSOR message:
- ZoneStatusChange = 1 → Alarm (water detected)
- ZoneStatusChange = 0 → OK (dry)
The sensor wakes up and transmits its state when water reaches the 0.5 mm contact pads on the underside of the device, and again when the water is removed and the pads dry.
Unlike door/window sensors that use the
Contactfield, the water leak sensor usesZoneStatusChange— a Zigbee IAS Zone status field. This is the standard mechanism for alarm-type sensors in the Zigbee protocol.
Battery monitoring
The module tracks battery health through two service attributes:
- Battery Percentage — estimated CR2032 charge level; a low battery warning triggers when the level drops below 30%
- Battery Voltage — raw CR2032 cell voltage in volts
Battery data is parsed from BatteryPercentage and BatteryVoltage fields in the ZbReceived payload.
Offline detection
The template monitors device availability using the LastSeenEpoch timestamp from ZbInfo polling (every 1 hour):
- Warning — device has not been seen for more than 12 hours
- Error — device has not been seen for more than 24 hours
This helps detect situations where the sensor has lost Zigbee connectivity or the battery is fully depleted.
Diagnostic service attributes
The module exposes additional Zigbee metadata retrieved via ZbInfo polling:
| Attribute | Description |
|---|---|
| IEEEAddr | Unique 64-bit hardware identifier |
| ModelId | Zigbee model ID (lumi.sensor_wleak.aq1) |
| Manufacturer | Manufacturer string reported by the device |
| Endpoints | Active Zigbee endpoints |
| Config | Device Zigbee configuration |
| Link Quality | Signal strength scaled from 0–100% |
Additional capabilities
The Aqara SJCGQ11LM also reports internal device temperature via Zigbee. Per-message link quality (LQI) is available in each SENSOR payload but is currently only exposed at module level via hourly ZbInfo polling. These capabilities can be added in a future template update.
Troubleshooting
Sensor not reporting flood state
- Verify the sensor is paired with the Zigbee2Tasmota gateway — check
ZbStatusin the Tasmota console - Confirm the Device ID in the template matches the short address from pairing (e.g.,
0xF121) - Place the sensor on a wet surface to trigger a state change — the device should publish a
ZoneStatusChangevalue within seconds - Use an MQTT client (e.g., MQTT Explorer) to subscribe to
tele/{GWname}/SENSORand verify the sensor publishesZbReceivedmessages with aZoneStatusChangefield
Offline warning despite working sensor
- The offline detection relies on
ZbInfopolling (hourly). If the sensor has not sent any message within 12 hours, a warning appears - Battery-powered Zigbee devices sleep between events — this is normal behavior. The warning typically clears after the next leak event or
ZbInfopoll - If the warning persists beyond 24 hours, check the battery (CR2032) and re-pair the device if necessary
False alarms or no detection
- Ensure the contact pads on the bottom of the sensor are clean and not obstructed by dirt or residue
- The sensor requires at least 0.5 mm of water to trigger detection — small droplets or condensation may not be enough
- The IP67 rating means the sensor body is waterproof, but the detection pads must be in direct contact with the water surface
The Aqara SJCGQ11LM uses a CR2032 coin cell battery. Battery life is typically 2+ years under normal use. Placement in consistently humid environments (e.g., under a boiler or near a washing machine drain) can reduce battery life due to more frequent wake-ups.