
Tuya TS0201 to tani czujnik Zigbee temperatury i wilgotności zasilany z baterii, z małym wyświetlaczem LCD. Ten sam sprzęt jest również sprzedawany pod marką BlitzWolf BW-IS4 (white label). Urządzenie jest popularne jako tani czujnik klimatu pomieszczenia w kategorii cenowej wstępnej.
TapHome komunikuje się z TS0201 pośrednio — czujnik paruje się z koordynatorem Zigbee (np. Sonoff ZBDongle-P/E, stick oparty na CC2652, CC2531), który jest zarządzany przez bramkę Zigbee2MQTT. Zigbee2MQTT tłumaczy wiadomości Zigbee na payloady JSON na topikach MQTT. TapHome subskrybuje te topiki przez moduł PacketParser MQTT i mapuje wartości na usługi temperatury/wilgotności z atrybutami baterii i jakości połączenia.
Wymagania
Aby używać TS0201 z TapHome, wymagane są następujące komponenty:
- Koordynator Zigbee — USB stick oparty na CC2652P/CC2652R lub CC2531, na przykład Sonoff ZBDongle-P lub Sonoff ZBDongle-E
- Bramka Zigbee2MQTT — działająca na dedykowanym hoście (Raspberry Pi, NUC, NAS) lub jako kontener obok brokera MQTT
- Broker MQTT — zalecana jest Mosquitto; musi być osiągalna zarówno z hosta Zigbee2MQTT, jak i z TapHome CCU
- TapHome CCU z obsługą PacketParser (model PacketParserCCU)
Sam TS0201 nie łączy się z Wi-Fi ani Ethernet — cała komunikacja sieciowa IP odbywa się między brokerem MQTT a TapHome CCU.
Parowanie
Przed importem szablonu TapHome należy sparować TS0201 z koordynatorem Zigbee2MQTT:
- Otwórz interfejs webowy Zigbee2MQTT i włącz tryb parowania (Permit join)
- Na TS0201 przytrzymaj przycisk reset przez około pięć sekund, aż wskaźnik sieci w górnej części wyświetlacza zacznie migać
- Urządzenie automatycznie dołącza do sieci Zigbee i pojawia się na liście urządzeń Zigbee2MQTT z adresem IEEE (np.
0xa4c1388f85d9eca2) - Opcjonalnie zmień nazwę urządzenia i przypisz czytelny friendly name (np.
sypialnia_klimat) w interfejsie webowym Zigbee2MQTT
Procent baterii po sparowaniu może pojawić się nawet po 24 godzinach — czujnik raportuje wartość baterii tylko okresowo.
Konfiguracja
Parametry importu
Podczas importu szablonu w TapHome podaj adres brokera MQTT:
| Parametr | Opis | Wartość domyślna |
|---|---|---|
Mqtt Broker ipAddress | Adres IP lub hostname brokera MQTT | 192.168.0.1 |
Mqtt Broker port | Port TCP brokera MQTT | 1883 |
Zmienna modułu
Po imporcie szablonu ustaw zmienną niestandardową TS0201, która identyfikuje urządzenie na brokerze MQTT:
| Zmienna | Opis | Jak uzyskać | Przykład |
|---|---|---|---|
TS0201 | Friendly name Zigbee2MQTT lub adres IEEE czujnika | Zigbee2MQTT web UI → Devices → znajdź TS0201 → skopiuj Friendly name lub adres IEEE | 0xa4c1388f85d9eca2 |
Zmienna jest używana jako sufiks topiku MQTT — skrypt listener subskrybuje zigbee2mqtt/{TS0201} i parsuje payload stanu JSON.
Użycie friendly name (np.
sypialnia_klimat) zamiast adresu IEEE sprawia, że konfiguracja TapHome jest bardziej czytelna. Friendly name można zmienić w interfejsie webowym Zigbee2MQTT w ustawieniach urządzenia.
Możliwości urządzenia
Szablon mapuje TS0201 jako urządzenie typu Temperature Sensor w TapHome i oprócz temperatury udostępnia również wilgotność wraz z atrybutami baterii i sygnału.
Temperatura i wilgotność
Temperatura (°C) i wilgotność względna (%) są parsowane z topiku stanu JSON zigbee2mqtt/{TS0201}. Czujnik raportuje nowe wartości za każdym razem, gdy zmienia się mierzona wielkość, lub zgodnie z okresowym harmonogramem zarządzanym przez bramkę Zigbee2MQTT.
Przykładowy payload publikowany przez Zigbee2MQTT:
| |
Monitorowanie baterii i sygnału
Urządzenie oprócz głównych wartości temperatury i wilgotności udostępnia trzy atrybuty usług:
- Battery — pozostały procent baterii (0–100 %) z payloadu stanu JSON. Pierwsza wartość może pojawić się nawet 24 godziny po sparowaniu.
- Battery Voltage — surowe napięcie baterii w miliwoltach z payloadu stanu JSON.
- LinkQuality — wskaźnik jakości sygnału Zigbee (LQI) z payloadu stanu JSON, w zakresie od 0 (najgorszy) do 255 (najlepszy).
Wszystkie atrybuty wyświetlają "-" dopóki nie dotrze pierwsza wiadomość z urządzenia.
Znane problemy
Wartość wilgotności dzielona przez 100
Obecny skrypt listener w szablonie dzieli payload wilgotności przez 100 (Hu := payloadHum/100). Zigbee2MQTT publikuje jednak wilgotność bezpośrednio jako procent (np. 54.2 oznacza 54,2 %), więc zastosowanie /100 daje 0.542 % zamiast oczekiwanych 54.2 %.
Sprawdź raportowaną wilgotność na żywym sprzęcie. Jeśli wartość jest wyraźnie przesunięta o dwa miejsca dziesiętne, dostosuj skrypt listener na
Hu := payloadHum;(bez dzielenia/100).
Nie stosuj aktualizacji firmware OTA
Najnowiej opublikowany obraz firmware TS0201 unieruchamia urządzenie i czyni je całkowicie nieużywalnym. Zigbee2MQTT udostępnia aktualizacje OTA dla tego urządzenia, ale nie mogą być stosowane, dopóki upstream nie opublikuje bezpiecznego obrazu. Szczegóły w Zigbee2MQTT GitHub issue #25207.
NIE uruchamiaj aktualizacji OTA dla TS0201 z interfejsu webowego Zigbee2MQTT. Obecny obraz jest znany z unieruchamiania czujnika.
Rozwiązywanie problemów
Brak otrzymywanych danych
- Sprawdź, czy TS0201 pojawia się na liście urządzeń Zigbee2MQTT z niedawnym znacznikiem czasu “Last seen”
- Sprawdź, czy zmienna niestandardowa
TS0201w TapHome dokładnie pasuje do friendly name lub adresu IEEE urządzenia — dopasowanie rozróżnia wielkość liter - Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować
zigbee2mqtt/#i potwierdzić, że payloady JSON przychodzą nazigbee2mqtt/{friendly_name} - Potwierdź, że IP i port brokera MQTT w parametrach importu TapHome odpowiadają brokerowi osiągalnemu z CCU
Urządzenie pokazuje się jako offline w Zigbee2MQTT
- TS0201 to urządzenie końcowe zasilane bateryjnie — śpi między raportami, aby oszczędzać energię. “Offline” może po prostu oznaczać, że urządzenie nie transmitowało ostatnio; poczekaj na następny zaplanowany raport lub krótko naciśnij przycisk reset, aby wymusić zameldowanie.
- Jeśli urządzenie nigdy nie wraca online, łącze Zigbee może być zerwane z powodu odległości od koordynatora. Przenieś czujnik bliżej lub dodaj router Zigbee (urządzenie Zigbee zasilane z sieci) w celu rozszerzenia mesh.
- Sprawdź atrybut LinkQuality — wartości poniżej ~30 lqi wskazują na słaby sygnał.
Nieaktualne wartości baterii lub jakości połączenia
- Bateria i napięcie są aktualizowane tylko wtedy, gdy czujnik się budzi i raportuje — może to być raz na kilka godzin
- Jeśli wartości pokazują
"-", jeszcze nie otrzymano żadnej wiadomości MQTT; poczekaj na następny raport lub sparuj urządzenie ponownie - Po ponownym sparowaniu bateria może pozostać
"-"nawet przez 24 godziny, zanim zostanie opublikowana pierwsza wartość
