TapHome

Aqara Vibration Sensor

Packet Parser → MQTT
Inviato da
Ultimo aggiornamento: 03. 2026

Richiede gateway esterno

tasmota zigbee2tasmota-gateway — pagina prodotto

Aqara Vibration Sensor

Questo dispositivo comunica tramite Zigbee attraverso un gateway Tasmota. Assicurati di aver importato il template Zigbee2Tasmota Gateway e di aver associato il dispositivo.

L’Aqara DJT11LM è un sensore di vibrazione Zigbee compatto alimentato a batteria che rileva tre tipi di movimento: vibrazione, inclinazione e caduta. Comunica con TapHome tramite MQTT attraverso un gateway Zigbee2Tasmota — il sensore invia i dati degli eventi tramite il topic tele/{gateway}/SENSOR e il template analizza i campi proprietari AqaraVibrationsOrAngle e AqaraVibrationMode dal payload JSON ZbReceived.

Il sensore è alimentato da una batteria a bottone CR2032 (durata approssimativa di 2 anni). Il template monitora il livello e la tensione della batteria tramite attributi di servizio, avvisa quando il livello scende sotto il 30% e rileva gli stati offline del dispositivo (avviso dopo 12 ore, errore dopo 24 ore).

Configurazione

Associazione del sensore
  1. Sul gateway Zigbee2Tasmota, abilita il Permit Join (tramite l’interruttore del template gateway in TapHome o il comando della console Tasmota ZbPermitJoin 1)
  2. Tieni premuto il pulsante sul sensore di vibrazione Aqara finché il LED blu non inizia a lampeggiare, poi rilascia
  3. Il sensore dovrebbe associarsi entro 60 secondi
  4. Annota il Device ID assegnato (es. 0xC9A9) dagli attributi di servizio del gateway o dalla console Tasmota
Parametri di importazione

Dopo l’associazione, importa il template del dispositivo con questi parametri:

