---
title: "Tuya TS0201 Temperature \u0026 Humidity Sensor"
description: "Temperatur und Feuchtigkeit über Zigbee2MQTT MQTT-Bridge überwachen. Batterie, Spannung und Link-Quality-Attribute. TapHome-Vorlage für den Tuya TS0201 Zigbee-Sensor."
url: "https://taphome.com/de/compatibility/zigbee2mqtt-ts0201-temperature-humidity/"
language: de
lastmod: 2026-04-23
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2mqtt","temperature-humidity","battery-powered"]
  questions: ["Wie integriert man den Tuya TS0201 mit TapHome über Zigbee2MQTT?","Wie koppelt man den TS0201 Sensor mit einem Zigbee2MQTT-Koordinator?","Warum wird meine TS0201-Feuchtigkeit als Bruchteil statt als Prozentwert gemeldet?","Wie konfiguriert man den Zigbee2MQTT-Friendly-Name für den TS0201 in TapHome?","Sollte ich die TS0201-Firmware per OTA über Zigbee2MQTT aktualisieren?","Welche Service-Attribute stellt die TS0201-Vorlage in TapHome bereit?"]
---

# Tuya TS0201 Temperature & Humidity Sensor

Kommunikation: Packet Parser → MQTT

- [Zigbee2MQTT TS0201 Geräteseite](https://www.zigbee2mqtt.io/devices/TS0201.html)

> Netzwerkadresse
> 
> Beim in TapHome integrierten MQTT-Broker geben Sie in TapHome `127.0.0.1` als Broker-Adresse ein. Im Gerät geben Sie die IP-Adresse des TapHome Core ein und richten für den Core eine IP-Reservierung im Router ein.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Tuya TS0201 ist ein günstiger batteriebetriebener Zigbee-Temperatur- und Feuchtigkeitssensor mit kleinem LCD-Display. Die gleiche Hardware wird auch unter dem Label BlitzWolf BW-IS4 (White Label) verkauft. Das Gerät ist als günstiger Raumklimasensor im Einstiegspreissegment beliebt.

TapHome kommuniziert mit dem TS0201 indirekt — der Sensor wird mit einem Zigbee-Koordinator (z. B. Sonoff ZBDongle-P/E, CC2652-basierter Stick, CC2531) gekoppelt, der von einer Zigbee2MQTT-Bridge verwaltet wird. Zigbee2MQTT übersetzt Zigbee-Nachrichten in JSON-Payloads auf MQTT-Topics. TapHome abonniert diese Topics über ein PacketParser-MQTT-Modul und bildet die Werte auf Temperatur-/Feuchtigkeitsdienste mit Batterie- und Link-Quality-Attributen ab.

## Voraussetzungen

Für den Einsatz des TS0201 mit TapHome werden folgende Komponenten benötigt:

- **Zigbee-Koordinator** — USB-Stick basierend auf CC2652P/CC2652R oder CC2531, z. B. Sonoff ZBDongle-P oder Sonoff ZBDongle-E
- **Zigbee2MQTT-Bridge** — läuft auf einem dedizierten Host (Raspberry Pi, NUC, NAS) oder als Container neben dem MQTT-Broker
- **MQTT-Broker** — Mosquitto wird empfohlen; muss sowohl vom Zigbee2MQTT-Host als auch von der TapHome-CCU erreichbar sein
- **TapHome-CCU** mit PacketParser-Unterstützung (Modell PacketParserCCU)

Der TS0201 selbst verbindet sich nicht mit WLAN oder Ethernet — die gesamte IP-Kommunikation läuft zwischen MQTT-Broker und TapHome-CCU.

## Kopplung

Vor dem Import der TapHome-Vorlage muss der TS0201 mit dem Zigbee2MQTT-Koordinator gekoppelt werden:

1. Öffnen Sie die Zigbee2MQTT-Weboberfläche und aktivieren Sie den Kopplungsmodus (**Permit join**)
2. Halten Sie am TS0201 die Reset-Taste etwa fünf Sekunden lang gedrückt, bis die Netzwerkanzeige oben am Display zu blinken beginnt
3. Das Gerät tritt automatisch dem Zigbee-Netzwerk bei und erscheint in der Zigbee2MQTT-Geräteliste mit einer IEEE-Adresse (z. B. `0xa4c1388f85d9eca2`)
4. Optional können Sie das Gerät umbenennen und einen lesbaren Friendly Name vergeben (z. B. `schlafzimmer_klima`) in der Zigbee2MQTT-Weboberfläche

> [!NOTE]
> Der Batterieprozentsatz kann nach der Kopplung bis zu 24 Stunden dauern, bis er erscheint — der Sensor meldet den Batteriewert nur periodisch.

## Konfiguration

### Import-Parameter

Geben Sie beim Import der Vorlage in TapHome die Adresse des MQTT-Brokers an:

| Parameter | Beschreibung | Standardwert |
|-----------|--------------|--------------|
| `Mqtt Broker ipAddress` | IP-Adresse oder Hostname des MQTT-Brokers | `192.168.0.1` |
| `Mqtt Broker port` | TCP-Port des MQTT-Brokers | `1883` |

### Modul-Variable

Setzen Sie nach dem Import der Vorlage die benutzerdefinierte Variable `TS0201`, um das Gerät am MQTT-Broker zu identifizieren:

| Variable | Beschreibung | Wie ermitteln | Beispiel |
|----------|--------------|---------------|----------|
| `TS0201` | Zigbee2MQTT Friendly Name oder IEEE-Adresse des Sensors | Zigbee2MQTT Web-UI → Devices → TS0201 suchen → Friendly Name oder IEEE-Adresse kopieren | `0xa4c1388f85d9eca2` |

Die Variable wird als Suffix des MQTT-Topics verwendet — das Listener-Skript abonniert `zigbee2mqtt/{TS0201}` und parst das JSON-State-Payload.

> [!TIP]
> Die Verwendung eines Friendly Name (z. B. `schlafzimmer_klima`) anstelle der IEEE-Adresse macht die TapHome-Konfiguration lesbarer. Der Friendly Name lässt sich in der Zigbee2MQTT-Weboberfläche in den Geräte-Einstellungen ändern.

## Gerätefunktionen

Die Vorlage bildet den TS0201 in TapHome als Temperature-Sensor-Gerät ab und stellt neben der Temperatur auch Feuchtigkeit sowie Batterie- und Signalattribute bereit.

### Temperatur und Feuchtigkeit

Temperatur (°C) und relative Feuchtigkeit (%) werden aus dem JSON-State-Topic `zigbee2mqtt/{TS0201}` geparst. Der Sensor meldet neue Werte bei jeder Änderung einer Messgröße oder periodisch nach dem Zeitplan der Zigbee2MQTT-Bridge.

Beispiel-Payload, das von Zigbee2MQTT veröffentlicht wird:

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

### Batterie- und Signalüberwachung

Neben den primären Werten für Temperatur und Feuchtigkeit stellt das Gerät drei Service-Attribute bereit:

- **Battery** — verbleibender Batterieprozentsatz (0–100 %) aus dem JSON-State-Payload. Der erste Wert kann bis zu 24 Stunden nach der Kopplung dauern.
- **Battery Voltage** — rohe Batteriespannung in Millivolt aus dem JSON-State-Payload.
- **LinkQuality** — Zigbee-Signalqualitätsindikator (LQI) aus dem JSON-State-Payload, im Bereich von 0 (schlechteste) bis 255 (beste).

Alle Attribute zeigen `"-"` an, bis die erste Nachricht vom Gerät empfangen wird.

## Bekannte Probleme

### Feuchtigkeitswert durch 100 geteilt

Das aktuelle Listener-Skript in der Vorlage teilt das Feuchtigkeits-Payload durch 100 (`Hu := payloadHum/100`). Zigbee2MQTT veröffentlicht die Feuchtigkeit jedoch direkt als Prozentsatz (z. B. bedeutet `54.2` 54,2 %), sodass durch die Anwendung von `/100` `0.542 %` statt der erwarteten `54.2 %` entstehen.

> [!WARNING]
> Überprüfen Sie die gemeldete Feuchtigkeit auf der Live-Hardware. Wenn der Wert offensichtlich um zwei Dezimalstellen verschoben ist, passen Sie das Listener-Skript auf `Hu := payloadHum;` an (ohne die Division durch `/100`).

### Keine OTA-Firmware-Updates anwenden

Das zuletzt veröffentlichte Firmware-Image des TS0201 macht das Gerät unbrauchbar. Zigbee2MQTT bietet OTA-Updates für dieses Gerät an, diese dürfen jedoch nicht angewendet werden, bis Upstream ein sicheres Image veröffentlicht. Details im Zigbee2MQTT GitHub Issue [#25207](https://github.com/Koenkk/zigbee2mqtt/issues/25207).

> [!WARNING]
> Lösen Sie KEIN OTA-Update für den TS0201 aus der Zigbee2MQTT-Weboberfläche aus. Das aktuelle Image macht den Sensor bekanntermaßen unbrauchbar.

## Fehlerbehebung

### Keine Daten empfangen

1. Prüfen Sie, dass der TS0201 in der Zigbee2MQTT-Geräteliste mit einem aktuellen "Last seen"-Zeitstempel erscheint
2. Prüfen Sie, dass die benutzerdefinierte Variable `TS0201` in TapHome exakt mit dem Friendly Name oder der IEEE-Adresse des Geräts übereinstimmt — die Übereinstimmung ist case-sensitiv
3. Abonnieren Sie mit einem MQTT-Client (z. B. MQTT Explorer) `zigbee2mqtt/#` und bestätigen Sie, dass JSON-Payloads auf `zigbee2mqtt/{friendly_name}` eintreffen
4. Prüfen Sie, dass IP und Port des MQTT-Brokers in den TapHome-Import-Parametern mit dem vom CCU erreichbaren Broker übereinstimmen

### Gerät wird in Zigbee2MQTT als offline angezeigt

1. Der TS0201 ist ein batteriebetriebenes End-Gerät — zwischen Reports schläft es, um Strom zu sparen. "Offline" kann einfach bedeuten, dass das Gerät zuletzt nicht gesendet hat; warten Sie auf den nächsten geplanten Report oder drücken Sie kurz die Reset-Taste, um eine Anmeldung zu erzwingen.
2. Kommt das Gerät nie wieder online, kann die Zigbee-Verbindung aufgrund der Entfernung zum Koordinator unterbrochen sein. Platzieren Sie den Sensor näher oder fügen Sie einen Zigbee-Router (netzbetriebenes Zigbee-Gerät) hinzu, um das Mesh zu erweitern.
3. Prüfen Sie das LinkQuality-Attribut — Werte unter ~30 lqi deuten auf ein schwaches Signal hin.

### Veraltete Batterie- oder Signalwerte

1. Batterie und Spannung werden nur aktualisiert, wenn der Sensor aufwacht und einen Report sendet — das kann einmal alle paar Stunden sein
2. Wenn `"-"` angezeigt wird, ist noch keine MQTT-Nachricht eingegangen; warten Sie auf den nächsten Report oder koppeln Sie das Gerät erneut
3. Nach erneuter Kopplung kann die Batterie bis zu 24 Stunden `"-"` bleiben, bevor der erste Wert veröffentlicht wird

## Verfügbare Geräte 1

Diese Geräte erscheinen nach dem Import in TapHome.

Tuya TS0201 Modul

Benutzerdefinierte Variablen

`TS0201` (string) = 0xa4c1388f85d9eca2 Zigbee2MQTT Friendly Name oder IEEE-Adresse des TS0201-Sensors — wird als Suffix des MQTT-Topics verwendet (zigbee2mqtt/{friendly\_name})

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

Temperatur- und Feuchtigkeitssensor Temperatursensor Nur lesen

Temperatur (°C) und relative Feuchtigkeit (%) aus dem Zigbee2MQTT JSON-State-Payload geparst

JSON Einheit: °C / % json\_path

Serviceattribute

|                  |                                                                                                             |
|------------------|-------------------------------------------------------------------------------------------------------------|
| Batterie         | Verbleibender Batterieprozentsatz (0–100 %); der erste Wert kann bis zu 24 Stunden nach der Kopplung dauern |
| Batteriespannung | Rohe Batteriespannung in Millivolt (mV) aus dem JSON-State-Payload geparst                                  |
| LinkQuality      | Zigbee-Signalqualitätsindikator (LQI) — 0 (schlechteste) bis 255 (beste)                                    |

Luftfeuchtigkeit lesen

```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");
```

Temperatur lesen

```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
```

Serviceattribute

Battery

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

Battery Voltage

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

LinkQuality

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

**Verbindung:** Packet Parser → MQTT

Mögliche Verbesserungen (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.

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt   | Standard      |
|------------------------|---------------|
| Mqtt Broker IP-Adresse | `192.168.0.1` |
| Mqtt Broker port       | `1883`        |

## Quellen

- 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

## Verwandte Dokumentation

- [MQTT Integration](https://taphome.com/de/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)
- [MQTT-Broker](https://taphome.com/de/docs/integration/packet-parser/mqtt-broker/)
- [Listener-Skripte](https://taphome.com/de/docs/script/listener-scripts/)

