
This device communicates via Zigbee through a Tasmota gateway. Make sure you have the Zigbee2Tasmota Gateway template imported and your device paired before proceeding.
The Aqara DJT11LM is a compact battery-powered Zigbee vibration sensor that detects three types of movement: vibration, tilt and drop. It communicates with TapHome over MQTT through a Zigbee2Tasmota gateway — the sensor sends event data via the tele/{gateway}/SENSOR topic, and the template parses the proprietary AqaraVibrationsOrAngle and AqaraVibrationMode fields from the ZbReceived JSON payload.
The sensor is powered by a CR2032 coin cell battery (approximately 2-year lifespan). The template monitors battery level and voltage via service attributes, warns when battery drops below 30%, and detects device offline states (warning after 12 hours, error after 24 hours).
Configuration
Pairing the sensor
- On the Zigbee2Tasmota gateway, enable Permit Join (via the gateway template switch in TapHome or Tasmota console command
ZbPermitJoin 1) - Press and hold the button on the Aqara vibration sensor until the blue LED starts blinking, then release
- The sensor should pair within 60 seconds
- Note the assigned Device ID (e.g.,
0xC9A9) from the gateway’s service attributes or Tasmota console
Import parameters
After pairing, import the device template with these parameters:
| Parameter | Description | Example |
|---|---|---|
| MQTT Broker IP Address | IP of the MQTT broker | 192.168.1.10 |
| MQTT Broker Port | Broker port (default 1883) | 1883 |
| Gateway name | Tasmota MQTT topic (Configuration → MQTT → Topic) | tasmota_XXXXX |
| Device ID | Short Zigbee address from pairing | 0xC9A9 |
Aqara/Xiaomi Zigbee devices do not fully comply with the Zigbee standard and may experience connectivity issues with certain Zigbee routers. Known incompatible routers include Centralite, General Electric, OSRAM, Sylvania, SmartThings and Securifi. Use routers confirmed compatible with Xiaomi devices (e.g., IKEA TRADFRI).
Device capabilities
Tilt angle
The Tilt Angle device reads the AqaraVibrationsOrAngle field from the ZbReceived JSON payload. The value is reported in degrees as a direct assignment — the listener script parses the angle from each SENSOR message and updates the sensor value immediately.
The tilt angle reflects the current orientation of the sensor relative to the surface it is attached to. It updates whenever the sensor detects a tilt event and transmits a SENSOR message.
Vibration mode
The Vibration Mode device reads the AqaraVibrationMode field from the ZbReceived JSON payload. It maps the string values to numeric states via a SWITCH expression:
| State | Value | Description |
|---|---|---|
| Drop | 0 | Free-fall or dropping event detected |
| Tilt | 1 | Tilting or angle change detected |
| Vibrate | 2 | Vibration or touch detected |
The mode updates on each movement event. States 3-9 are defined in the template as placeholders but are not actively mapped by the listener script — value 4 is used as a default fallback for any unrecognized mode.
Battery and device health
The module exposes several service attributes populated by the ZbInfo polling mechanism (1-hour interval via the ReadScript):
- Battery Percentage — estimated CR2032 battery level. A warning is raised when the level drops below 30%.
- Battery Voltage — current battery voltage in volts.
- Link Quality — Zigbee signal strength scaled from 0-254 to 0-100%.
- IEEEAddr, ModelId, Manufacturer, Endpoints, Config — device identification and Zigbee configuration metadata.
The template also tracks LastSeenEpoch from ZbInfo responses. If the sensor has not been seen for more than 12 hours, a warning is raised. After 24 hours, an error is raised — indicating the sensor may be offline, out of range, or its battery is depleted.
CR2032 battery updates from Zigbee devices can take up to 24 hours to refresh. A sudden drop does not necessarily mean the battery is failing — wait for the next reporting cycle.
Additional capabilities
The DJT11LM also supports 3 sensitivity levels (low, medium, high) configurable via manufacturer-specific Zigbee commands (ZbSend with Manuf: 0x115F). Some Zigbee platforms additionally expose a separate vibration intensity/count value alongside the tilt angle. These capabilities can be added in a future template update.
Troubleshooting
Sensor not reporting data
- Verify the Zigbee2Tasmota gateway is connected to the MQTT broker and receiving messages (check
tele/{GWname}/SENSORin an MQTT client) - Confirm the Device ID in the template matches the short address assigned during pairing (e.g.,
0xC9A9) - Check the Link Quality service attribute — values below 20% indicate a weak Zigbee signal. Move the sensor closer to the gateway or add a compatible Zigbee router device
- Press the sensor button once to force a transmission and verify the gateway receives the message
Vibration mode stuck on fallback value
- Check the Zigbee2Tasmota firmware version — the
AqaraVibrationModefield uses proprietary Aqara Zigbee attributes that require up-to-date firmware - Verify that the
ZbReceivedpayload contains theAqaraVibrationModefield (use an MQTT client to inspect the rawtele/{GWname}/SENSORmessages) - If the mode always reports value 4 (fallback), the device may be sending an unrecognized event type — check the Tasmota console for the full JSON payload
Device shows offline warning
- Check the battery level — a depleted CR2032 will cause the sensor to stop transmitting
- The Aqara vibration sensor is a Zigbee end device (not a router) and communicates through nearby Zigbee router devices. If a router goes offline, the sensor may become unreachable
- Try pressing the sensor button to wake it and force a re-association with the Zigbee network
- If the issue persists, re-pair the device by holding the button until the blue LED blinks
Adjusting sensitivity manually
The TapHome template does not include sensitivity configuration. To change sensitivity, use the Tasmota console directly:
- Low sensitivity:
ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":21}} - Medium sensitivity:
ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":11}} - High sensitivity (default):
ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":1}}
Replace 0xC9A9 with the actual Device ID of the sensor.