ParametroDescrizioneEsempio
MQTT Broker IP AddressIP del broker MQTT192.168.1.10
MQTT Broker PortPorta del broker (predefinita 1883)1883
Gateway nameTopic MQTT di Tasmota (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDIndirizzo Zigbee breve dall’associazione0xC9A9

I dispositivi Zigbee Aqara/Xiaomi non sono pienamente conformi allo standard Zigbee e possono presentare problemi di connettività con determinati router Zigbee. I router incompatibili noti includono Centralite, General Electric, OSRAM, Sylvania, SmartThings e Securifi. Utilizza router confermati come compatibili con i dispositivi Xiaomi (es. IKEA TRADFRI).

Funzionalità del dispositivo

Angolo di inclinazione

Il dispositivo Tilt Angle legge il campo AqaraVibrationsOrAngle dal payload JSON ZbReceived. Il valore viene riportato in gradi tramite assegnazione diretta — lo script listener analizza l’angolo da ogni messaggio SENSOR e aggiorna immediatamente il valore del sensore.

L’angolo di inclinazione riflette l’orientamento attuale del sensore rispetto alla superficie a cui è fissato. Si aggiorna ogni volta che il sensore rileva un evento di inclinazione e trasmette un messaggio SENSOR.

Modalità vibrazione

Il dispositivo Vibration Mode legge il campo AqaraVibrationMode dal payload JSON ZbReceived. Mappa i valori stringa su stati numerici tramite un’espressione SWITCH:

StatoValoreDescrizione
Drop0Caduta libera o evento di caduta rilevato
Tilt1Inclinazione o variazione angolare rilevata
Vibrate2Vibrazione o tocco rilevato

La modalità si aggiorna ad ogni evento di movimento. Gli stati 3–9 sono definiti nel template come segnaposto ma non sono attivamente mappati dallo script listener — il valore 4 viene usato come fallback predefinito per modalità non riconosciute.

Batteria e stato del dispositivo

Il modulo espone diversi attributi di servizio popolati dal meccanismo di polling ZbInfo (intervallo di 1 ora tramite ReadScript):

  • Battery Percentage — livello stimato della batteria CR2032. Un avviso viene attivato quando il livello scende sotto il 30%.
  • Battery Voltage — tensione attuale della batteria in volt.
  • Link Quality — intensità del segnale Zigbee scalata da 0–254 a 0–100%.
  • IEEEAddr, ModelId, Manufacturer, Endpoints, Config — identificazione del dispositivo e metadati di configurazione Zigbee.

Il template traccia anche LastSeenEpoch dalle risposte ZbInfo. Se il sensore non è stato visto per più di 12 ore, viene attivato un avviso. Dopo 24 ore viene attivato un errore — indicando che il sensore potrebbe essere offline, fuori portata o con la batteria esaurita.

Gli aggiornamenti della batteria CR2032 dai dispositivi Zigbee possono richiedere fino a 24 ore. Un calo improvviso non significa necessariamente che la batteria sia in esaurimento — attendi il prossimo ciclo di reporting.

Funzionalità aggiuntive

Il DJT11LM supporta anche 3 livelli di sensibilità (basso, medio, alto) configurabili tramite comandi Zigbee specifici del produttore (ZbSend con Manuf: 0x115F). Alcune piattaforme Zigbee espongono inoltre un valore separato di intensità/conteggio delle vibrazioni accanto all’angolo di inclinazione. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Il sensore non riporta dati
  1. Verifica che il gateway Zigbee2Tasmota sia connesso al broker MQTT e riceva messaggi (controlla tele/{GWname}/SENSOR in un client MQTT)
  2. Conferma che il Device ID nel template corrisponda all’indirizzo breve assegnato durante l’associazione (es. 0xC9A9)
  3. Controlla l’attributo di servizio Link Quality — valori sotto il 20% indicano un segnale Zigbee debole. Sposta il sensore più vicino al gateway o aggiungi un dispositivo router Zigbee compatibile
  4. Premi il pulsante del sensore una volta per forzare una trasmissione e verifica che il gateway riceva il messaggio
Modalità vibrazione bloccata sul valore fallback
  1. Verifica la versione del firmware Zigbee2Tasmota — il campo AqaraVibrationMode utilizza attributi Zigbee proprietari Aqara che richiedono firmware aggiornato
  2. Verifica che il payload ZbReceived contenga il campo AqaraVibrationMode (usa un client MQTT per ispezionare i messaggi grezzi tele/{GWname}/SENSOR)
  3. Se la modalità riporta sempre il valore 4 (fallback), il dispositivo potrebbe inviare un tipo di evento non riconosciuto — controlla la console Tasmota per il payload JSON completo
Il dispositivo mostra avviso offline
  1. Controlla il livello della batteria — una CR2032 esaurita farà smettere di trasmettere il sensore
  2. Il sensore di vibrazione Aqara è un dispositivo Zigbee terminale (non un router) e comunica attraverso dispositivi router Zigbee nelle vicinanze. Se un router va offline, il sensore potrebbe diventare irraggiungibile
  3. Prova a premere il pulsante del sensore per riattivarlo e forzare una riassociazione con la rete Zigbee
  4. Se il problema persiste, riassocia il dispositivo tenendo premuto il pulsante finché il LED blu non lampeggia
Regolazione manuale della sensibilità

Il template TapHome non include la configurazione della sensibilità. Per modificare la sensibilità, usa direttamente la console Tasmota:

  • Sensibilità bassa: ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":21}}
  • Sensibilità media: ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":11}}
  • Sensibilità alta (predefinita): ZbSend {"Device":"0xC9A9","Manuf":"0x115F","Write":{"0000/FF0D%20":1}}

Sostituisci 0xC9A9 con il Device ID effettivo del sensore.

Come installare in TapHome

Prerequisiti

  • Gateway Zigbee con firmware Tasmota (es. Sonoff ZBBridge, eWeLink ZB-GW03)
  • Broker MQTT in esecuzione nella rete locale (broker integrato TapHome o esterno)
  • TapHome CCU sulla stessa rete

TapHome ha un broker MQTT integrato — attivalo in ImpostazioniHardwareMQTT Broker. Non è necessario alcun software aggiuntivo.

Passaggio 1 — Configurare il gateway Tasmota Zigbee

  1. Installa il firmware Tasmota su un coordinatore Zigbee supportato (es. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Connetti il gateway alla tua rete Wi-Fi tramite l’interfaccia web Tasmota
  3. Vai su ConfigurationConfigure MQTT e imposta:
    • Host: indirizzo IP del tuo broker MQTT (es. 192.168.1.10)
    • Port: 1883
    • Topic: annota il nome del topic (es. tasmota_XXXXX) — ti servirà durante l’importazione del template

Per istruzioni dettagliate, consulta la documentazione Tasmota Zigbee.

Passaggio 2 — Importare il template del gateway in TapHome

  1. Scarica il template del gateway dalla pagina di compatibilità Zigbee2Tasmota Gateway
  2. In TapHome, vai su ImpostazioniHardwarePacket ParserImport
  3. Importa il template con questi parametri:
    • MQTT Broker IP Address: indirizzo IP del tuo broker (es. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: il topic MQTT Tasmota dal passaggio 1 (es. tasmota_XXXXX)

Dopo l’importazione vedrai due dispositivi: Permit Join (interruttore) e Devices Found (contatore).

Passaggio 3 — Associare un dispositivo Zigbee

  1. In TapHome, attiva l’interruttore Permit Join — si apre una finestra di associazione di 60 secondi
  2. Sul dispositivo Zigbee, avvia la procedura di associazione (tipicamente tieni premuto il pulsante reset per 5 secondi finché il LED non lampeggia)
  3. Osserva il contatore Devices Found — aumenta quando un nuovo dispositivo si connette
  4. Controlla i Service Attributes del gateway per vedere l’ID del nuovo dispositivo (es. 0x1234), il produttore e il modello
  5. La modalità di associazione si disattiva automaticamente allo scadere del timeout

Passaggio 4 — Importare il template del dispositivo

  1. Scarica il template specifico del dispositivo dalla pagina di compatibilità corrispondente
  2. Importa il template con questi parametri:
    • MQTT Broker IP Address: lo stesso del gateway
    • MQTT Broker Port: 1883
    • Gateway name: lo stesso topic MQTT Tasmota di cui sopra
    • Device ID: l’indirizzo breve ottenuto dall’associazione (es. 0x1234)

Dispositivi disponibili

Aqara Vibration Sensor Modulo
Attributi di servizio
IEEEAddr
ModelId
Produttore
Endpoints
Config
Qualità del segnaleIntensità del segnale Zigbee — 0% (nessun segnale) a 100% (eccellente)
Tensione batteria
Livello batteriaLivello stimato della batteria CR2032 — avviso sotto il 30%
Variabili personalizzate
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

Lettura (modulo)
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
Attributi di servizio
IEEEAddr
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Angolo di inclinazione Variabile Solo lettura

Angolo di inclinazione attuale in gradi — legge AqaraVibrationsOrAngle dal payload del sensore Zigbee

numeric Unità: °

Angolo di inclinazione

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".AqaraVibrationsOrAngle", true);
    if(!ISNULL(val), Va := val);
end
Modalità vibrazione Interruttore multivalore Solo lettura

Tipo di movimento rilevato — Drop (0), Tilt (1) o Vibrate (2) dal campo AqaraVibrationMode

string → enum SWITCH mapping
Valori / Stati: Drop · Tilt · Vibrate · ???

Modalità vibrazione

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
Connessione: Packet Parser → MQTT
Possibili miglioramenti (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).

Fonti