TapHome

Tuya TS0201 Temperature & Humidity Sensor

Packet Parser → MQTT
Pridal
Posledná aktualizácia: 05. 2026
Tuya TS0201 Temperature & Humidity Sensor

Tuya TS0201 je lacný Zigbee snímač teploty a vlhkosti napájaný batériami s malým LCD displejom. Rovnaký hardvér sa predáva aj pod značkou BlitzWolf BW-IS4 (white label). Zariadenie je obľúbené ako lacný snímač klímy v miestnosti v cenovej kategórii vstupnej úrovne.

TapHome komunikuje s TS0201 nepriamo — snímač sa páruje so Zigbee koordinátorom (napr. Sonoff ZBDongle-P/E, stick na báze CC2652, CC2531), ktorý je spravovaný Zigbee2MQTT bránou. Zigbee2MQTT prekladá Zigbee správy na JSON payload na MQTT topikoch. TapHome sa prihlasuje na tieto topiky cez modul PacketParser MQTT a mapuje hodnoty na služby teploty/vlhkosti s atribútmi batérie a kvality spojenia.

Požiadavky

Na používanie TS0201 s TapHome sú potrebné tieto komponenty:

  • Zigbee koordinátor — USB stick na báze CC2652P/CC2652R alebo CC2531, napríklad Sonoff ZBDongle-P alebo Sonoff ZBDongle-E
  • Zigbee2MQTT brána — beží na dedikovanom hostovi (Raspberry Pi, NUC, NAS) alebo ako kontajner vedľa MQTT brokera
  • MQTT broker — odporúčaná je Mosquitto; musí byť dostupná tak z hosta Zigbee2MQTT, ako aj z TapHome CCU
  • TapHome CCU s podporou PacketParser (model PacketParserCCU)

Samotný TS0201 sa nepripája na Wi-Fi ani Ethernet — všetka IP sieťová komunikácia prebieha medzi MQTT brokerom a TapHome CCU.

Párovanie

Pred importom TapHome šablóny je potrebné TS0201 spárovať so Zigbee2MQTT koordinátorom:

  1. Otvorte webové rozhranie Zigbee2MQTT a zapnite režim párovania (Permit join)
  2. Na TS0201 podržte reset tlačidlo približne päť sekúnd, kým nezačne blikať sieťový indikátor v hornej časti displeja
  3. Zariadenie sa automaticky pripojí do Zigbee siete a zobrazí sa v zozname zariadení Zigbee2MQTT s IEEE adresou (napr. 0xa4c1388f85d9eca2)
  4. Voliteľne premenujte zariadenie a priraďte mu čitateľné friendly name (napr. spalna_klima) vo webovom rozhraní Zigbee2MQTT

Percento batérie sa môže po spárovaní objaviť až po 24 hodinách — snímač reportuje hodnotu batérie len periodicky.

Konfigurácia

Parametre importu

Pri importe šablóny v TapHome zadajte adresu MQTT brokera:

ParameterPopisPredvolená hodnota
Mqtt Broker ipAddressIP adresa alebo hostname MQTT brokera192.168.0.1
Mqtt Broker portTCP port MQTT brokera1883
Premenná modulu

Po importe šablóny nastavte vlastnú premennú TS0201, ktorá identifikuje zariadenie na MQTT brokeri:

PremennáPopisAko získaťPríklad
TS0201Zigbee2MQTT friendly name alebo IEEE adresa snímačaZigbee2MQTT web UI → Devices → nájdi TS0201 → skopíruj Friendly name alebo IEEE adresu0xa4c1388f85d9eca2

Premenná sa používa ako prípona MQTT topiku — listener skript sa prihlasuje na zigbee2mqtt/{TS0201} a parsuje JSON payload stavu.

Použitie friendly name (napr. spalna_klima) namiesto IEEE adresy robí konfiguráciu TapHome čitateľnejšou. Friendly name sa dá zmeniť vo webovom rozhraní Zigbee2MQTT v nastaveniach zariadenia.

Možnosti zariadenia

Šablóna mapuje TS0201 ako zariadenie typu Temperature Sensor v TapHome a vedľa teploty vystavuje aj vlhkosť spolu s atribútmi batérie a signálu.

Teplota a vlhkosť

Teplota (°C) a relatívna vlhkosť (%) sa parsujú z JSON state topiku zigbee2mqtt/{TS0201}. Snímač reportuje nové hodnoty vždy, keď sa zmení meraná veličina, alebo periodicky podľa rozvrhu Zigbee2MQTT brány.

Príklad payloadu publikovaného cez Zigbee2MQTT:

1
2
3
4
5
6
7
{
  "battery": 95,
  "humidity": 54.2,
  "linkquality": 132,
  "temperature": 21.7,
  "voltage": 3000
}
Monitorovanie batérie a signálu

Zariadenie okrem primárnych hodnôt teploty a vlhkosti vystavuje tri atribúty služieb:

  • Battery — zostávajúce percento batérie (0–100 %) z JSON state payloadu. Prvá hodnota sa môže objaviť až 24 hodín po spárovaní.
  • Battery Voltage — surové napätie batérie v milivoltoch z JSON state payloadu.
  • LinkQuality — ukazovateľ kvality Zigbee signálu (LQI) z JSON state payloadu, v rozsahu od 0 (najhorší) do 255 (najlepší).

