TapHome

Aqara Vibration Sensor

Packet Parser → MQTT
Eingereicht von
Zuletzt aktualisiert: 03. 2026

Erfordert externes Gateway

tasmota zigbee2tasmota-gateway — Produktseite

Aqara Vibration Sensor

Dieses Gerät kommuniziert über Zigbee durch ein Tasmota-Gateway. Stellen Sie sicher, dass Sie die Vorlage 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:

ParameterBeschreibungBeispiel
MQTT Broker IP AddressIP-Adresse des MQTT-Brokers192.168.1.10
MQTT Broker PortBroker-Port (Standard 1883)1883
Gateway nameTasmota-MQTT-Topic (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDKurze Zigbee-Adresse vom Koppeln0xC9A9

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:

ZustandWertBeschreibung
Drop0Freier Fall oder Sturzereignis erkannt
Tilt1Neigung oder Winkeländerung erkannt
Vibrate2Vibration 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.

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

TapHome hat einen integrierten MQTT-Broker — aktivieren Sie ihn unter EinstellungenHardwareMQTT Broker. Keine zusätzliche Software erforderlich.

Schritt 1 — Tasmota Zigbee-Gateway einrichten

  1. Flashen Sie die Tasmota-Firmware 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 ConfigurationConfigure MQTT und konfigurieren Sie:
    • Host: IP-Adresse Ihres MQTT-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.

Schritt 2 — Gateway-Vorlage in TapHome importieren

  1. Laden Sie die Gateway-Vorlage von der Kompatibilitätsseite Zigbee2Tasmota Gateway herunter
  2. In TapHome gehen Sie zu EinstellungenHardwarePacket ParserImport
  3. Importieren Sie die Vorlage mit diesen Parametern:
    • MQTT Broker IP Address: 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

Aqara Vibration Sensor Modul
Serviceattribute
IEEEAddr
ModelId
Hersteller
Endpoints
Config
VerbindungsqualitätZigbee-Signalstärke — 0 % (kein Signal) bis 100 % (ausgezeichnet)
Batteriespannung
BatteriestandGeschätzter CR2032-Batteriestand — Warnung unter 30 %
Benutzerdefinierte Variablen
GWname (string)Tasmota MQTT topic name of the Zigbee gateway (found in Configuration → MQTT → Topic)
ID (string) = 0xC9A9Zigbee short address of the Aqara Vibration 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 - Vibration Sensor

Lesen (Modul)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Listener
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
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Neigungswinkel Variable Nur lesen

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

numeric Einheit: °

Neigungswinkel

Listener
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 · ???

Vibrationsmodus

Listener
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).

Quellen