---
title: "Tuya TS0201 Temperature \u0026 Humidity Sensor"
description: "Monitoraggio di temperatura e umidità tramite bridge Zigbee2MQTT MQTT. Attributi batteria, tensione e qualità del collegamento. Template TapHome per il sensore Zigbee Tuya TS0201."
url: "https://taphome.com/it/compatibility/zigbee2mqtt-ts0201-temperature-humidity/"
language: it
lastmod: 2026-04-23
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2mqtt","temperature-humidity","battery-powered"]
  questions: ["Come integrare il Tuya TS0201 con TapHome tramite Zigbee2MQTT?","Come si abbina il sensore TS0201 con un coordinatore Zigbee2MQTT?","Perché il valore di umidità del TS0201 viene riportato come frazione invece che come percentuale?","Come configurare il friendly name Zigbee2MQTT per il TS0201 in TapHome?","Devo aggiornare il firmware del TS0201 via OTA tramite Zigbee2MQTT?","Quali attributi di servizio il template TS0201 espone in TapHome?"]
---

# Tuya TS0201 Temperature & Humidity Sensor

Comunicazione: Packet Parser → MQTT

- [Pagina dispositivo Zigbee2MQTT TS0201](https://www.zigbee2mqtt.io/devices/TS0201.html)

> Indirizzo di rete
> 
> Con il broker MQTT integrato in TapHome, inserisci `127.0.0.1` come indirizzo del broker in TapHome. Nel dispositivo inserisci l’indirizzo IP del TapHome Core e assegna al Core una prenotazione IP nel router.
> 
> [Preparazione della rete](https://taphome.com/it/docs/setup/network-preparation/)

## Guida all'integrazione

Il Tuya TS0201 è un sensore Zigbee economico di temperatura e umidità alimentato a batteria con un piccolo display LCD. Lo stesso hardware viene venduto anche con il marchio BlitzWolf BW-IS4 (white label). Il dispositivo è popolare come sensore economico del clima ambientale nella fascia di prezzo entry-level.

TapHome comunica con il TS0201 in modo indiretto — il sensore si abbina a un coordinatore Zigbee (ad es. Sonoff ZBDongle-P/E, stick basato su CC2652, CC2531), gestito da un bridge Zigbee2MQTT. Zigbee2MQTT traduce i messaggi Zigbee in payload JSON sui topic MQTT. TapHome si sottoscrive a questi topic tramite un modulo PacketParser MQTT e mappa i valori sui servizi di temperatura/umidità con attributi di batteria e qualità del collegamento.

## Requisiti

Per utilizzare il TS0201 con TapHome sono necessari i seguenti componenti:

- **Coordinatore Zigbee** — stick USB basato su CC2652P/CC2652R o CC2531, ad esempio Sonoff ZBDongle-P o Sonoff ZBDongle-E
- **Bridge Zigbee2MQTT** — in esecuzione su un host dedicato (Raspberry Pi, NUC, NAS) o come container accanto al broker MQTT
- **Broker MQTT** — Mosquitto è l'opzione consigliata; deve essere raggiungibile sia dall'host Zigbee2MQTT sia dalla CCU TapHome
- **CCU TapHome** con supporto PacketParser (modello PacketParserCCU)

Il TS0201 stesso non si collega a Wi-Fi o Ethernet — tutta la comunicazione di rete IP avviene tra il broker MQTT e la CCU TapHome.

## Abbinamento

Prima di importare il template TapHome, il TS0201 deve essere abbinato al coordinatore Zigbee2MQTT:

1. Aprire l'interfaccia web Zigbee2MQTT e attivare la modalità di abbinamento (**Permit join**)
2. Sul TS0201, tenere premuto il pulsante di reset per circa cinque secondi, finché l'indicatore di rete nella parte superiore del display inizia a lampeggiare
3. Il dispositivo si unisce automaticamente alla rete Zigbee e appare nell'elenco dei dispositivi Zigbee2MQTT con un indirizzo IEEE (ad es. `0xa4c1388f85d9eca2`)
4. Facoltativamente rinominare il dispositivo e assegnare un friendly name leggibile (ad es. `camera_clima`) nell'interfaccia web Zigbee2MQTT

> [!NOTE]
> La percentuale di batteria potrebbe richiedere fino a 24 ore dopo l'abbinamento per apparire — il sensore riporta il valore della batteria solo periodicamente.

## Configurazione

### Parametri di importazione

Durante l'importazione del template in TapHome, fornire l'indirizzo del broker MQTT:

| Parametro | Descrizione | Valore predefinito |
|-----------|-------------|--------------------|
| `Mqtt Broker ipAddress` | Indirizzo IP o hostname del broker MQTT | `192.168.0.1` |
| `Mqtt Broker port` | Porta TCP del broker MQTT | `1883` |

### Variabile del modulo

Dopo aver importato il template, impostare la variabile personalizzata `TS0201` per identificare il dispositivo sul broker MQTT:

| Variabile | Descrizione | Come ottenere | Esempio |
|-----------|-------------|---------------|---------|
| `TS0201` | Friendly name Zigbee2MQTT o indirizzo IEEE del sensore | Zigbee2MQTT web UI → Devices → trovare il TS0201 → copiare il Friendly name o l'indirizzo IEEE | `0xa4c1388f85d9eca2` |

La variabile viene utilizzata come suffisso del topic MQTT — lo script listener si sottoscrive a `zigbee2mqtt/{TS0201}` ed elabora il payload di stato JSON.

> [!TIP]
> L'uso di un friendly name (ad es. `camera_clima`) invece dell'indirizzo IEEE rende la configurazione TapHome più leggibile. Il friendly name può essere modificato nell'interfaccia web Zigbee2MQTT nelle impostazioni del dispositivo.

## Funzionalità del dispositivo

Il template mappa il TS0201 come dispositivo Temperature Sensor in TapHome ed espone l'umidità insieme agli attributi di batteria e segnale.

### Temperatura e umidità

La temperatura (°C) e l'umidità relativa (%) vengono elaborate dal topic di stato JSON `zigbee2mqtt/{TS0201}`. Il sensore riporta nuovi valori ogni volta che una grandezza misurata cambia, o secondo una pianificazione periodica gestita dal bridge Zigbee2MQTT.

Esempio di payload pubblicato da Zigbee2MQTT:

```json
{
  "battery": 95,
  "humidity": 54.2,
  "linkquality": 132,
  "temperature": 21.7,
  "voltage": 3000
}
```

### Monitoraggio batteria e segnale

Il dispositivo espone tre attributi di servizio oltre ai valori primari di temperatura e umidità:

- **Battery** — percentuale di batteria rimanente (0–100 %) dal payload di stato JSON. Il primo valore potrebbe richiedere fino a 24 ore dopo l'abbinamento.
- **Battery Voltage** — tensione grezza della batteria in millivolt dal payload di stato JSON.
- **LinkQuality** — indicatore della qualità del segnale Zigbee (LQI) dal payload di stato JSON, che varia da 0 (peggiore) a 255 (migliore).

Tutti gli attributi mostrano `"-"` finché non viene ricevuto il primo messaggio dal dispositivo.

## Problemi noti

### Valore di umidità diviso per 100

L'attuale script listener nel template divide il payload di umidità per 100 (`Hu := payloadHum/100`). Tuttavia, Zigbee2MQTT pubblica l'umidità direttamente come percentuale (ad es. `54.2` significa 54,2 %), quindi applicando `/100` si ottiene `0.542 %` invece del previsto `54.2 %`.

> [!WARNING]
> Verificare l'umidità riportata su hardware reale. Se il valore è chiaramente spostato di due decimali, modificare lo script listener in `Hu := payloadHum;` (senza la divisione `/100`).

### Non applicare aggiornamenti firmware OTA

L'immagine firmware del TS0201 pubblicata più di recente rende il dispositivo completamente inutilizzabile. Zigbee2MQTT espone aggiornamenti OTA per questo dispositivo, ma non devono essere applicati finché upstream non pubblica un'immagine sicura. Dettagli nell'issue GitHub Zigbee2MQTT [#25207](https://github.com/Koenkk/zigbee2mqtt/issues/25207).

> [!WARNING]
> NON avviare un aggiornamento OTA per il TS0201 dall'interfaccia web Zigbee2MQTT. L'immagine attuale è nota per rendere il sensore inutilizzabile.

## Risoluzione dei problemi

### Nessun dato ricevuto

1. Verificare che il TS0201 appaia nell'elenco dei dispositivi Zigbee2MQTT con un timestamp "Last seen" recente
2. Verificare che la variabile personalizzata `TS0201` in TapHome corrisponda esattamente al friendly name o all'indirizzo IEEE del dispositivo — la corrispondenza è case-sensitive
3. Utilizzare un client MQTT (ad es. MQTT Explorer) per sottoscriversi a `zigbee2mqtt/#` e confermare che i payload JSON arrivano su `zigbee2mqtt/{friendly_name}`
4. Confermare che l'IP e la porta del broker MQTT nei parametri di importazione TapHome corrispondono al broker raggiungibile dalla CCU

### Il dispositivo appare offline in Zigbee2MQTT

1. Il TS0201 è un dispositivo end-device a batteria — dorme tra i report per risparmiare energia. "Offline" potrebbe semplicemente significare che il dispositivo non ha trasmesso di recente; attendere il prossimo report programmato o premere brevemente il pulsante di reset per forzare un check-in.
2. Se il dispositivo non torna mai online, il collegamento Zigbee potrebbe essere interrotto a causa della distanza dal coordinatore. Avvicinare il sensore o aggiungere un router Zigbee (dispositivo Zigbee alimentato dalla rete) per estendere la mesh.
3. Controllare l'attributo LinkQuality — valori inferiori a ~30 lqi indicano un segnale debole.

### Valori di batteria o qualità del collegamento obsoleti

1. La batteria e la tensione si aggiornano solo quando il sensore si sveglia e riporta — potrebbe essere una volta ogni poche ore
2. Se i valori mostrano `"-"`, nessun messaggio MQTT è ancora stato ricevuto; attendere il prossimo report o riappaiare il dispositivo
3. Dopo il riappaiamento, la batteria potrebbe rimanere `"-"` fino a 24 ore prima che venga pubblicato il primo valore

## Dispositivi disponibili 1

Questi dispositivi compaiono in TapHome dopo l'importazione.

Tuya TS0201 Modulo

Variabili personalizzate

`TS0201` (string) = 0xa4c1388f85d9eca2 Friendly name Zigbee2MQTT o indirizzo IEEE del sensore TS0201 — utilizzato come suffisso del topic MQTT (zigbee2mqtt/{friendly\_name})

Open Zigbee2MQTT web UI → Devices → find the TS0201 → copy the Friendly name (or use the IEEE address, e.g. 0xa4c1388f85d9eca2)

Sensore di temperatura e umidità Sensore di temperatura Solo lettura

Temperatura (°C) e umidità relativa (%) elaborate dal payload di stato JSON di Zigbee2MQTT

JSON Unità: °C / % json\_path

Attributi di servizio

|                   |                                                                                                                   |
|-------------------|-------------------------------------------------------------------------------------------------------------------|
| Batteria          | Percentuale di batteria rimanente (0–100 %); il primo valore potrebbe richiedere fino a 24 ore dopo l'abbinamento |
| Tensione batteria | Tensione grezza della batteria in millivolt (mV) elaborata dal payload di stato JSON                              |
| LinkQuality       | Indicatore della qualità del segnale Zigbee (LQI) — 0 (peggiore) a 255 (migliore)                                 |

Lettura umidità

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Lettura temperatura

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Listener

```taphome
if RECEIVEDMSG.TOPIC = "zigbee2mqtt/"+ TS0201 
   VAR payloadTemp := PARSEJSON(RECEIVEDMSG.PAYLOAD, "temperature");
   Te := payloadTemp;
   VAR payloadHum := PARSEJSON(RECEIVEDMSG.PAYLOAD, "humidity");
   Hu := payloadHum/100;
   battery := PARSEJSON(RECEIVEDMSG.PAYLOAD,"battery", true);
   voltage := PARSEJSON(RECEIVEDMSG.PAYLOAD,"voltage", true);
   link := PARSEJSON(RECEIVEDMSG.PAYLOAD,"linkquality", true);
end
```

Attributi di servizio

Battery

```taphome
IF(ISNAN(battery),"-",battery+"%");
```

Battery Voltage

```taphome
IF(ISNAN(voltage),"-",voltage+"mV");
```

LinkQuality

```taphome
IF(ISNAN(link),"-",link+"lqi");
```

**Connessione:** Packet Parser → MQTT

Possibili miglioramenti (5)

- Temperature calibration (absolute offset) — Configurable via Zigbee2MQTT devices.yaml or frontend UI — not exposed via TapHome template. Applied at Z2M layer.
- Temperature precision (decimal digits 0-3) — Configured at the Z2M layer, not in TapHome template.
- Humidity calibration (absolute offset) — Configured at the Z2M layer, not in TapHome template.
- Humidity precision (decimal digits 0-3) — Configured at the Z2M layer, not in TapHome template.
- Availability status — Online/offline availability topic — could detect unreachable devices. Not subscribed by the current template.

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app       | Predefinito   |
|--------------------------|---------------|
| Mqtt Broker Indirizzo IP | `192.168.0.1` |
| Mqtt Broker port         | `1883`        |

## Fonti

- Zigbee2MQTT — TS0201 device page
  
  [www.zigbee2mqtt.io](https://www.zigbee2mqtt.io/devices/TS0201.html) 2026-04-23
- Zigbee2MQTT GitHub — TS0201 device definition
  
  [github.com](https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/devices/TS0201.md) 2026-04-23

## Documentazione correlata

- [MQTT Integration](https://taphome.com/it/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)
- [Broker MQTT](https://taphome.com/it/docs/integration/packet-parser/mqtt-broker/)
- [Script listener](https://taphome.com/it/docs/script/listener-scripts/)

