TapHome

Aqara Senzor pohybu (RTCGQ11LM)

Packet Parser → MQTT
Přidal
Poslední aktualizace: 06. 2026

Vyžaduje externí bránu

Zigbee2MQTT Zigbee2MQTT bridge (any supported Zigbee coordinator — e.g. Sonoff ZBDongle-E/P, CC2652, ConBee II) — stránka produktu

Aqara Senzor pohybu (RTCGQ11LM)

Aqara RTCGQ11LM (na některých trzích prodávaný jako Xiaomi Mi Motion Sensor) je kompaktní bateriový Zigbee 3.0 PIR senzor obsazenosti napájený knoflíkovou baterií CR2450. S TapHome komunikuje nepřímo — senzor se spáruje s koordinátorem Zigbee2MQTT (např. Sonoff ZBDongle-P/E nebo stick založený na CC2652), který přemosťuje Zigbee zprávy do MQTT topiců. TapHome se na tyto MQTT topicy připojuje přes modul PacketParser MQTT.

Šablona mapuje senzor jako binární vstup obsazenosti (pohyb / bez pohybu) a vystavuje procento baterie, surové napětí baterie a kvalitu Zigbee spojení jako servisní atributy.

Konfigurace

Nastavení Zigbee2MQTT

Před importem šablony do TapHome musí být RTCGQ11LM spárován s koordinátorem Zigbee2MQTT:

  1. Otevřete webové UI Zigbee2MQTT a zapněte párovací režim (Permit join)
  2. Na RTCGQ11LM podržte reset tlačítko přibližně 5 sekund, dokud nezačne blikat modrá LED
  3. Zařízení se objeví v seznamu zařízení Zigbee2MQTT s IEEE adresou (např. 0x00158d00036cd3e2). Volitelně mu v webovém UI Zigbee2MQTT v nastavení zařízení přiřaďte friendly name.

Pokud se párování nezdaří, zkuste místo dlouhého podržení jedno krátké stisknutí. U koordinátorů typu CC2531 obvykle pomůže vytáhnout a znovu zasunout USB stick před restartem Zigbee2MQTT.

Proměnná modulu

Po importu šablony v TapHome nastavte vlastní proměnnou XiaomiRTCGQ11LM, která identifikuje zařízení na MQTT brokeru:

ProměnnáPopisKde získatPříklad
XiaomiRTCGQ11LMZigbee2MQTT friendly name nebo IEEE adresa tohoto RTCGQ11LMZigbee2MQTT web UI → Devices → najděte RTCGQ11LM → zkopírujte IEEE nebo friendly name0x00158d00036cd3e2

Výchozí zástupný text v šabloně (0x00158d00036cd3e2) je pouze příklad a musí být nahrazen skutečnou adresou vašeho senzoru. Skript listeneru se přihlašuje k topicu zigbee2mqtt/{XiaomiRTCGQ11LM} a parsuje JSON payload stavu.

Použití friendly name (např. chodba_pohyb) místo surové IEEE adresy činí konfiguraci čitelnější a zůstane stabilní i při případném opětovném spárování senzoru.

Schopnosti zařízení

Detekce pohybu

Šablona mapuje senzor jako Reed Contact zařízení v TapHome. Název “reed contact” je konvence šablony; chování je standardní PIR vstup obsazenosti. Události pohybu přicházejí na topic zigbee2mqtt/{id} v JSON formátu a mapují se na číselný stav:

Payload Zigbee2MQTTHodnota v TapHome
"occupancy": true1 (pohyb)
"occupancy": false0 (klid)
jiné / chybíNaN

První zpráva occupancy: true se publikuje až při první detekci pohybu po připojení zařízení do sítě — ne při dokončení párování.

Hardware RTCGQ11LM vynucuje 60sekundovou mrtvou zónu po každé detekci: po nahlášení pohybu senzor ignoruje další pohyb po dobu 60 sekund. Volbu occupancy_timeout v Zigbee2MQTT proto ponechte na výchozích 90 s (nebo výše) — hodnoty pod 60 s by vygenerovaly zprávu occupancy: false ještě během přítomnosti osoby. Toto omezení nelze obejít bez hardwarové úpravy.

Baterie, napětí a kvalita spojení

Instance senzoru vystavuje tři servisní atributy pouze pro čtení, parsované ze stejné JSON stavové zprávy:

  • Battery — zbývající procento baterie (0–100 %), formátované jako "N%". První hodnotu po spárování může hlásit až po 24 hodinách. Dokud nepřijde první zpráva, zobrazuje se "-".
  • Voltage — surové napětí baterie v milivoltech (typicky ~3000 mV na nové CR2450), formátované jako "N mV". Užitečný nezávislý indikátor slábnoucí baterie — procento může ještě vypadat zdravě, když je článek už příliš slabý pro spolehlivý přenos Zigbee.
  • LinkQuality — indikátor kvality Zigbee spojení (0–255 LQI), formátovaný jako "N lqi". Hodnoty pod 20 zpravidla znamenají nespolehlivé spojení.
