---
title: "Aqara Vibration Sensor"
description: "Aqara DJT11LM über Zigbee und ein Tasmota-Gateway (MQTT): Vibration, Neigungswinkel in Grad und Sturz, dazu Batteriestand und Offline-Warnung."
url: "https://taphome.com/de/compatibility/zigbee2tasmota-aqara-vibration-sensor/"
language: de
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","battery-powered","vibration-detection"]
  questions: ["Wie integriere ich den Aqara DJT11LM Vibrationssensor mit TapHome?","Was erkennt die Aqara-Vibrationssensor-Vorlage in TapHome?","Wie verbinde ich einen Aqara Vibrationssensor über Tasmota mit TapHome?","Warum wird mein Aqara Vibrationssensor in TapHome als offline angezeigt?","Wie koppele ich einen Aqara DJT11LM mit einem Zigbee2Tasmota-Gateway?","Zeigt TapHome den Neigungswinkel des Aqara Vibrationssensors an?"]
---

# Aqara Vibration Sensor

Kommunikation: Packet Parser → MQTT

- [Aqara Produktseite](https://www.aqara.com/eu/product/vibration-sensor)

> 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

> [!IMPORTANT]
> Dieses Gerät kommuniziert über **Zigbee** durch ein Tasmota-Gateway. Stellen Sie sicher, dass Sie
> die Vorlage [Zigbee2Tasmota Gateway](https://taphome.com/de/compatibility/zigbee2tasmota-gateway/)
> importiert und Ihr Gerät gekoppelt haben.

Der Aqara DJT11LM ist ein kompakter, batteriebetriebener Zigbee-Vibrationssensor, der drei Bewegungsarten erkennt: Vibration, Neigung und Sturz. Er kommuniziert mit TapHome über MQTT durch ein Zigbee2Tasmota-Gateway — der Sensor sendet Ereignisdaten über das Topic `tele/{gateway}/SENSOR`, und die Vorlage parst die proprietären Felder `AqaraVibrationsOrAngle` und `AqaraVibrationMode` aus dem JSON-Payload `ZbReceived`.

Der Sensor wird von einer CR2032-Knopfzelle betrieben (Lebensdauer ca. 2 Jahre). Die Vorlage überwacht Batteriestand und -spannung über Serviceattribute, warnt bei einem Abfall unter 30 % und erkennt Offline-Zustände des Geräts (Warnung nach 12 Stunden, Fehler nach 24 Stunden).

## Konfiguration

### Sensor koppeln

1. Aktivieren Sie am Zigbee2Tasmota-Gateway **Permit Join** (über den Gateway-Vorlagen-Schalter in TapHome oder den Tasmota-Konsolenbefehl `ZbPermitJoin 1`)
2. Halten Sie die Taste am Aqara Vibrationssensor gedrückt, bis die blaue LED blinkt, und lassen Sie dann los
3. Der Sensor sollte sich innerhalb von 60 Sekunden koppeln
4. Notieren Sie sich die zugewiesene Device ID (z. B. `0xC9A9`) aus den Serviceattributen des Gateways oder der Tasmota-Konsole

### Import-Parameter

Importieren Sie nach dem Koppeln die Gerätevorlage mit diesen Parametern:

| Parameter | Beschreibung | Beispiel |
|-----------|--------------|----------|
| MQTT Broker IP Address | IP-Adresse des MQTT-Brokers | `192.168.1.10` |
| MQTT Broker Port | Broker-Port (Standard 1883) | `1883` |
| Gateway name | Tasmota-MQTT-Topic (Configuration → MQTT → Topic) | `tasmota_XXXXX` |
| Device ID | Kurze Zigbee-Adresse vom Koppeln | `0xC9A9` |

> [!WARNING]
> Aqara/Xiaomi-Zigbee-Geräte entsprechen nicht vollständig dem Zigbee-Standard und können Verbindungsprobleme mit bestimmten Zigbee-Routern aufweisen. Bekannte inkompatible Router sind Centralite, General Electric, OSRAM, Sylvania, SmartThings und Securifi. Verwenden Sie Router, die als kompatibel mit Xiaomi-Geräten bestätigt sind (z. B. IKEA TRADFRI).

## Gerätefunktionen

### Neigungswinkel

Das Gerät Tilt Angle liest das Feld `AqaraVibrationsOrAngle` aus dem JSON-Payload `ZbReceived`. Der Wert wird in Grad durch direkte Zuweisung gemeldet — das Listener-Skript parst den Winkel aus jeder `SENSOR`-Nachricht und aktualisiert den Sensorwert sofort.

Der Neigungswinkel gibt die aktuelle Ausrichtung des Sensors relativ zur Oberfläche an, an der er befestigt ist. Er aktualisiert sich, sobald der Sensor ein Neigungsereignis erkennt und eine `SENSOR`-Nachricht sendet.

### Vibrationsmodus

Das Gerät Vibration Mode liest das Feld `AqaraVibrationMode` aus dem JSON-Payload `ZbReceived`. Es ordnet die Stringwerte über einen SWITCH-Ausdruck numerischen Zuständen zu:

| Zustand | Wert | Beschreibung |
|---------|------|--------------|
| Drop | 0 | Freier Fall oder Sturzereignis erkannt |
| Tilt | 1 | Neigung oder Winkeländerung erkannt |
| Vibrate | 2 | Vibration oder Berührung erkannt |

Der Modus aktualisiert sich bei jedem Bewegungsereignis. Die Zustände 3–9 sind in der Vorlage als Platzhalter definiert, werden aber nicht aktiv vom Listener-Skript zugeordnet — Wert 4 wird als Standard-Fallback für unerkannte Modi verwendet.

### Batterie und Gerätezustand

Das Modul stellt mehrere Serviceattribute bereit, die vom `ZbInfo`-Abfragemechanismus befüllt werden (1-Stunden-Intervall über ReadScript):

- **Battery Percentage** — geschätzter CR2032-Batteriestand. Eine Warnung wird ausgelöst, wenn der Stand unter 30 % fällt.
- **Battery Voltage** — aktuelle Batteriespannung in Volt.
- **Link Quality** — Zigbee-Signalstärke, skaliert von 0–254 auf 0–100 %.
- **IEEEAddr**, **ModelId**, **Manufacturer**, **Endpoints**, **Config** — Geräteidentifikation und Zigbee-Konfigurationsmetadaten.

Die Vorlage verfolgt auch `LastSeenEpoch` aus den ZbInfo-Antworten. Wenn der Sensor seit mehr als 12 Stunden nicht gesehen wurde, wird eine Warnung ausgelöst. Nach 24 Stunden wird ein Fehler ausgelöst — dies deutet darauf hin, dass der Sensor offline sein könnte, außer Reichweite ist oder seine Batterie leer ist.

> [!TIP]
> Batterie-Updates der CR2032 von Zigbee-Geräten können bis zu 24 Stunden dauern. Ein plötzlicher Abfall bedeutet nicht unbedingt, dass die Batterie defekt ist — warten Sie auf den nächsten Berichtszyklus.

### Weitere Funktionen

Der DJT11LM unterstützt außerdem 3 Empfindlichkeitsstufen (niedrig, mittel, hoch), die über herstellerspezifische Zigbee-Befehle konfigurierbar sind (`ZbSend` mit `Manuf: 0x115F`). Einige Zigbee-Plattformen stellen zusätzlich einen separaten Vibrations-Intensitäts-/Zählwert neben dem Neigungswinkel bereit. Diese Funktionen können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Sensor meldet keine Daten

1. Überprüfen Sie, ob das Zigbee2Tasmota-Gateway mit dem MQTT-Broker verbunden ist und Nachrichten empfängt (prüfen Sie `tele/{GWname}/SENSOR` in einem MQTT-Client)
2. Bestätigen Sie, dass die Device ID in der Vorlage mit der beim Koppeln zugewiesenen Kurzadresse übereinstimmt (z. B. `0xC9A9`)
3. Prüfen Sie das Serviceattribut Link Quality — Werte unter 20 % deuten auf ein schwaches Zigbee-Signal hin. Bewegen Sie den Sensor näher zum Gateway oder fügen Sie ein kompatibles Zigbee-Router-Gerät hinzu
4. Drücken Sie die Sensortaste einmal, um eine Übertragung zu erzwingen, und überprüfen Sie, ob das Gateway die Nachricht empfangen hat

### Vibrationsmodus auf Fallback-Wert hängengeblieben

1. Prüfen Sie die Zigbee2Tasmota-Firmware-Version — das Feld `AqaraVibrationMode` verwendet proprietäre Aqara-Zigbee-Attribute, die aktuelle Firmware erfordern
2. Überprüfen Sie, ob der `ZbReceived`-Payload das Feld `AqaraVibrationMode` enthält (verwenden Sie einen MQTT-Client zur Inspektion der rohen `tele/{GWname}/SENSOR`-Nachrichten)
3. Wenn der Modus immer Wert 4 (Fallback) meldet, sendet das Gerät möglicherweise einen nicht erkannten Ereignistyp — prüfen Sie die Tasmota-Konsole für den vollständigen JSON-Payload

### Gerät zeigt Offline-Warnung

1. Prüfen Sie den Batteriestand — eine leere CR2032 führt dazu, dass der Sensor nicht mehr sendet
2. Der Aqara Vibrationssensor ist ein Zigbee-Endgerät (kein Router) und kommuniziert über nahegelegene Zigbee-Router-Geräte. Wenn ein Router ausfällt, kann der Sensor unerreichbar werden
3. Versuchen Sie, die Sensortaste zu drücken, um ihn aufzuwecken und eine Neuverbindung mit dem Zigbee-Netzwerk zu erzwingen
4. Wenn das Problem weiterhin besteht, koppeln Sie das Gerät erneut, indem Sie die Taste gedrückt halten, bis die blaue LED blinkt

### Empfindlichkeit manuell anpassen

Die TapHome-Vorlage enthält keine Empfindlichkeitskonfiguration. Um die Empfindlichkeit zu ändern, verwenden Sie direkt die Tasmota-Konsole:

- **Niedrige Empfindlichkeit:** `ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":21}}`
- **Mittlere Empfindlichkeit:** `ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":11}}`
- **Hohe Empfindlichkeit (Standard):** `ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":1}}`

Ersetzen Sie `0xC9A9` durch die tatsächliche Device ID des Sensors.

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

Diese Geräte erscheinen nach dem Import in TapHome.

Aqara Vibration Sensor Modul

Serviceattribute

|                     |                                                                   |
|---------------------|-------------------------------------------------------------------|
| IEEEAddr            |                                                                   |
| ModelId             |                                                                   |
| Hersteller          |                                                                   |
| Endpoints           |                                                                   |
| Config              |                                                                   |
| Verbindungsqualität | Zigbee-Signalstärke — 0 % (kein Signal) bis 100 % (ausgezeichnet) |
| Batteriespannung    |                                                                   |
| Batteriestand       | Geschätzter CR2032-Batteriestand — Warnung unter 30 %             |

Benutzerdefinierte Variablen

`GWname` (string) Tasmota MQTT Topic-Name des Zigbee-Gateways (unter Configuration → MQTT → Topic) 

`ID` (string) = 0xC9A9 Zigbee-Kurzadresse des Sensors (zugewiesen beim Koppeln)

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

Lesen (Modul)

```taphome
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
```

Listener

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

Serviceattribute

IEEEAddr

```taphome
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
```

ModelId

```

```

Manufacturer

```

```

Endpoints

```

```

Config

```

```

Link Quality

```

```

Battery Voltage

```taphome
BatteryVoltage + " V"
```

Battery Percentage

```taphome
BatteryPercentage + "%"
```

Neigungswinkel Variable Nur lesen

Aktueller Neigungswinkel in Grad — liest AqaraVibrationsOrAngle aus dem Zigbee-Sensor-Payload

numeric Einheit: °

Listener

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

Vibrationsmodus Mehrwertschalter Nur lesen

Art der erkannten Bewegung — Drop (0), Tilt (1) oder Vibrate (2) aus dem Feld AqaraVibrationMode

string → enum SWITCH mapping

Werte / Zustände: Drop · Tilt · Vibrate · ???

Listener

```taphome
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".AqaraVibrationMode", true);
    if (!ISNULL(val), SWITCH(val,
    "drop", Mu := 0,
    "tilt", Mu := 1,
    "vibrate", Mu := 2,
    Mu := 4));
end
```

**Verbindung:** Packet Parser → MQTT

Mögliche Verbesserungen (3)

- Vibration Sensitivity — The DJT11LM supports 3 sensitivity levels (low/medium/high) via manufacturer-specific Zigbee commands (Manuf: 0x115F, cluster 0x0000, attribute 0xFF0D). Not configurable in TapHome template — requires manual ZbSend command via Tasmota console.
- Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.
- Vibration Count / Intensity — Some Zigbee platforms expose a vibration intensity or count value separately from the angle. The TapHome template only parses AqaraVibrationsOrAngle (angle) and AqaraVibrationMode (event type).

## 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`          |
| Gateway name (Tasmota-&gt;Configuration-&gt;MQTT-&gt;Topic) | `tasmota_XXXXX` |
| Device ID                                                   | `0xFFFF`        |

## Quellen

- Tasmota Zigbee Documentation
  
  [tasmota.github.io](https://tasmota.github.io/docs/Zigbee/)
- Zigbee Compatible Devices Database
- Blakadder Device Entry — Aqara DJT11LM
  
  [zigbee.blakadder.com](https://zigbee.blakadder.com/Aqara_DJT11LM.html) 2026-03-29
- Aqara Product Page — Vibration Sensor
  
  [www.aqara.com](https://www.aqara.com/eu/product/vibration-sensor) 2026-03-29

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

