---
title: "Aqara Bewegungsmelder (RTCGQ11LM)"
description: "Aqara RTCGQ11LM Zigbee-PIR-Bewegungsmelder über Zigbee2MQTT und MQTT-PacketParser. Bewegung, Batterie, Spannung und Verbindungsqualität in TapHome."
url: "https://taphome.com/de/compatibility/zigbee2mqtt-xiaomi-rtcgq11lm/"
language: de
lastmod: 2026-04-24
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2mqtt","battery-powered","motion-detection"]
  questions: ["Wie integriere ich den Aqara RTCGQ11LM Bewegungsmelder per Zigbee2MQTT in TapHome?","Was meldet die RTCGQ11LM-Vorlage in TapHome?","Wie setze ich den Zigbee2MQTT-Friendly-Name oder die IEEE-Adresse des RTCGQ11LM in TapHome?","Warum bleibt die Bewegung bei meinem RTCGQ11LM nach einer einzigen Erkennung 60 Sekunden aktiv?","Meldet die RTCGQ11LM-Vorlage Batteriestatus und Verbindungsqualität?","Warum verliert mein RTCGQ11LM gelegentlich die Verbindung zu Zigbee2MQTT?"]
---

# Aqara Bewegungsmelder (RTCGQ11LM)

Kommunikation: Packet Parser → MQTT

- [Zigbee2MQTT — Geräteseite RTCGQ11LM](https://www.zigbee2mqtt.io/devices/RTCGQ11LM.html)

> Netzwerkadresse
> 
> Beim in TapHome integrierten MQTT-Broker geben Sie in TapHome `127.0.0.1` als Broker-Adresse ein. Im Gerät geben Sie die IP-Adresse des TapHome Core ein und richten für den Core eine IP-Reservierung im Router ein.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Aqara RTCGQ11LM (in einigen Märkten als Xiaomi Mi Motion Sensor verkauft) ist ein kompakter batteriebetriebener Zigbee-3.0-PIR-Belegungssensor mit einer CR2450-Knopfzelle. Er kommuniziert indirekt mit TapHome — der Sensor wird mit einem Zigbee2MQTT-Koordinator gekoppelt (z. B. Sonoff ZBDongle-P/E oder ein CC2652-basierter Stick), der die Zigbee-Nachrichten auf MQTT-Topics umsetzt. TapHome abonniert diese MQTT-Topics über ein PacketParser-MQTT-Modul.

Die Vorlage bildet den Sensor als binären Belegungseingang (Bewegung / keine Bewegung) ab und stellt die Batterieprozente, die rohe Batteriespannung und die Zigbee-Verbindungsqualität als Serviceattribute bereit.

## Konfiguration

### Zigbee2MQTT-Einrichtung

Bevor die TapHome-Vorlage importiert wird, muss der RTCGQ11LM mit einem Zigbee2MQTT-Koordinator gekoppelt werden:

1. Öffnen Sie die Zigbee2MQTT-Weboberfläche und aktivieren Sie den Kopplungsmodus (**Permit join**)
2. Halten Sie die Reset-Taste am RTCGQ11LM etwa 5 Sekunden lang gedrückt, bis die blaue LED zu blinken beginnt
3. Das Gerät erscheint in der Zigbee2MQTT-Geräteliste mit einer IEEE-Adresse (z. B. `0x00158d00036cd3e2`). Optional kann ihm in der Zigbee2MQTT-Weboberfläche unter den Geräteeinstellungen ein Friendly Name zugewiesen werden.

Schlägt die Kopplung fehl, versuchen Sie statt des langen Haltens einen einzelnen kurzen Tastendruck. Bei CC2531-basierten Koordinatoren hilft es meist, den USB-Stick vor dem Zigbee2MQTT-Neustart kurz herauszuziehen und wieder anzustecken.

### Modulvariable

Nach dem Import der Vorlage in TapHome setzen Sie die benutzerdefinierte Variable `XiaomiRTCGQ11LM`, um das Gerät auf dem MQTT-Broker zu identifizieren:

| Variable | Beschreibung | Wie erhalten | Beispiel |
|----------|--------------|--------------|----------|
| `XiaomiRTCGQ11LM` | Zigbee2MQTT-Friendly-Name oder IEEE-Adresse dieses RTCGQ11LM | Zigbee2MQTT Web UI → Devices → RTCGQ11LM suchen → IEEE oder Friendly Name kopieren | `0x00158d00036cd3e2` |

Der vorgegebene Platzhalter in der Vorlage (`0x00158d00036cd3e2`) ist nur ein Beispiel und **muss** durch die tatsächliche Adresse Ihres Sensors ersetzt werden. Das Listener-Skript abonniert `zigbee2mqtt/{XiaomiRTCGQ11LM}` und parst den JSON-Status-Payload.

> [!TIP]
> Die Verwendung eines Friendly Name (z. B. `flur_bewegung`) anstelle der rohen IEEE-Adresse macht die Konfiguration lesbarer und bleibt stabil, selbst wenn der Sensor später neu gekoppelt wird.

## Gerätefunktionen

### Bewegungserkennung

Die Vorlage bildet den Sensor in TapHome als Reed-Contact-Gerät ab. Die Bezeichnung „Reed Contact" ist lediglich eine Template-Konvention; funktional handelt es sich um einen Standard-PIR-Belegungseingang. Bewegungsereignisse treffen auf dem Topic `zigbee2mqtt/{id}` als JSON ein und werden auf einen numerischen Zustand abgebildet:

| Zigbee2MQTT-Payload | TapHome-Wert |
|--------------------|--------------|
| `"occupancy": true` | 1 (Bewegung) |
| `"occupancy": false` | 0 (Ruhe) |
| andere / fehlt | NaN |

Die erste `occupancy: true`-Nachricht wird erst mit dem ersten Bewegungsereignis nach dem Netzbeitritt des Geräts veröffentlicht — nicht bereits bei Abschluss der Kopplung.

> [!IMPORTANT]
> Die Hardware des RTCGQ11LM erzwingt nach jeder Erkennung eine **60-sekündige Totzeit**: Nach einer gemeldeten Bewegung ignoriert der Sensor weitere Bewegungen für 60 Sekunden. Die Zigbee2MQTT-Option `occupancy_timeout` sollte daher auf dem Standardwert 90 s (oder höher) belassen werden — Werte unter 60 s würden eine `occupancy: false`-Nachricht erzeugen, während sich noch eine Person im Raum befindet. Ohne Hardware-Modifikation lässt sich diese Grenze nicht umgehen.

### Batterie, Spannung und Verbindungsqualität

Die Sensor-Instanz stellt drei schreibgeschützte Serviceattribute bereit, die aus derselben JSON-Statusnachricht geparst werden:

- **Battery** — verbleibende Batterieprozente (0–100 %), formatiert als `"N%"`. Der erste Wert kann nach dem Koppeln bis zu 24 Stunden dauern. Bis zum Eintreffen der ersten Nachricht wird `"-"` angezeigt.
- **Voltage** — rohe Batteriespannung in Millivolt (typisch ~3000 mV bei einer frischen CR2450), formatiert als `"N mV"`. Nützlich als unabhängiger Niederspannungsindikator — der Prozentwert kann noch gesund aussehen, während die Zelle bereits zu schwach für zuverlässige Zigbee-Übertragungen ist.
- **LinkQuality** — Zigbee-Verbindungsqualität (0–255 LQI), formatiert als `"N lqi"`. Werte unter 20 weisen in der Regel auf eine unzuverlässige Verbindung hin.

### Noch nicht abgebildete Funktionen

Der RTCGQ11LM veröffentlicht über Zigbee2MQTT außerdem folgende Entitäten, die von der Vorlage **nicht** verarbeitet werden — sie können in einer künftigen Template-Revision durch Erweiterung des Listener-Skripts ergänzt werden:

- `illuminance` / `illuminance_lux` — Umgebungshelligkeit in Lux (geeignet für lux-gesteuerte Bewegungsautomationen)
- `device_temperature` — interne Chip-Temperatur in °C (nur diagnostisch, nicht die Raumtemperatur)
- `power_outage_count` — Zähler für Batterieentnahme-Ereignisse

Das Zigbee2MQTT-Availability-Topic (`zigbee2mqtt/{id}/availability`) sowie die Konfigurationsoption `occupancy_timeout` (`zigbee2mqtt/bridge/request/device/options`) werden von der Vorlage nicht bedient; als Lebenszeichen für dieses schlafende Gerät werden LinkQuality und Battery empfohlen.

## Fehlerbehebung

### Sensor meldet gar keinen Zustand

1. Prüfen Sie, dass der RTCGQ11LM in der Zigbee2MQTT-Geräteliste mit grünem Status erscheint.
2. Stellen Sie sicher, dass die Variable `XiaomiRTCGQ11LM` exakt dem Friendly Name oder der IEEE-Adresse entspricht — bei Friendly Names wird Groß-/Kleinschreibung beachtet.
3. Lösen Sie eine Bewegung vor dem Sensor aus. Die erste Statusnachricht wird erst mit der ersten Erkennung nach dem Netzbeitritt veröffentlicht.
4. Abonnieren Sie mit einem MQTT-Client (z. B. MQTT Explorer) `zigbee2mqtt/#` und prüfen Sie, ob bei Bewegung Nachrichten auf `zigbee2mqtt/{Ihr_Name}` eintreffen.

### Bewegung bleibt lange nach dem Verlassen des Raums aktiv

Das ist die erwartete 60-sekündige Hardware-Totzeit in Kombination mit dem Zigbee2MQTT-`occupancy_timeout` (Standard 90 s). Der Sensor meldet `occupancy: false` erst, wenn der Timer ohne weitere Bewegung abläuft. Kürzere Timeouts sind nicht zuverlässig — der Sensor ignoriert die ersten 60 s nach einer Erkennung jede Bewegung.

### Gelegentliche Verbindungsabbrüche

Häufige Ursachen für das Herausfallen von Aqara/Xiaomi-Endgeräten aus dem Zigbee-Netz:

1. **Schwaches Signal** — prüfen Sie LinkQuality; Werte unter 20 bedeuten meist, dass ein näherer netzbetriebener Zigbee-Router benötigt wird.
2. **Niedrige Batteriespannung** — das Attribut Voltage ist ein besserer Indikator als der Prozentwert. Zigbee2MQTT weist ausdrücklich darauf hin, dass der Sensor auch bei scheinbar gesundem Prozentwert aus dem Netz fallen kann. Achten Sie daher auf einen deutlichen Abfall gegenüber den ~3000 mV einer frischen Zelle und ersetzen Sie die CR2450, sobald die Verbindung instabil wird.
3. **Inkompatible Router** — Router von Centralite, General Electric, Iris, Ledvance, Legrand, OSRAM, Sylvania, SmartThings und Securifi sind dafür bekannt, ältere Xiaomi/Aqara-Geräte aus dem Mesh zu werfen. Oft hilft es, den Sensor direkt mit dem Koordinator zu koppeln (Reset direkt neben dem Koordinator).

> [!WARNING]
> Aqara-Zigbee-Endgeräte unterstützen im Standard-Zigbee2MQTT-Availability-Modus keine Pings und können fälschlicherweise als offline erscheinen, obwohl sie korrekt arbeiten. Verlassen Sie sich nicht auf das Availability-Topic — verwenden Sie LinkQuality und Battery als Gesundheitsindikatoren.

## Installation in TapHome

### Voraussetzungen

- Zigbee-Gateway mit Tasmota-Firmware (z. B. Sonoff ZBBridge, eWeLink ZB-GW03)
- MQTT-Broker in Ihrem lokalen Netzwerk (integrierter TapHome-Broker oder externer)
- TapHome CCU im selben Netzwerk

> [!TIP]
> TapHome hat einen integrierten MQTT-Broker — aktivieren Sie ihn unter **Einstellungen** → **Hardware** → **MQTT Broker**. Keine zusätzliche Software erforderlich.

### Schritt 1 — Tasmota Zigbee-Gateway einrichten

1. Flashen Sie die [Tasmota-Firmware](https://tasmota.github.io/docs/Getting-Started/) auf einen unterstützten Zigbee-Koordinator (z. B. Sonoff ZBBridge, eWeLink ZB-GW03)
2. Verbinden Sie das Gateway über die Tasmota-Weboberfläche mit Ihrem Wi-Fi-Netzwerk
3. Navigieren Sie zu **Configuration** → **Configure MQTT** und konfigurieren Sie:
   - **Host:** beim integrierten Broker die IP-Adresse des TapHome Core (mit einer IP-Reservierung im Router → [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)), sonst die IP-Adresse Ihres Brokers (z. B. `192.168.1.10`)
   - **Port:** `1883`
   - **Topic:** notieren Sie den Topic-Namen (z. B. `tasmota_XXXXX`) — Sie benötigen ihn beim Vorlagenimport

Ausführliche Anleitungen finden Sie in der [Tasmota Zigbee-Dokumentation](https://tasmota.github.io/docs/Zigbee/).

### Schritt 2 — Gateway-Vorlage in TapHome importieren

1. Laden Sie die Gateway-Vorlage von der Kompatibilitätsseite [Zigbee2Tasmota Gateway](https://taphome.com/de/compatibility/zigbee2tasmota-gateway/) herunter
2. In TapHome gehen Sie zu **Einstellungen** → **Hardware** → **Packet Parser** → **Import**
3. Importieren Sie die Vorlage mit diesen Parametern:
   - **MQTT Broker IP Address:** `127.0.0.1` für den integrierten TapHome-Broker, sonst die IP-Adresse Ihres Brokers (z. B. `192.168.1.10`)
   - **MQTT Broker Port:** `1883`
   - **Gateway name:** Tasmota-MQTT-Topic aus Schritt 1 (z. B. `tasmota_XXXXX`)

Nach dem Import sehen Sie zwei Geräte: **Permit Join** (Schalter) und **Devices Found** (Zähler).

### Schritt 3 — Zigbee-Gerät koppeln

1. In TapHome schalten Sie den **Permit Join**-Schalter ein — es öffnet sich ein 60-Sekunden-Kopplungsfenster
2. Starten Sie am Zigbee-Gerät den Kopplungsvorgang (typischerweise Reset-Taste 5 Sekunden gedrückt halten, bis die LED blinkt)
3. Beobachten Sie den **Devices Found**-Zähler — er erhöht sich, wenn ein neues Gerät beitritt
4. Überprüfen Sie die **Service Attributes** des Gateways, um die ID des neuen Geräts (z. B. `0x1234`), den Hersteller und das Modell zu sehen
5. Der Kopplungsmodus wird nach Ablauf des Zeitlimits automatisch deaktiviert

### Schritt 4 — Geräte-Vorlage importieren

1. Laden Sie die gerätespezifische Vorlage von der entsprechenden Kompatibilitätsseite herunter
2. Importieren Sie die Vorlage mit diesen Parametern:
   - **MQTT Broker IP Address:** dieselbe wie für das Gateway
   - **MQTT Broker Port:** `1883`
   - **Gateway name:** derselbe Tasmota-MQTT-Topic wie oben
   - **Device ID:** die Kurzadresse aus der Kopplung (z. B. `0x1234`)

## Verfügbare Geräte 1

Diese Geräte erscheinen nach dem Import in TapHome.

Aqara Motion Sensor (RTCGQ11LM) Modul

Benutzerdefinierte Variablen

|                                                 |                                                                                                                                                                                                                                              |
|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `XiaomiRTCGQ11LM` (string) = 0x00158d00036cd3e2 | Zigbee2MQTT-Friendly-Name oder IEEE-Adresse (0x… 16-hex) dieses RTCGQ11LM — wird als MQTT-Topic-Suffix zigbee2mqtt/{this} verwendet. Der vorgegebene Platzhalter muss nach der Kopplung durch die tatsächliche Sensoradresse ersetzt werden. |

Bewegungsmelder Reed-Kontakt Nur lesen

PIR-Belegungserkennung — meldet Bewegung (1) bei Erkennung, Ruhe (0) nachdem die 60-Sekunden-Hardware-Totzeit und der Zigbee2MQTT-occupancy\_timeout abgelaufen sind.

boolean JSON (PARSEJSON on occupancy key)

Serviceattribute

|             |                                                                                                                                                                      |
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Batterie    | Verbleibende Batterieprozente (Knopfzelle CR2450, 0–100 %). Formatiert als 'N%'; der erste Wert nach der Kopplung kann bis zu 24 h dauern.                           |
| Spannung    | Rohe Batteriespannung in Millivolt (~3000 mV bei einer frischen CR2450). Präziserer Indikator für eine schwache Batterie als der Prozentwert.                        |
| LinkQuality | Indikator für die Zigbee-Verbindungsqualität (0–255 LQI). Werte unter 20 weisen in der Regel auf eine unzuverlässige Verbindung und häufige Verbindungsabbrüche hin. |

Lesen (Modul)

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

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

Serviceattribute

Battery

```taphome
IF(ISNAN(battery),"-",battery+"%");
```

Voltage

```taphome
IF(ISNAN(voltage),"-",voltage+"mV");
```

LinkQuality

```taphome
IF(ISNAN(link),"-",link+"lqi");
```

**Verbindung:** Packet Parser → MQTT

Mögliche Verbesserungen (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.

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt   | Standard      |
|------------------------|---------------|
| Mqtt Broker IP-Adresse | `192.168.0.1` |
| Mqtt Broker port       | `1883`        |

## Quellen

- Aqara RTCGQ11LM — Zigbee2MQTT device page
  
  [www.zigbee2mqtt.io](https://www.zigbee2mqtt.io/devices/RTCGQ11LM.html) 2026-04-24
- Aqara Motion Sensor — official product specs
  
  [www.aqara.com](https://www.aqara.com/en/product/human-motion-sensor/specs/) 2026-04-24
- Aqara Motion Sensor — user manual
  
  [www.aqara.com](https://www.aqara.com/en/product/human-motion-sensor/) 2026-04-24

## Verwandte Dokumentation

- [MQTT Integration](https://taphome.com/de/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)
- [MQTT-Broker](https://taphome.com/de/docs/integration/packet-parser/mqtt-broker/)
- [Listener-Skripte](https://taphome.com/de/docs/script/listener-scripts/)

