---
title: "Aqara Water Leak Sensor"
description: "Aqara SJCGQ11LM przez Zigbee i bramkę Zigbee2Tasmota (MQTT): wykrycie wycieku wody w TapHome, poziom baterii i wykrywanie offline."
url: "https://taphome.com/pl/compatibility/zigbee2tasmota-aqara-water-leak-sensor/"
language: pl
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2tasmota","battery-powered","water-leak-detection","security"]
  questions: ["Jak zintegrować czujnik wycieku wody Aqara z TapHome?","Co wykrywa szablon Aqara SJCGQ11LM w TapHome?","Jak sparować czujnik wycieku wody Aqara z bramką Zigbee2Tasmota?","Dlaczego mój czujnik wycieku wody Aqara nie zgłasza stanu zalania?","Czy szablon czujnika wycieku wody Aqara monitoruje poziom baterii w TapHome?","Jak TapHome wykrywa wycieki wody przez Zigbee?"]
---

# Aqara Water Leak Sensor

Komunikacja: Packet Parser → MQTT

- [Aqara Water Leak Sensor](https://www.aqara.com/en/product/water-sensor/)

> Adres w sieci
> 
> Przy brokerze MQTT wbudowanym w TapHome wpisz w TapHome jako adres brokera `127.0.0.1`. W urządzeniu wpisz adres IP TapHome Core i nadaj jednostce Core rezerwację IP w routerze.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

> [!IMPORTANT]
> To urządzenie komunikuje się przez **Zigbee** za pośrednictwem bramki Tasmota. Upewnij się, że masz
> zaimportowany szablon [Zigbee2Tasmota Gateway](https://taphome.com/pl/compatibility/zigbee2tasmota-gateway/)
> i urządzenie sparowane przed kontynuowaniem.

Aqara Water Leak Sensor (SJCGQ11LM) to kompaktowy, bateryjny czujnik wycieku wody Zigbee z klasą ochrony IP67. Wykrywa obecność wody, gdy jej poziom przy stykach kontaktowych na spodzie urządzenia osiągnie 0,5 mm. TapHome komunikuje się z czujnikiem przez MQTT za pośrednictwem bramki Zigbee2Tasmota — czujnik publikuje wartość `ZoneStatusChange` w komunikacie JSON `ZbReceived`, gdy wyciek wody zostanie wykryty lub usunięty.

Czujnik zasilany jest baterią pastylkową CR2032 (żywotność około 2 lat). Szablon monitoruje poziom i napięcie baterii za pomocą atrybutów serwisowych, ostrzega przy spadku poniżej 30 % i wykrywa stan offline urządzenia (ostrzeżenie po 12 godzinach, błąd po 24 godzinach).

## Konfiguracja

### Parowanie czujnika

1. W TapHome włącz przełącznik **Permit Join** w module Zigbee2Tasmota Gateway
2. Na czujniku naciśnij i przytrzymaj przycisk, aż niebieska dioda LED zacznie migać, następnie puść
3. Poczekaj, aż licznik **Devices Found** się zwiększy — Device ID czujnika (np. `0xF121`) pojawi się w atrybutach serwisowych bramki
4. Zaimportuj ten szablon urządzenia, używając Device ID z parowania

> [!TIP]
> Jeśli parowanie się nie rozpoczyna, spróbuj przytrzymać logo wody na spodzie czujnika przez około 10 sekund, aż pojawią się trzy mignięcia niebieskiej diody LED, następnie puść.

### Parametry importu

| Parametr | Opis | Przykład |
|----------|------|---------|
| **MQTT Broker IP Address** | Adres IP brokera MQTT | `192.168.1.10` |
| **MQTT Broker Port** | Port brokera (domyślnie 1883) | `1883` |
| **Gateway name** | Tasmota MQTT topic (Configuration → MQTT → Topic) | `tasmota_XXXXX` |
| **Device ID** | Krótki adres Zigbee z parowania | `0xF121` |

## Funkcje urządzenia

### Wykrywanie wycieku wody

Szablon udostępnia jedno urządzenie **Flood Sensor** mapowane jako `PacketParserReedContact` (typ 1031) z możliwością `FloodSensor`. Urządzenie analizuje pole `ZoneStatusChange` z `ZbReceived.{DeviceID}` w komunikacie MQTT SENSOR:

- **ZoneStatusChange = 1** → **Alarm** (woda wykryta)
- **ZoneStatusChange = 0** → **OK** (sucho)

Czujnik budzi się i przesyła swój stan, gdy woda osiągnie styki kontaktowe o wysokości 0,5 mm na spodzie urządzenia, i ponownie, gdy woda zostanie usunięta i styki wyschną.

> [!NOTE]
> W odróżnieniu od czujników drzwi/okien, które używają pola `Contact`, czujnik wycieku wody używa `ZoneStatusChange` — pola stanu Zigbee IAS Zone. Jest to standardowy mechanizm dla czujników alarmowych w protokole Zigbee.

### Monitorowanie baterii

Moduł śledzi stan baterii za pomocą dwóch atrybutów serwisowych:

- **Battery Percentage** — szacowany poziom naładowania CR2032; **ostrzeżenie o niskim poziomie baterii** aktywuje się przy spadku poniżej 30 %
- **Battery Voltage** — surowe napięcie ogniwa CR2032 w woltach

Dane o baterii są analizowane z pól `BatteryPercentage` i `BatteryVoltage` w komunikacie `ZbReceived`.

### Wykrywanie stanu offline

Szablon monitoruje dostępność urządzenia za pomocą znacznika czasu `LastSeenEpoch` z odpytywania `ZbInfo` (co 1 godzinę):

- **Ostrzeżenie** — urządzenie nie było widziane od ponad **12 godzin**
- **Błąd** — urządzenie nie było widziane od ponad **24 godzin**

Pomaga to wykryć sytuacje, gdy czujnik utracił łączność Zigbee lub bateria jest całkowicie rozładowana.

### Diagnostyczne atrybuty serwisowe

Moduł udostępnia dodatkowe metadane Zigbee pobierane przez odpytywanie `ZbInfo`:

| Atrybut | Opis |
|---------|------|
| **IEEEAddr** | Unikalny 64-bitowy identyfikator sprzętowy |
| **ModelId** | Zigbee model ID (`lumi.sensor_wleak.aq1`) |
| **Manufacturer** | Ciąg znaków producenta zgłaszany przez urządzenie |
| **Endpoints** | Aktywne endpointy Zigbee |
| **Config** | Konfiguracja Zigbee urządzenia |
| **Link Quality** | Siła sygnału skalowana od 0–100 % |

### Dodatkowe możliwości

Aqara SJCGQ11LM raportuje również wewnętrzną temperaturę urządzenia przez Zigbee. Jakość łącza (LQI) dla każdego komunikatu jest dostępna w każdym payloadzie SENSOR, ale obecnie jest udostępniana tylko na poziomie modułu przez godzinne odpytywanie `ZbInfo`. Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Czujnik nie zgłasza stanu zalania

1. Sprawdź, czy czujnik jest sparowany z bramką Zigbee2Tasmota — zweryfikuj `ZbStatus` w konsoli Tasmota
2. Potwierdź, że **Device ID** w szablonie odpowiada krótkiemu adresowi z parowania (np. `0xF121`)
3. Umieść czujnik na mokrej powierzchni, aby wywołać zmianę stanu — urządzenie powinno opublikować wartość `ZoneStatusChange` w ciągu kilku sekund
4. Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować `tele/{GWname}/SENSOR` i sprawdź, czy czujnik publikuje komunikaty `ZbReceived` z polem `ZoneStatusChange`

### Ostrzeżenie offline pomimo działającego czujnika

1. Wykrywanie offline opiera się na odpytywaniu `ZbInfo` (co godzinę). Jeśli czujnik nie wysłał żadnego komunikatu w ciągu 12 godzin, pojawia się ostrzeżenie
2. Bateryjne urządzenia Zigbee śpią między zdarzeniami — to normalne zachowanie. Ostrzeżenie zazwyczaj znika po następnym zdarzeniu wycieku lub odpytaniu `ZbInfo`
3. Jeśli ostrzeżenie utrzymuje się ponad 24 godziny, sprawdź baterię (CR2032) i w razie potrzeby sparuj ponownie urządzenie

### Fałszywe alarmy lub brak wykrywania

1. Upewnij się, że styki kontaktowe na spodzie czujnika są czyste i nie są zablokowane przez brud lub osady
2. Czujnik wymaga co najmniej 0,5 mm wody do uruchomienia wykrywania — małe krople lub skropliny mogą nie wystarczyć
3. Klasa ochrony IP67 oznacza, że obudowa czujnika jest wodoszczelna, ale styki detekcyjne muszą mieć bezpośredni kontakt z powierzchnią wody

> [!WARNING]
> Aqara SJCGQ11LM używa baterii pastylkowej CR2032. Żywotność baterii wynosi zazwyczaj 2+ lata przy normalnym użytkowaniu. Umieszczenie w stale wilgotnym środowisku (np. pod bojlerem lub przy odpływie pralki) może skrócić żywotność baterii z powodu częstszego budzenia się.

## Jak zainstalować w TapHome

### Wymagania wstępne

- Bramka Zigbee z oprogramowaniem Tasmota (np. Sonoff ZBBridge, eWeLink ZB-GW03)
- Broker MQTT działający w sieci lokalnej (wbudowany broker TapHome lub zewnętrzny)
- TapHome CCU w tej samej sieci

> [!TIP]
> TapHome ma wbudowany broker MQTT — aktywuj go w **Ustawienia** → **Hardware** → **MQTT Broker**. Nie jest potrzebne żadne dodatkowe oprogramowanie.

### Krok 1 — Skonfiguruj bramkę Tasmota Zigbee

1. Wgraj [oprogramowanie Tasmota](https://tasmota.github.io/docs/Getting-Started/) na obsługiwany koordynator Zigbee (np. Sonoff ZBBridge, eWeLink ZB-GW03)
2. Połącz bramkę z siecią Wi-Fi przez interfejs webowy Tasmota
3. Przejdź do **Configuration** → **Configure MQTT** i ustaw:
   - **Host:** dla wbudowanego brokera adres IP TapHome Core (z rezerwacją IP w routerze → [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)), w przeciwnym razie adres IP Twojego brokera (np. `192.168.1.10`)
   - **Port:** `1883`
   - **Topic:** zanotuj nazwę topicu (np. `tasmota_XXXXX`) — będzie potrzebna przy imporcie szablonu

Szczegółowe instrukcje znajdziesz w [dokumentacji Tasmota Zigbee](https://tasmota.github.io/docs/Zigbee/).

### Krok 2 — Importuj szablon bramki w TapHome

1. Pobierz szablon bramki ze strony kompatybilności [Zigbee2Tasmota Gateway](https://taphome.com/pl/compatibility/zigbee2tasmota-gateway/)
2. W TapHome przejdź do **Ustawienia** → **Hardware** → **Packet Parser** → **Import**
3. Zaimportuj szablon z tymi parametrami:
   - **MQTT Broker IP Address:** dla wbudowanego brokera TapHome `127.0.0.1`, w przeciwnym razie adres IP Twojego brokera (np. `192.168.1.10`)
   - **MQTT Broker Port:** `1883`
   - **Gateway name:** topic MQTT Tasmota z kroku 1 (np. `tasmota_XXXXX`)

Po imporcie zobaczysz dwa urządzenia: **Permit Join** (przełącznik) i **Devices Found** (licznik).

### Krok 3 — Sparuj urządzenie Zigbee

1. W TapHome włącz przełącznik **Permit Join** — otworzy się 60-sekundowe okno parowania
2. Na urządzeniu Zigbee rozpocznij procedurę parowania (zazwyczaj przytrzymaj przycisk reset przez 5 sekund, aż dioda LED zacznie migać)
3. Obserwuj licznik **Devices Found** — zwiększy się, gdy nowe urządzenie się połączy
4. Sprawdź **Service Attributes** bramki, aby zobaczyć ID nowego urządzenia (np. `0x1234`), producenta i model
5. Tryb parowania dezaktywuje się automatycznie po upływie limitu czasu

### Krok 4 — Importuj szablon urządzenia

1. Pobierz szablon konkretnego urządzenia z odpowiedniej strony kompatybilności
2. Zaimportuj szablon z tymi parametrami:
   - **MQTT Broker IP Address:** ten sam co dla bramki
   - **MQTT Broker Port:** `1883`
   - **Gateway name:** ten sam topic MQTT Tasmota co powyżej
   - **Device ID:** krótki adres z parowania (np. `0x1234`)

## Dostępne urządzenia 1

Te urządzenia pojawią się w TapHome po imporcie.

Aqara Water Leak Sensor Moduł

Atrybuty serwisowe

|                    |                                                                                 |
|--------------------|---------------------------------------------------------------------------------|
| IEEEAddr           | Adres IEEE Zigbee — unikalny 64-bitowy identyfikator sprzętowy czujnika         |
| ModelId            | Identyfikator modelu Zigbee zgłaszany przez urządzenie (lumi.sensor\_wleak.aq1) |
| Manufacturer       | Ciąg znaków producenta zgłaszany przez urządzenie przez Zigbee                  |
| Endpoints          | Aktywne endpointy Zigbee na urządzeniu                                          |
| Config             | Ciąg konfiguracyjny Zigbee urządzenia                                           |
| Link Quality       | Siła sygnału Zigbee — 0 % (brak sygnału) do 100 % (najlepsza)                   |
| Battery Voltage    | Napięcie baterii pastylkowej CR2032 w woltach                                   |
| Battery Percentage | Szacowany poziom baterii — ostrzeżenie poniżej 30 %                             |

Zmienne niestandardowe

`GWname` (string) Nazwa Tasmota MQTT topic bramki Zigbee (w Configuration → MQTT → Topic) 

`ID` (string) = 0xF121 Krótki adres Zigbee czujnika wycieku wody Aqara (przypisany podczas parowania)

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

Odczyt (moduł)

```taphome
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
```

Nasłuchiwanie

```taphome
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
```

Atrybuty serwisowe

IEEEAddr

```taphome
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
```

ModelId

```

```

Manufacturer

```

```

Endpoints

```

```

Config

```

```

Link Quality

```

```

Battery Voltage

```taphome
BatteryVoltage + " V"
```

Battery Percentage

```taphome
BatteryPercentage + "%"
```

Czujnik zalania Kontakt reed Tylko do odczytu

Wykrywanie wycieku wody przez Zigbee IAS Zone — odczytuje pole ZoneStatusChange z komunikatu czujnika Zigbee. Klasa IP67, próg detekcji 0,5 mm.

boolean

Nasłuchiwanie

```taphome
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".ZoneStatusChange", true);
    if(!ISNULL(val), Rc := val);
end
```

**Połączenie:** Packet Parser → MQTT

Możliwe ulepszenia (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.

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji                                         | Domyślnie       |
|-------------------------------------------------------------|-----------------|
| Mqtt Broker Adres IP                                        | `192.168.0.1`   |
| Mqtt Broker port                                            | `1883`          |
| Gateway name (Tasmota-&gt;Configuration-&gt;MQTT-&gt;Topic) | `tasmota_XXXXX` |
| Device ID                                                   | `0xFFFF`        |

## Źródła

- Tasmota Zigbee Documentation
  
  [tasmota.github.io](https://tasmota.github.io/docs/Zigbee/)
- Zigbee Compatible Devices Database
- Blakadder Device Entry — Aqara SJCGQ11LM
  
  [zigbee.blakadder.com](https://zigbee.blakadder.com/Aqara_SJCGQ11LM.html) 2026-03-29
- Aqara Product Page — Water Leak Sensor
  
  [www.aqara.com](https://www.aqara.com/en/product/water-sensor/) 2026-03-29

## Powiązana dokumentacja

- [MQTT Integration](https://taphome.com/pl/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)
- [Broker MQTT](https://taphome.com/pl/docs/integration/packet-parser/mqtt-broker/)
- [Skrypty listener](https://taphome.com/pl/docs/script/listener-scripts/)

