TapHome

Aqara Water Leak Sensor

Packet Parser → MQTT
Dodane przez
Ostatnia aktualizacja: 03. 2026

Wymaga zewnętrznej bramki

tasmota zigbee2tasmota-gateway — strona produktu

Aqara Water Leak Sensor

To urządzenie komunikuje się przez Zigbee za pośrednictwem bramki Tasmota. Upewnij się, że masz zaimportowany szablon 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 osiągnie styki kontaktowe o wysokości 0,5 mm na spodzie urządzenia. 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

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
ParametrOpisPrzykład
MQTT Broker IP AddressAdres IP brokera MQTT192.168.1.10
MQTT Broker PortPort brokera (domyślnie 1883)1883
Gateway nameTasmota MQTT topic (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDKrótki adres Zigbee z parowania0xF121

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 = 1Alarm (woda wykryta)
  • ZoneStatusChange = 0OK (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ą.

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:

AtrybutOpis
IEEEAddrUnikalny 64-bitowy identyfikator sprzętowy
ModelIdZigbee model ID (lumi.sensor_wleak.aq1)
ManufacturerCiąg znaków producenta zgłaszany przez urządzenie
EndpointsAktywne endpointy Zigbee
ConfigKonfiguracja Zigbee urządzenia
Link QualitySił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

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

TapHome ma wbudowany broker MQTT — aktywuj go w UstawieniaHardwareMQTT Broker. Nie jest potrzebne żadne dodatkowe oprogramowanie.

Krok 1 — Skonfiguruj bramkę Tasmota Zigbee

  1. Wgraj oprogramowanie Tasmota 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 ConfigurationConfigure MQTT i ustaw:
    • Host: adres IP brokera MQTT (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.

Krok 2 — Importuj szablon bramki w TapHome

  1. Pobierz szablon bramki ze strony kompatybilności Zigbee2Tasmota Gateway
  2. W TapHome przejdź do UstawieniaHardwarePacket ParserImport
  3. Zaimportuj szablon z tymi parametrami:
    • MQTT Broker IP Address: adres IP 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

Aqara Water Leak Sensor Moduł
Atrybuty serwisowe
IEEEAddrAdres IEEE Zigbee — unikalny 64-bitowy identyfikator sprzętowy czujnika
ModelIdIdentyfikator modelu Zigbee zgłaszany przez urządzenie (lumi.sensor_wleak.aq1)
ManufacturerCiąg znaków producenta zgłaszany przez urządzenie przez Zigbee
EndpointsAktywne endpointy Zigbee na urządzeniu
ConfigCiąg konfiguracyjny Zigbee urządzenia
Link QualitySiła sygnału Zigbee — 0 % (brak sygnału) do 100 % (najlepsza)
Battery VoltageNapięcie baterii pastylkowej CR2032 w woltach
Battery PercentageSzacowany poziom baterii — ostrzeżenie poniżej 30 %
Zmienne niestandardowe
GWname (string)Nazwa Tasmota MQTT topic bramki Zigbee (w Configuration → MQTT → Topic)
ID (string) = 0xF121Kró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

Aqara - Water Leak Sensor

Odczyt (moduł)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Nasłuchiwanie
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
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
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

Czujnik zalania

Nasłuchiwanie
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.

Źródła