Všetky atribúty zobrazujú "-" kým nepríde prvá správa zo zariadenia.

Známe problémy

Hodnota vlhkosti delená 100

Súčasný listener skript v šablóne delí payload vlhkosti stom (Hu := payloadHum/100). Zigbee2MQTT však publikuje vlhkosť priamo ako percento (napr. 54.2 znamená 54,2 %), takže aplikovaním /100 vznikne 0.542 % namiesto očakávaných 54.2 %.

Skontrolujte reportovanú vlhkosť na živom hardvéri. Ak je hodnota zjavne posunutá o dve desatinné miesta, upravte listener skript na Hu := payloadHum; (bez delenia /100).

Nespúšťajte OTA aktualizácie firmvéru

Najnovšie publikovaný image firmvéru TS0201 zariadenie “zabricuje” a urobí ho úplne nepoužiteľným. Zigbee2MQTT ponúka OTA aktualizácie pre toto zariadenie, ale nesmú sa aplikovať, kým upstream nezverejní bezpečný image. Detaily v Zigbee2MQTT GitHub issue #25207.

NESPÚŠŤAJTE OTA aktualizáciu pre TS0201 z webového rozhrania Zigbee2MQTT. Aktuálny image je známy tým, že zariadenie zabricuje.

Riešenie problémov

Žiadne prijaté dáta
  1. Overte, že TS0201 sa zobrazuje v zozname zariadení Zigbee2MQTT s nedávnou časovou značkou “Last seen”
  2. Skontrolujte, že vlastná premenná TS0201 v TapHome sa presne zhoduje s friendly name alebo IEEE adresou zariadenia — zhoda rozlišuje veľkosť písmen
  3. Pomocou MQTT klienta (napr. MQTT Explorer) sa prihláste na zigbee2mqtt/# a potvrďte, že JSON payloady prichádzajú na zigbee2mqtt/{friendly_name}
  4. Overte, že IP a port MQTT brokera v parametroch importu TapHome zodpovedajú brokeru dostupnému z CCU
Zariadenie sa zobrazuje ako offline v Zigbee2MQTT
  1. TS0201 je batériou napájané koncové zariadenie — medzi reportmi spí, aby šetrilo energiu. “Offline” môže jednoducho znamenať, že zariadenie nedávno nevysielalo; počkajte na ďalší naplánovaný report alebo krátko stlačte reset tlačidlo na vynútenie prihlásenia.
  2. Ak sa zariadenie už nikdy neobjaví online, Zigbee spojenie môže byť prerušené kvôli vzdialenosti od koordinátora. Presuňte snímač bližšie alebo pridajte Zigbee router (Zigbee zariadenie napájané zo siete) na rozšírenie mesh siete.
  3. Skontrolujte atribút LinkQuality — hodnoty pod ~30 lqi naznačujú slabý signál.
Zastarané hodnoty batérie alebo kvality spojenia
  1. Batéria a napätie sa aktualizujú len keď sa snímač zobudí a pošle report — môže to byť raz za niekoľko hodín
  2. Ak sa zobrazuje "-", zatiaľ neprišla žiadna MQTT správa; počkajte na ďalší report alebo zariadenie znova spárujte
  3. Po opätovnom spárovaní môže batéria zostať "-" až 24 hodín, kým sa publikuje prvá hodnota

Dostupné zariadenia

Tuya TS0201 Modul
Vlastné premenné
TS0201 (string) = 0xa4c1388f85d9eca2Zigbee2MQTT friendly name alebo IEEE adresa snímača TS0201 — používa sa ako prípona MQTT topiku (zigbee2mqtt/{friendly_name})
Open Zigbee2MQTT web UI → Devices → find the TS0201 → copy the Friendly name (or use the IEEE address, e.g. 0xa4c1388f85d9eca2)
Snímač teploty a vlhkosti Teplotný senzor Len na čítanie

Teplota (°C) a relatívna vlhkosť (%) parsované z JSON state payloadu Zigbee2MQTT

JSON Jednotka: °C / % json_path
Servisné atribúty
BatériaZostávajúce percento batérie (0–100 %); prvá hodnota sa môže objaviť až 24 hodín po spárovaní
Napätie batérieSurové napätie batérie v milivoltoch (mV) parsované z JSON state payloadu
LinkQualityUkazovateľ kvality Zigbee signálu (LQI) — 0 (najhorší) až 255 (najlepší)

Snímač teploty a vlhkosti

Čítanie vlhkosti
# 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");
Čítanie teploty
# 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
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
Servisné atribúty
Battery
IF(ISNAN(battery),"-",battery+"%");
Battery Voltage
IF(ISNAN(voltage),"-",voltage+"mV");
LinkQuality
IF(ISNAN(link),"-",link+"lqi");
Pripojenie: Packet Parser → MQTT
Možné vylepšenia (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.

Zdroje

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Overené TapHomom

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli