TapHome

Aqara Vibration Sensor

Packet Parser → MQTT
Trimis de
Ultima actualizare: 03. 2026

Necesită gateway extern

tasmota zigbee2tasmota-gateway — pagina produsului

Aqara Vibration Sensor

Acest dispozitiv comunică prin Zigbee printr-un gateway Tasmota. Înainte de a continua, asigurați-vă că ați importat șablonul Zigbee2Tasmota Gateway și ați împerecheat dispozitivul.

Aqara DJT11LM este un senzor de vibrații Zigbee compact, alimentat cu baterie, care detectează trei tipuri de mișcare: vibrație, înclinare și cădere. Comunică cu TapHome prin MQTT, printr-un gateway Zigbee2Tasmota — senzorul trimite datele evenimentelor pe topicul tele/{gateway}/SENSOR, iar șablonul procesează câmpurile proprietare AqaraVibrationsOrAngle și AqaraVibrationMode din payloadul JSON ZbReceived.

Senzorul este alimentat de o baterie tip monedă CR2032 (durată de viață de aproximativ 2 ani). Șablonul monitorizează nivelul și tensiunea bateriei prin atribute de service, avertizează când nivelul bateriei scade sub 30 % și detectează starea offline a dispozitivului (avertisment după 12 ore, eroare după 24 de ore).

Configurare

Împerecherea senzorului
  1. Pe gateway-ul Zigbee2Tasmota, activați Permit Join (prin comutatorul șablonului gateway-ului în TapHome sau cu comanda ZbPermitJoin 1 în consola Tasmota)
  2. Țineți apăsat butonul senzorului de vibrații Aqara până când LED-ul albastru începe să clipească, apoi eliberați-l
  3. Senzorul ar trebui să se împerecheze în 60 de secunde
  4. Notați Device ID-ul atribuit (de ex. 0xC9A9) din atributele de service ale gateway-ului sau din consola Tasmota
Parametrii de import

După împerechere, importați șablonul dispozitivului cu acești parametri:

ParametruDescriereExemplu
MQTT Broker IP AddressAdresa IP a brokerului MQTT192.168.1.10
MQTT Broker PortPortul brokerului (implicit 1883)1883
Gateway nameTopicul MQTT Tasmota (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDAdresa scurtă Zigbee de la împerechere0xC9A9

Dispozitivele Zigbee Aqara/Xiaomi nu respectă pe deplin standardul Zigbee și pot avea probleme de conectivitate cu anumite routere Zigbee. Routerele incompatibile cunoscute sunt Centralite, General Electric, OSRAM, Sylvania, SmartThings și Securifi. Folosiți routere confirmate ca fiind compatibile cu dispozitivele Xiaomi (de ex. IKEA TRADFRI).

Funcțiile dispozitivului

Unghiul de înclinare

Dispozitivul Unghi de înclinare citește câmpul AqaraVibrationsOrAngle din payloadul JSON ZbReceived. Valoarea este raportată în grade și se atribuie direct — scriptul listener citește unghiul din fiecare mesaj SENSOR și actualizează imediat valoarea senzorului.

Unghiul de înclinare reflectă orientarea curentă a senzorului față de suprafața pe care este fixat. Se actualizează de fiecare dată când senzorul detectează o înclinare și transmite un mesaj SENSOR.

Modul de vibrație

Dispozitivul Mod vibrație citește câmpul AqaraVibrationMode din payloadul JSON ZbReceived. Acesta convertește valorile text în stări numerice printr-o expresie SWITCH:

StareValoareDescriere
Cădere0A fost detectată o cădere liberă sau o scăpare a senzorului
Înclinare1A fost detectată o înclinare sau o schimbare a unghiului
Vibrație2A fost detectată o vibrație sau o atingere

Modul se actualizează la fiecare eveniment de mișcare. Stările 3-9 sunt definite în șablon ca rezervate, dar scriptul listener nu le mapează activ — valoarea 4 este folosită ca valoare implicită pentru orice mod nerecunoscut.

Bateria și starea dispozitivului

Modulul pune la dispoziție mai multe atribute de service, completate prin mecanismul de interogare ZbInfo (interval de 1 oră, prin ReadScript):

  • Nivelul bateriei — nivelul estimat al bateriei CR2032. Se generează un avertisment când nivelul scade sub 30 %.
  • Tensiunea bateriei — tensiunea curentă a bateriei, în volți.
  • Calitatea legăturii — puterea semnalului Zigbee, scalată de la 0-254 la 0-100 %.
  • IEEEAddr, ModelId, Producător, Endpointuri, Config — identificarea dispozitivului și metadatele configurației Zigbee.

Șablonul urmărește și LastSeenEpoch din răspunsurile ZbInfo. Dacă senzorul nu a mai trimis niciun mesaj de mai mult de 12 ore, se generează un avertisment. După 24 de ore se generează o eroare — senzorul poate fi offline, în afara razei de acoperire sau cu bateria descărcată.

Actualizarea informațiilor despre bateria CR2032 de la dispozitivele Zigbee poate dura până la 24 de ore. O scădere bruscă nu înseamnă neapărat că bateria se defectează — așteptați următorul ciclu de raportare.

Funcții suplimentare

DJT11LM acceptă și 3 niveluri de sensibilitate (scăzută, medie, ridicată), configurabile prin comenzi Zigbee specifice producătorului (ZbSend cu Manuf: 0x115F). Unele platforme Zigbee pun la dispoziție, pe lângă unghiul de înclinare, și o valoare separată pentru intensitatea/numărul vibrațiilor. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.

Rezolvarea problemelor

Senzorul nu raportează date
  1. Verificați dacă gateway-ul Zigbee2Tasmota este conectat la brokerul MQTT și primește mesaje (verificați tele/{GWname}/SENSOR într-un client MQTT)
  2. Verificați dacă Device ID-ul din șablon corespunde adresei scurte atribuite la împerechere (de ex. 0xC9A9)
  3. Verificați atributul de service Calitatea legăturii — valorile sub 20 % indică un semnal Zigbee slab. Apropiați senzorul de gateway sau adăugați un dispozitiv router Zigbee compatibil
  4. Apăsați o dată butonul senzorului pentru a forța o transmisie și verificați dacă gateway-ul primește mesajul
Modul de vibrație rămâne la valoarea implicită
  1. Verificați versiunea firmware-ului Zigbee2Tasmota — câmpul AqaraVibrationMode folosește atribute Zigbee proprietare Aqara, care necesită un firmware actualizat
  2. Verificați dacă payloadul ZbReceived conține câmpul AqaraVibrationMode (folosiți un client MQTT pentru a inspecta mesajele brute tele/{GWname}/SENSOR)
  3. Dacă modul raportează întotdeauna valoarea 4 (implicită), dispozitivul poate trimite un tip de eveniment nerecunoscut — verificați payloadul JSON complet în consola Tasmota
Dispozitivul afișează avertismentul offline
  1. Verificați nivelul bateriei — o baterie CR2032 descărcată face ca senzorul să nu mai transmită
  2. Senzorul de vibrații Aqara este un dispozitiv final Zigbee (nu un router) și comunică prin dispozitivele router Zigbee din apropiere. Dacă un router devine offline, senzorul poate deveni inaccesibil
  3. Încercați să apăsați butonul senzorului pentru a-l trezi și a forța reasocierea cu rețeaua Zigbee
  4. Dacă problema persistă, împerecheați din nou dispozitivul ținând apăsat butonul până când LED-ul albastru clipește
Reglarea manuală a sensibilității

Șablonul TapHome nu include configurarea sensibilității. Pentru a schimba sensibilitatea, folosiți direct consola Tasmota:

  • Sensibilitate scăzută: ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":21}}
  • Sensibilitate medie: ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":11}}
  • Sensibilitate ridicată (implicită): ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":1}}

Înlocuiți 0xC9A9 cu Device ID-ul real al senzorului.

Cum se instalează în TapHome

Cerințe preliminare

  • Gateway Zigbee cu firmware Tasmota (de ex. Sonoff ZBBridge, eWeLink ZB-GW03)
  • Broker MQTT care rulează în rețeaua dvs. locală (brokerul integrat TapHome sau unul extern)
  • TapHome CCU în aceeași rețea

TapHome are un broker MQTT integrat — activați-l în Setări → Hardware → MQTT Broker. Nu este necesar niciun software suplimentar.

Pasul 1 — Configurați gateway-ul Zigbee Tasmota

  1. Încărcați firmware-ul Tasmota pe un coordonator Zigbee acceptat (de ex. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Conectați gateway-ul la rețeaua dvs. Wi-Fi prin interfața web Tasmota
  3. Accesați Configuration → Configure MQTT și setați:
    • Host: adresa IP a brokerului dvs. MQTT (de ex. 192.168.1.10)
    • Port: 1883
    • Topic: notați numele topicului (de ex. tasmota_XXXXX) — veți avea nevoie de el la importul șablonului

Pentru instrucțiuni detaliate, consultați documentația Tasmota Zigbee.

Pasul 2 — Importați șablonul gateway-ului în TapHome

  1. Descărcați șablonul gateway-ului de pe pagina de compatibilitate Zigbee2Tasmota Gateway
  2. În TapHome, accesați Setări → Hardware → Packet Parser → Import
  3. Importați șablonul cu acești parametri:
    • MQTT Broker IP Address: adresa IP a brokerului dvs. (de ex. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: topicul MQTT Tasmota de la pasul 1 (de ex. tasmota_XXXXX)

După import veți vedea două dispozitive: Permit Join (comutator) și Dispozitive găsite (contor).

Pasul 3 — Împerecheați un dispozitiv Zigbee

  1. În TapHome, porniți comutatorul Permit Join — se deschide o fereastră de împerechere de 60 de secunde
  2. Pe dispozitivul Zigbee, porniți procedura de împerechere (de obicei țineți apăsat butonul de resetare 5 secunde, până când LED-ul clipește)
  3. Urmăriți contorul Dispozitive găsite — crește când se conectează un dispozitiv nou
  4. Verificați atributele de service ale gateway-ului pentru a vedea ID-ul noului dispozitiv (de ex. 0x1234), producătorul și modelul
  5. Modul de împerechere se dezactivează automat după expirarea timpului

Pasul 4 — Importați șablonul dispozitivului

  1. Descărcați șablonul specific dispozitivului de pe pagina de compatibilitate corespunzătoare
  2. Importați șablonul cu acești parametri:
    • MQTT Broker IP Address: aceeași ca la gateway
    • MQTT Broker Port: 1883
    • Gateway name: același topic MQTT Tasmota ca mai sus
    • Device ID: adresa scurtă de la împerechere (de ex. 0x1234)

Dispozitive disponibile

Aqara Vibration Sensor Modul
Atribute de service
IEEEAddr
ModelId
Producător
Endpointuri
Config
Calitatea legăturiiPuterea semnalului Zigbee — de la 0 % (fără semnal) la 100 % (excelent)
Tensiunea bateriei
Nivelul baterieiNivelul estimat al bateriei CR2032 — avertisment sub 30 %
Variabile personalizate
GWname (string)Numele topicului MQTT Tasmota al gateway-ului Zigbee (se găsește în Configuration → MQTT → Topic)
ID (string) = 0xC9A9Adresa scurtă Zigbee a senzorului (atribuită la împerechere)
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

Citire (modul)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Ascultător
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
Atribute de service
IEEEAddr
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Unghi de înclinare Variabilă Doar citire

Unghiul de înclinare curent în grade — citește AqaraVibrationsOrAngle din payloadul Zigbee al senzorului

numeric Unitate: °

Unghi de înclinare

Ascultător
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".AqaraVibrationsOrAngle", true);
    if(!ISNULL(val), Va := val);
end
Mod vibrație Comutator cu mai multe valori Doar citire

Tipul de mișcare detectat — Cădere (0), Înclinare (1) sau Vibrație (2), din câmpul AqaraVibrationMode

string → enum SWITCH mapping
Valori / Stări: Drop · Tilt · Vibrate · ???

Mod vibrație

Ascultător
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
Conexiune: Packet Parser → MQTT
Îmbunătățiri posibile (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).

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal