TapHome

Aqara Temperature, Humidity and Pressure Sensor

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

Richiede gateway esterno

tasmota zigbee2tasmota-gateway — pagina prodotto

Aqara Temperature, Humidity and Pressure Sensor

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

L’Aqara WSDCGQ11LM è un sensore Zigbee compatto alimentato a batteria che misura la temperatura ambiente, l’umidità relativa e la pressione atmosferica. Comunica con TapHome tramite MQTT attraverso un gateway Zigbee2Tasmota — il sensore invia letture periodiche sul topic tele/{gateway}/SENSOR e il template analizza il payload JSON ZbReceived.

Il sensore è alimentato da una batteria a bottone CR2032. Il template monitora il livello e la tensione della batteria tramite attributi di servizio, avvisa quando la batteria 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, attiva Permit Join (tramite l’interruttore del template gateway in TapHome o il comando della console Tasmota ZbPermitJoin 1)
  2. Tieni premuto il pulsante reset sul sensore Aqara per circa 5 secondi fino a quando il LED blu lampeggia
  3. Rilascia il pulsante — il sensore dovrebbe associarsi entro 60 secondi
  4. Annota il Device ID assegnato (es. 0x1234) 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 Tasmota (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDIndirizzo Zigbee breve dall’associazione0x1234

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

Funzionalità del dispositivo

Temperatura e umidità

Il dispositivo Temperature and Humidity legge i campi Temperature e Humidity dal payload JSON ZbReceived. La temperatura viene riportata in °C come valore diretto. L’umidità viene riportata come intero grezzo (es. 4520 per 45,20 %) e divisa per 100 nello script listener per produrre il rapporto che TapHome visualizza come percentuale.

Entrambi i valori si aggiornano ogni volta che il sensore trasmette un messaggio SENSOR — tipicamente ogni pochi minuti o in caso di variazione significativa.

Pressione atmosferica

Il dispositivo Pressure legge il campo Pressure dal payload JSON ZbReceived. Il valore viene riportato in hPa (ettopascal) e mappato tramite ValueLogTypeConversion dal tipo grezzo 62 al tipo pressione 25 con scala lineare 1:1.

La pressione atmosferica può essere utilizzata per il monitoraggio delle tendenze meteorologiche o per regole di automazione basate sull’altitudine.

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. Viene generato un avviso quando il livello scende sotto il 30 %.
  • Battery Voltage — tensione attuale della batteria in volt.
  • Link Quality — potenza 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 viene rilevato per più di 12 ore, viene generato un avviso. Dopo 24 ore viene generato 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 si stia esaurendo — attendi il prossimo ciclo di segnalazione.

Funzionalità aggiuntive

Il WSDCGQ11LM supporta anche offset di calibrazione per le misurazioni di temperatura, umidità e pressione per singolo sensore (disponibili in zigbee2mqtt). La tensione della batteria è inoltre esposta come entità a livello di dispositivo in alcuni stack Zigbee. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Il sensore non invia 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. 0x1234)
  3. Controlla l’attributo di servizio Link Quality — valori inferiori al 20 % indicano un segnale Zigbee debole. Avvicina il sensore 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
La lettura dell’umidità appare errata

Il template divide il valore grezzo di Humidity per 100 (es. 4520 diventa 0,4520, visualizzato come 45,20 %). Se la lettura appare troppo bassa (es. 0,45 % invece di 45 %), verifica la versione del firmware Zigbee2Tasmota — alcune versioni del firmware riportano l’umidità già in formato percentuale, rendendo la divisione non necessaria.

Il dispositivo mostra avviso offline
  1. Controlla il livello della batteria — una CR2032 esaurita farà smettere di trasmettere il sensore
  2. Il sensore Aqara è un dispositivo terminale Zigbee (non un router) e comunica attraverso i dispositivi router Zigbee vicini. Se un router va offline, il sensore potrebbe diventare irraggiungibile
  3. Prova a premere il pulsante del sensore per svegliarlo e forzare una riassociazione alla rete Zigbee
  4. Se il problema persiste, riassocia il dispositivo tenendo premuto il pulsante reset per 5 secondi fino a quando il LED blu lampeggia

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 Temperature, Humidity and Pressure Sensor Modulo
Attributi di servizio
IEEEAddrIndirizzo IEEE Zigbee — identificatore hardware univoco a 64 bit del sensore
ModelId
Manufacturer
Endpoints
Config
Qualità del segnalePotenza 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)Zigbee short address of the Aqara Temperature, Humidity and Pressure 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 - Temperature, Humidity and Pressure 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 + "%"
Pressione Variabile Solo lettura

Pressione atmosferica in hPa — utile per il monitoraggio meteorologico e l'automazione basata sull'altitudine

numeric Unità: hPa

Pressione

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Pressure", true);
    if(!ISNULL(val), Va := val);
end
Temperatura e umidità Sensore di temperatura Solo lettura

Temperatura dell'aria (°C) e umidità relativa (%) combinati da un singolo sensore Zigbee

temperature + humidity Unità: °C / %

Temperatura e umidità

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var temp := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Temperature", true);
    var hum := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Humidity", true);
    if (!ISNULL(temp), Te := temp);
    if (!ISNULL(hum), Hu := hum/ 100);
end
Connessione: Packet Parser → MQTT
Possibili miglioramenti (3)
  • Battery Voltage (device-level) — Battery voltage in mV exposed as a separate entity in zigbee2mqtt. TapHome template reads it as a module-level service attribute instead.
  • Sensor Calibration Offsets — zigbee2mqtt supports per-sensor calibration offsets for temperature, humidity, and pressure. Not configurable in TapHome template.
  • Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.

Fonti