Schopnosti, které šablona zatím nemapuje

RTCGQ11LM přes Zigbee2MQTT publikuje také tyto entity, které šablona nezpracovává — lze je doplnit rozšířením skriptu listeneru v budoucí revizi šablony:

  • illuminance / illuminance_lux — úroveň okolního osvětlení v luxech (vhodné pro lux-filtrované automatizace pohybu)
  • device_temperature — vnitřní teplota čipu v °C (pouze diagnostická, ne okolní teplota v místnosti)
  • power_outage_count — čítač vyjmutí baterie

Topic dostupnosti Zigbee2MQTT (zigbee2mqtt/{id}/availability) ani konfigurační volba occupancy_timeout (zigbee2mqtt/bridge/request/device/options) nejsou šablonou obsluhovány; jako indikátor živosti tohoto spícího zařízení se doporučuje LinkQuality a Battery.

Řešení problémů

Senzor nehlásí žádný stav
  1. Ověřte, že RTCGQ11LM se v seznamu zařízení Zigbee2MQTT zobrazuje se zeleným stavem.
  2. Zkontrolujte, zda proměnná XiaomiRTCGQ11LM přesně odpovídá friendly name nebo IEEE adrese — u friendly name záleží na velikosti písmen.
  3. Spusťte detekci pohybem před senzorem. První stavová zpráva se publikuje až při první detekci po připojení.
  4. Pomocí MQTT klienta (např. MQTT Explorer) se přihlaste k topicu zigbee2mqtt/# a ověřte, že při pohybu přicházejí zprávy na topic zigbee2mqtt/{vas_nazev}.
Pohyb zůstává aktivní i po odchodu osoby

Jedná se o očekávanou 60sekundovou hardwarovou mrtvou zónu v kombinaci s occupancy_timeout v Zigbee2MQTT (výchozí 90 s). Senzor neohlásí occupancy: false, dokud časovač nevyprší bez dalšího pohybu. Kratší timeouty nejsou spolehlivé — senzor prvních 60 s po detekci pohyb jednoduše ignoruje.

Náhodné odpojení

Běžné příčiny vypadávání Aqara/Xiaomi koncových zařízení ze Zigbee sítě:

  1. Slabý signál — zkontrolujte LinkQuality; hodnoty pod 20 obvykle znamenají, že senzor potřebuje bližší mains-powered Zigbee router.
  2. Nízké napětí baterie — atribut Voltage je lepší ukazatel než procento. Zigbee2MQTT výslovně upozorňuje, že senzor může vypadnout ze sítě i při stále “zdravě” vypadajícím procentu, sledujte tedy patrný pokles oproti ~3000 mV na novém článku a CR2450 vyměňte, jakmile se spojení stane nespolehlivým.
  3. Nekompatibilní routery — Centralite, General Electric, Iris, Ledvance, Legrand, OSRAM, Sylvania, SmartThings a Securifi routery jsou známé tím, že starší Xiaomi/Aqara zařízení ze sítě “vypadnou”. Často pomůže spárovat senzor přímo s koordinátorem (reset senzoru s ním v bezprostřední blízkosti).

Koncová zařízení Aqara Zigbee nepodporují standardní ping v režimu Zigbee2MQTT availability a mohou se jevit jako offline, i když normálně fungují. Na sledování živosti se nespoléhejte na availability topic — použijte LinkQuality a Battery jako ukazatele zdraví.

Jak nainstalovat v TapHome

Předpoklady

  • Zigbee brána s firmwarem Tasmota (např. Sonoff ZBBridge, eWeLink ZB-GW03)
  • MQTT broker běžící ve vaší lokální síti (vestavěný TapHome broker nebo externí)
  • TapHome CCU ve stejné síti

TapHome má vestavěný MQTT broker — aktivujte ho v NastaveníHardwareMQTT Broker. Není potřeba žádný další software.

