---
title: "Aqara Door and Window Sensor"
description: "Aqara MCCGQ11LM przez Zigbee i bramkę Zigbee2Tasmota (MQTT): stan otwarcia drzwi lub okna w TapHome, bateria i wykrywanie offline."
url: "https://taphome.com/pl/compatibility/zigbee2tasmota-aqara-door-and-window-sensor/"
language: pl
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2tasmota","battery-powered","security"]
  questions: ["Jak zintegrować czujnik drzwi i okien Aqara z TapHome?","Co wykrywa szablon Aqara MCCGQ11LM w TapHome?","Jak sparować czujnik drzwi Aqara z bramą Zigbee2Tasmota?","Dlaczego mój czujnik drzwi Aqara nie raportuje stanu kontaktu?","Czy szablon czujnika drzwi Aqara monitoruje poziom baterii w TapHome?","Jak jeden szablon tworzy zarówno czujnik drzwi, jak i czujnik okien?"]
---

# Aqara Door and Window Sensor

Komunikacja: Packet Parser → MQTT

- [Czujnik drzwi i okien Aqara](https://www.aqara.com/en/product/door-and-window-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 bramy Tasmota. Upewnij się, że
> masz zaimportowany szablon [Zigbee2Tasmota Gateway](https://taphome.com/pl/compatibility/zigbee2tasmota-gateway/)
> i Twoje urządzenie jest sparowane.

Aqara Door and Window Sensor (MCCGQ11LM) to kompaktowy, zasilany bateryjnie czujnik kontaktowy Zigbee. Wykrywa, czy drzwi lub okno są otwarte lub zamknięte za pomocą magnetycznego kontaktu reed. TapHome komunikuje się z czujnikiem przez MQTT za pośrednictwem bramy Zigbee2Tasmota — czujnik publikuje swój stan kontaktu w wiadomości JSON `ZbReceived` przy każdej zmianie stanu.

Ten szablon tworzy **dwa urządzenia** z jednego fizycznego czujnika: **Czujnik drzwi** i **Czujnik okien**. Oba odczytują to samo pole `Contact` z wiadomości Zigbee. Użytkownik może przypisać jedno urządzenie jako kontakt drzwi, a drugie jako kontakt okna w TapHome, lub używać tylko tego, które odpowiada rzeczywistej instalacji. Nieużywane urządzenia można ukryć w ustawieniach TapHome.

## Konfiguracja

### Parowanie czujnika

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

### Parametry importu

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

## Możliwości urządzenia

### Wykrywanie kontaktu drzwi i okien

Szablon udostępnia dwa urządzenia z kontaktem reed — **Czujnik drzwi** i **Czujnik okien** — oba zmapowane jako `PacketParserReedContact` z funkcją bezpieczeństwa. Każde urządzenie parsuje pole `Contact` z `ZbReceived.{DeviceID}` w wiadomości MQTT SENSOR:

- **Contact = true** → zamknięte (drzwi/okno zamknięte)
- **Contact = false** → otwarte (drzwi/okno otwarte)

Czujnik raportuje stan kontaktu natychmiast przy każdej zmianie, umożliwiając wyzwalacze automatyzacji w czasie rzeczywistym (np. włączenie światła przy otwarciu drzwi, wysłanie alertu przy nieoczekiwanym otwarciu okna).

### Monitoring baterii

Moduł monitoruje stan baterii za pośrednictwem dwóch atrybutów serwisowych:

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

Dane baterii są parsowane z pól `BatteryPercentage` i `BatteryVoltage` w wiadomości `ZbReceived`.

### Wykrywanie stanu offline

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

- **Ostrzeżenie** — urządzenie nie było widziane dłużej niż **12 godzin**
- **Błąd** — urządzenie nie było widziane dłużej niż **24 godziny**

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 godzinne odpytywanie `ZbInfo`:

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

### Dodatkowe możliwości

Aqara MCCGQ11LM raportuje również wewnętrzną temperaturę urządzenia przez Zigbee. Jakość połączenia (LQI) dla poszczególnych wiadomości jest dostępna w każdym payloadzie SENSOR, ale obecnie jest udostępniana tylko na poziomie modułu przez godzinne odpytywanie `ZbInfo`. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Czujnik nie raportuje stanu kontaktu

1. Sprawdź, czy czujnik jest sparowany z bramą Zigbee2Tasmota — zweryfikuj `ZbStatus` w konsoli Tasmota
2. Potwierdź, że **Device ID** w szablonie odpowiada krótkiemu adresowi z parowania (np. `0x1234`)
3. Otwórz i zamknij drzwi/okno, aby wywołać zmianę stanu — czujnik publikuje tylko przy zmianie, nie ciągle
4. Użyj klienta MQTT (np. MQTT Explorer) do subskrypcji topicu `tele/{GWname}/SENSOR` i zweryfikuj, że czujnik publikuje wiadomości `ZbReceived` z polem `Contact`

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

1. Wykrywanie offline opiera się na odpytywaniu `ZbInfo` (godzinnym). Jeśli czujnik nie wysłał żadnej wiadomości w ciągu 12 godzin, pojawia się ostrzeżenie
2. Zasilane bateryjnie urządzenia Zigbee śpią między zdarzeniami — to normalne zachowanie. Ostrzeżenie zazwyczaj znika po następnej zmianie stanu kontaktu lub odpytaniu `ZbInfo`
3. Jeśli ostrzeżenie utrzymuje się dłużej niż 24 godziny, sprawdź baterię (CR1632) i w razie potrzeby sparuj urządzenie ponownie

### Czujnik drzwi i czujnik okien pokazują ten sam stan

To oczekiwane zachowanie — oba urządzenia odczytują pole `Contact` tego samego fizycznego czujnika. Ukryj nieużywane urządzenie w TapHome (**Settings** → **Devices** → wybierz urządzenie → **Hide**).

> [!WARNING]
> Aqara MCCGQ11LM używa baterii guzikowej CR1632. Żywotność baterii wynosi zazwyczaj ponad 2 lata przy normalnym użytkowaniu. Częste zmiany stanu (np. często używane drzwi) lub słaby sygnał Zigbee (wymagający retransmisji wiadomości) mogą skrócić żywotność baterii.

## 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 2

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

Aqara Door and Window Sensor Moduł

Atrybuty serwisowe

|                   |                                                                         |
|-------------------|-------------------------------------------------------------------------|
| IEEEAddr          | Adres IEEE Zigbee — unikalny 64-bitowy identyfikator sprzętowy czujnika |
| ModelId           |                                                                         |
| Producent         |                                                                         |
| Endpoints         |                                                                         |
| Config            |                                                                         |
| Jakość połączenia | Siła sygnału Zigbee — 0% (brak sygnału) do 100% (najlepszy)             |
| Napięcie baterii  | Napięcie ogniwa CR1632 w woltach                                        |
| Poziom baterii    | Szacowany poziom baterii — ostrzeżenie poniżej 30%                      |

Zmienne niestandardowe

`GWname` (string) Nazwa topicu MQTT Tasmota bramy Zigbee (w Configuration → MQTT → Topic) 

`ID` (string) Krótki adres Zigbee czujnika (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 drzwi Kontakt reed Tylko do odczytu

Kontakt reed do wykrywania otwarcia/zamknięcia drzwi — odczytuje pole Contact z wiadomości czujnika Zigbee

boolean

Nasłuchiwanie

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

Czujnik okien Kontakt reed Tylko do odczytu

Kontakt reed do wykrywania otwarcia/zamknięcia okna — odczytuje pole Contact z wiadomości czujnika Zigbee

boolean

Nasłuchiwanie

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

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

Możliwe ulepszenia (3)

- Device Temperature — Blakadder lists device temperature measurement as an exposed feature. The Aqara MCCGQ11LM reports internal temperature via Zigbee, but the TapHome template does not parse it.
- Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.
- Sensor Calibration — Some Zigbee platforms support per-sensor calibration offsets. Not configurable in TapHome template.

## 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 MCCGQ11LM
  
  [zigbee.blakadder.com](https://zigbee.blakadder.com/Aqara_MCCGQ11LM.html) 2026-03-29
- Aqara Product Page — Door and Window Sensor
  
  [www.aqara.com](https://www.aqara.com/en/product/door-and-window-sensor) 2026-03-29
- Aqara MCCGQ11LM — Product Specifications Datasheet
  
  [cdn-reichelt.de](https://cdn-reichelt.de/documents/datenblatt/R800/AQARA_MCCGQ11LM_DB-EN.pdf) 2026-03-29

Dokumenty producentów są © ich właścicieli. Udostępniamy je w formie opublikowanej przez producenta, wyłącznie w celach informacyjnych.

## 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/)

