TapHome

Aqara Temperature, Humidity and Pressure Sensor

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

Wymaga zewnętrznej bramki

tasmota zigbee2tasmota-gateway — strona produktu

Aqara Temperature, Humidity and Pressure Sensor

To urządzenie komunikuje się przez Zigbee za pośrednictwem bramki Tasmota. Upewnij się, że masz zaimportowany szablon Zigbee2Tasmota Gateway i Twoje urządzenie jest sparowane.

Aqara WSDCGQ11LM to kompaktowy, bateryjny czujnik Zigbee, który mierzy temperaturę otoczenia, wilgotność względną i ciśnienie atmosferyczne. Komunikuje się z TapHome przez MQTT za pośrednictwem bramki Zigbee2Tasmota — czujnik wysyła okresowe odczyty przez topic tele/{gateway}/SENSOR, a szablon parsuje payload JSON ZbReceived.

Czujnik jest zasilany baterią guzikową CR2032. Szablon monitoruje poziom i napięcie baterii przez atrybuty serwisowe, ostrzega gdy bateria spadnie poniżej 30 % i wykrywa stany offline urządzenia (ostrzeżenie po 12 godzinach, błąd po 24 godzinach).

Konfiguracja

Parowanie czujnika
  1. Na bramce Zigbee2Tasmota aktywuj Permit Join (przez przełącznik szablonu bramki w TapHome lub polecenie konsoli Tasmota ZbPermitJoin 1)
  2. Naciśnij i przytrzymaj przycisk reset na czujniku Aqara przez około 5 sekund, aż niebieska dioda LED zacznie migać
  3. Zwolnij przycisk — czujnik powinien się sparować w ciągu 60 sekund
  4. Zanotuj przydzielony Device ID (np. 0x1234) z atrybutów serwisowych bramki lub konsoli Tasmota
Parametry importu

Po sparowaniu zaimportuj szablon urządzenia z tymi parametrami:

ParametrOpisPrzykład
MQTT Broker IP AddressIP brokera MQTT192.168.1.10
MQTT Broker PortPort brokera (domyślnie 1883)1883
Gateway nameTopic MQTT Tasmota (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDKrótki adres Zigbee z parowania0x1234

Urządzenia Zigbee Aqara/Xiaomi nie są w pełni zgodne ze standardem Zigbee i mogą mieć problemy z łącznością z niektórymi routerami Zigbee. Znane niekompatybilne routery to Centralite, General Electric, OSRAM, Sylvania, SmartThings i Securifi. Używaj routerów potwierdzonych jako kompatybilne z urządzeniami Xiaomi (np. IKEA TRADFRI).

Możliwości urządzenia

Temperatura i wilgotność

Urządzenie Temperature and Humidity odczytuje pola Temperature i Humidity z payloadu JSON ZbReceived. Temperatura jest raportowana w °C jako wartość bezpośrednia. Wilgotność jest raportowana jako surowa liczba całkowita (np. 4520 dla 45,20 %) i dzielona przez 100 w skrypcie listenera, aby uzyskać stosunek, który TapHome wyświetla jako procent.

Obie wartości aktualizują się za każdym razem, gdy czujnik przesyła wiadomość SENSOR — zwykle co kilka minut lub przy znaczącej zmianie.

Ciśnienie atmosferyczne

Urządzenie Pressure odczytuje pole Pressure z payloadu JSON ZbReceived. Wartość jest raportowana w hPa (hektopaskalach) i mapowana przez ValueLogTypeConversion z surowego typu 62 na typ ciśnienia 25 ze skalą liniową 1:1.

Ciśnienie atmosferyczne może być wykorzystywane do monitorowania trendów pogodowych lub reguł automatyzacji opartych na wysokości nad poziomem morza.

Bateria i stan urządzenia

Moduł udostępnia kilka atrybutów serwisowych wypełnianych mechanizmem pollingu ZbInfo (interwał 1-godzinny przez ReadScript):

  • Battery Percentage — szacowany poziom baterii CR2032. Przy spadku poniżej 30 % wyświetlane jest ostrzeżenie.
  • Battery Voltage — aktualne napięcie baterii w woltach.
  • Link Quality — siła sygnału Zigbee skalowana z 0–254 na 0–100 %.
  • IEEEAddr, ModelId, Manufacturer, Endpoints, Config — identyfikacja urządzenia i metadane konfiguracji Zigbee.

Szablon śledzi również LastSeenEpoch z odpowiedzi ZbInfo. Jeśli czujnik nie był widziany przez ponad 12 godzin, wyświetlane jest ostrzeżenie. Po 24 godzinach wyświetlany jest błąd — wskazujący, że czujnik może być offline, poza zasięgiem lub ma wyczerpaną baterię.

Aktualizacje baterii CR2032 z urządzeń Zigbee mogą trwać do 24 godzin. Nagły spadek nie musi oznaczać awarii baterii — poczekaj na następny cykl raportowania.

Dodatkowe możliwości

WSDCGQ11LM obsługuje również offsety kalibracyjne dla pomiarów temperatury, wilgotności i ciśnienia dla poszczególnych czujników (dostępne w zigbee2mqtt). Napięcie baterii jest dodatkowo udostępniane jako encja na poziomie urządzenia w niektórych stosach Zigbee. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

Czujnik nie raportuje danych
  1. Sprawdź, czy bramka Zigbee2Tasmota jest podłączona do brokera MQTT i odbiera wiadomości (sprawdź tele/{GWname}/SENSOR w kliencie MQTT)
  2. Potwierdź, że Device ID w szablonie odpowiada krótkiemu adresowi przydzielonemu podczas parowania (np. 0x1234)
  3. Sprawdź atrybut serwisowy Link Quality — wartości poniżej 20 % wskazują na słaby sygnał Zigbee. Przenieś czujnik bliżej bramki lub dodaj kompatybilne urządzenie routera Zigbee
  4. Naciśnij przycisk czujnika raz, aby wymusić transmisję, i sprawdź, czy bramka odbiera wiadomość
Odczyt wilgotności wydaje się nieprawidłowy

Szablon dzieli surową wartość Humidity przez 100 (np. 4520 staje się 0,4520, wyświetlane jako 45,20 %). Jeśli odczyt wydaje się zbyt niski (np. 0,45 % zamiast 45 %), sprawdź wersję firmware Zigbee2Tasmota — niektóre wersje firmware raportują wilgotność już w formacie procentowym, przez co dzielenie jest zbędne.

Urządzenie wyświetla ostrzeżenie offline
  1. Sprawdź poziom baterii — wyczerpana CR2032 spowoduje, że czujnik przestanie nadawać
  2. Czujnik Aqara jest urządzeniem końcowym Zigbee (nie routerem) i komunikuje się przez pobliskie urządzenia routera Zigbee. Jeśli router przejdzie w tryb offline, czujnik może stać się nieosiągalny
  3. Spróbuj nacisnąć przycisk czujnika, aby go wybudzić i wymusić ponowne połączenie z siecią Zigbee
  4. Jeśli problem nie ustępuje, sparuj urządzenie ponownie, przytrzymując przycisk reset przez 5 sekund, aż niebieska dioda LED zacznie migać

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 Temperature, Humidity and Pressure Sensor Moduł
Atrybuty serwisowe
IEEEAddrAdres IEEE Zigbee — unikalny 64-bitowy identyfikator sprzętowy czujnika
ModelId
Manufacturer
Endpoints
Config
Jakość połączeniaSiła sygnału Zigbee — 0 % (brak sygnału) do 100 % (doskonały)
Napięcie baterii
Poziom bateriiSzacowany poziom baterii CR2032 — ostrzeżenie poniżej 30 %
Zmienne niestandardowe
GWname (string)Tasmota MQTT topic name of the Zigbee gateway (found in Configuration → MQTT → Topic)
ID (string)Zigbee short address of the Aqara Temperature, Humidity and Pressure Sensor (assigned during pairing)
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 - Temperature, Humidity and Pressure 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 + "%"
Ciśnienie Zmienna Tylko do odczytu

Ciśnienie atmosferyczne w hPa — przydatne do śledzenia pogody i automatyzacji opartej na wysokości

numeric Jednostka: hPa

Ciśnienie

Nasłuchiwanie
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Pressure", true);
    if(!ISNULL(val), Va := val);
end
Temperatura i wilgotność Czujnik temperatury Tylko do odczytu

Połączona temperatura powietrza (°C) i wilgotność względna (%) z jednego czujnika Zigbee

temperature + humidity Jednostka: °C / %

Temperatura i wilgotność

Nasłuchiwanie
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var temp := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Temperature", true);
    var hum := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Humidity", true);
    if (!ISNULL(temp), Te := temp);
    if (!ISNULL(hum), Hu := hum/ 100);
end
Połączenie: Packet Parser → MQTT
Możliwe ulepszenia (3)
  • Battery Voltage (device-level) — Battery voltage in mV exposed as a separate entity in zigbee2mqtt. TapHome template reads it as a module-level service attribute instead.
  • Sensor Calibration Offsets — zigbee2mqtt supports per-sensor calibration offsets for temperature, humidity, and pressure. Not configurable in TapHome template.
  • 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