Krok 1 — Nastavte Tasmota Zigbee bránu

  1. Nahrajte firmware Tasmota na podporovaný Zigbee koordinátor (např. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Připojte bránu k vaší Wi-Fi síti přes webové rozhraní Tasmota
  3. Přejděte na ConfigurationConfigure MQTT a nastavte:
    • Host: IP adresa vašeho MQTT brokeru (např. 192.168.1.10)
    • Port: 1883
    • Topic: zapište si název topicu (např. tasmota_XXXXX) — budete ho potřebovat při importu šablony

Podrobné pokyny naleznete v dokumentaci Tasmota Zigbee.

Krok 2 — Importujte šablonu brány v TapHome

  1. Stáhněte si šablonu brány ze stránky kompatibility Zigbee2Tasmota Gateway
  2. V TapHome přejděte na NastaveníHardwarePacket ParserImport
  3. Importujte šablonu s těmito parametry:
    • MQTT Broker IP Address: IP adresa vašeho brokeru (např. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: Tasmota MQTT topic z kroku 1 (např. tasmota_XXXXX)

Po importu uvidíte dvě zařízení: Permit Join (přepínač) a Devices Found (počítadlo).

Krok 3 — Spárujte Zigbee zařízení

  1. V TapHome zapněte přepínač Permit Join — otevře se 60sekundové okno pro párování
  2. Na Zigbee zařízení spusťte proces párování (typicky podržte tlačítko reset 5 sekund, dokud LED nezačne blikat)
  3. Sledujte počítadlo Devices Found — zvýší se, když se připojí nové zařízení
  4. Zkontrolujte Service Attributes brány, kde uvidíte ID nového zařízení (např. 0x1234), výrobce a model
  5. Režim párování se automaticky deaktivuje po uplynutí časového limitu

Krok 4 — Importujte šablonu zařízení

  1. Stáhněte si šablonu konkrétního zařízení z příslušné stránky kompatibility
  2. Importujte šablonu s těmito parametry:
    • MQTT Broker IP Address: stejná jako pro bránu
    • MQTT Broker Port: 1883
    • Gateway name: stejný Tasmota MQTT topic jako výše
    • Device ID: krátká adresa z párování (např. 0x1234)

Dostupná zařízení

Aqara Motion Sensor (RTCGQ11LM) Modul
Vlastní proměnné
XiaomiRTCGQ11LM (string) = 0x00158d00036cd3e2Zigbee2MQTT friendly name nebo IEEE adresa (0x… 16-hex) tohoto RTCGQ11LM — používá se jako přípona MQTT topicu zigbee2mqtt/{this}. Výchozí zástupný text musí být po spárování nahrazen skutečnou adresou senzoru.
Senzor pohybu Jazýčkový kontakt Pouze ke čtení

PIR detekce obsazenosti — hlásí pohyb (1) při detekci, klid (0) po uplynutí 60s hardwarové mrtvé zóny a Zigbee2MQTT occupancy_timeout.

boolean JSON (PARSEJSON on occupancy key)
Servisní atributy
BaterieZbývající procento baterie (knoflíková baterie CR2450, 0–100 %). Formátováno jako 'N%'; první hodnotu po spárování může hlásit až po 24 hodinách.
NapětíSurové napětí baterie v milivoltech (~3000 mV na nové CR2450). Přesnější indikátor slábnoucí baterie než procento.
LinkQualityIndikátor kvality Zigbee spojení (0–255 LQI). Hodnoty pod 20 zpravidla znamenají nespolehlivé spojení a časté odpojení.

Senzor pohybu

Čtení (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Listener
IF (COMPARE(RECEIVEDMSG.TOPIC, "zigbee2mqtt/"+ XiaomiRTCGQ11LM, CompareOptions.IgnoreCase) = 0)
    VAR value := TOSTRING(PARSEJSON(RECEIVEDMSG.PAYLOAD, "occupancy")); 
    IF (COMPARE(value, "true", CompareOptions.IgnoreCase) = 0)
        Rc := 1; 
    ELSEIF (COMPARE(value, "false", CompareOptions.IgnoreCase) = 0)
        Rc := 0;
    ELSE
        Rc := NaN;
    END   
    battery := PARSEJSON(RECEIVEDMSG.PAYLOAD,"battery", true);
    voltage := PARSEJSON(RECEIVEDMSG.PAYLOAD,"voltage", true);
    link := PARSEJSON(RECEIVEDMSG.PAYLOAD,"linkquality", true);
END;
Servisní atributy
Battery
IF(ISNAN(battery),"-",battery+"%");
Voltage
IF(ISNAN(voltage),"-",voltage+"mV");
LinkQuality
IF(ISNAN(link),"-",link+"lqi");
Připojení: Packet Parser → MQTT
Možná vylepšení (5)
  • Illuminance — illuminance / illuminance_lux JSON key (unit lx, 0+). Ambient light level reported alongside occupancy. Could drive lux-gated motion automations (e.g. only switch lights below 50 lx). Not parsed by the current listener script — would require an additional PARSEJSON call plus a service_attribute entry.
  • Device Temperature — device_temperature JSON key (unit °C). Internal chip temperature — not ambient room temperature. Useful for diagnostic alerts (overheating, direct sunlight on the sensor) but not for climate control. Not parsed by the current listener script.
  • Power Outage Count — power_outage_count JSON key (integer). Increments when the battery is removed/reinserted or the device loses power. Could detect tampering or battery swaps. Not parsed by the current listener script.
  • Availability (LWT) — online / offline string payload published by Z2M if availability is enabled globally or per device (availability: true in configuration.yaml). Could detect dropped sensors. Not subscribed by the current template.
  • Occupancy Timeout Configuration — occupancy_timeout (seconds, minimum 60, default 90) controls how long after motion the sensor waits before reporting occupancy: false. Currently set via Z2M frontend / configuration.yaml — TapHome template does not expose this as a setting and does not publish to bridge/request topics.

Zdroje

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu