[RELEASE] Tuya Temperature Humidity Illuminance LCD Display with a Clock (w/ healthStatus)

This driver can be installed from Hubitat Package Manager, search for "Tuya Temperature Humidity Illuminance LCD Display with a Clock" or by Tag 'Zigbee'.

The latest stable version code is here:
https://raw.githubusercontent.com/kkossev/Hubitat/main/Drivers/Tuya%20Temperature%20Humidity%20Illuminance%20LCD%20Display%20with%20a%20Clock/Tuya_Temperature_Humidity_Illuminance_LCD_Display_with_a_Clock.groovy

Supported models :


Device Links
Temperature And Humidity Sensor Indoor Hygrometer Thermometer Detector With LCD Screen
image
Manufacturer : _TZE200_lve3dvpy

AliExpress: link
Temperature And Humidity Sensor Indoor Hygrometer Thermometer With LCD Display
image
Manufacturer : _TZE200_locansqn

AliExpress: link
Driver status: basic functionalities working OK!

Warning: Do not set the temperature sensitivity below 0.5C and humidity sensitivity below 5% !

Update: this device can display the temperature in Fahrenheit scale (when F scale is set on your HE hub), although may require several attempts..
Temperature Humidity Sensor Lux Light Detector Indoor Hygrometer Thermometer With LCD Screen
image
Manufacturer : _TZ3000_qaaysllp
AliExpress: link

Driver status: basic functionalities working OK!
Temperature And Humidity Sensor With LED Screen
image
Manufacturer : _TYZB01_kvwjujy9

AliExpress: link

MOES Tuya ZigBee Smart Home Temperature And Humidity Sensor With LED Screen
image
Model:TS0201
Manufacturer: TZ3000_itnrsufe _TZ3000_ywagc4rj
Supports: battery percentage, temperature, humidity (configurable sensitivity and reporting periods)

FCC ID: link
AliExpress: link
Moes: link
Temperature and Humidity Sensor with LCD Display
image
Model:TS0601
Manufactturer: TZE200_qoy0ekbd TZE200_znbl8dj5
Supports: battery, temperature, humidity (not configurable)

AliExpress: link
AliExpress: link
Tuya ZigbeeTemperature Humidity Sensor With Backlight image Model: TS0601
Manufacturer: TZE200_whkgqxse

AliExpress: link1
Tuya Temperature and Humidity Sensor
image
Model: TS0201
Manufacturer: _TZ3000_bguser20 _TZ3000_xr3htd96
Supports: battery; humidity; temperature

Reporting period is hardcoded to 5 minutes (even if there was a rapid change of the T/H) and can not be configured!

AliExpress: link1
AliExpress: link2
Device Links
Tuya Zigbee Temperature Humidity Soil Monitor
image
Caution: junk device!
Will deplete the batteries fast, spams the Zigbee network with unnecesery data every 10 seconds.
Fake humidity readings (100% or 70% ), and temperature updates stop after some time.
SmartLife app draws fake made-up graphs of the T&H readings over time.

## DO NOT BUY ! ##

AliExpress: link1
AliExpress: link2

Non-Tuya T/H sensors

Device Links
SONOFF SNZB-02 – Zigbee Temperature and Humidity Sensorr
image
Features: Fully configurable temperature and humidity reporting periods, can report as quickly as 10 seconds and 0.1 deg. change.

RECOMMENDED!

itead .cc (link)
SONOFF SNZB-02D Zigbee LCD Smart Temperature Humidity Sensor
image
WARNING: may be difficult to pair to C-7 and older hubs.

Features: C/F switch;
Review: Youtube link

itead .cc (link)

Note

While the same driver may work with other Tuya temperature/humidity/illuminance models (different than these listed above), but this is not guaranteed because of the commands differences between the models and manufacturers.

Features

Currently, not all of the functionalities and settings that are available from Tuya SmartLife app for the specific model are implemented into this HE driver.

The basic functions that are working at the moment are:

  • Synchronizes the sensor clock to HE hub time and day of the week.

  • Reports the sensor temperature (0.1 C resolution), as frequently as sent by the device.

  • Reports the sensor humidity (1% RH resolution), as frequently as sent by the device.

  • Reports battery level (%)

  • Dynamic parameters configuration, depending on the device model:

    • Auto-detect or force Celsius/Fahrenheit scale setting
    • Temperature Sensitivity setting
    • Humidity Sensitivity setting
    • Illuminance Sensitivity setting
    • Minimum and Maximum Temperature Alarm settings
    • Minimum and Maximum Humidity Alarm settings
    • Minimum and Maximum Temperature and Humidity reporting interval settings
  • Extended debug and info logging

14 Likes

Revisions history:

  • ver. 1.0.0 2022-01-25 - Initial test version
  • ver. 1.0.2 2022-02-06 - Tuya commands refactoring; TS0222 T/H poll on illuminance change (EP2); modelGroupPreference bug fix; dynamic parameters depending on the model; Tuya commands refactoring; TS0222 T/H poll on illuminance change (EP2); modelGroupPreference bug fix; dyncamic parameters
  • ver. 1.0.3 2022-02-13 - _TZE200_c7emyjom fingerprint added;
  • ver. 1.0.4 2022-02-20 - Celsius/Fahrenheit correction for TS0601_Tuya devices
  • ver. 1.0.5 2022-04-25 - added TS0601_AUBESS (illuminance only); ModelGroup is shown in State Variables
  • ver. 1.0.6 2022-05-09 - new model 'TS0201_LCZ030' (_TZ3000_qaaysllp)
  • ver. 1.0.7 2022-06-09 - new model 'TS0601_Contact'(_TZE200_pay2byax); illuminance unit changed to 'lx; Bug fix - all settings were reset back in to the defaults on hub reboot
  • ver. 1.0.8 2022-08-08
    • _TZE200_pay2byax contact state and battery reporting fixes;
    • removed degrees symbol from the logs;
    • removed temperatureScaleParameter ( the driver uses the HE hub system C/F scale setting)
    • humiditySensitivity and temperatureSensitivity bug fixes;
    • '_TZE200_locansqn' (TS0601_Haozee) bug fixes
    • decimal/number parameters types bug fixes;
    • added temperature and humidity offsets;
    • configured parameters (including C/F HE scale) are sent to the device when paired again to HE;
    • added Minimum time between temperature and humidity reports;
  • ver. 1.0.9 2022-10-02 - configure _TZ2000_a476raq2 reporting time; added TS0601 _TZE200_bjawzodf; code cleanup
  • ver. 1.0.10 2022-10-11 - _TZ3000_itnrsufe' reporting configuration bug fix?; reporting configuration result Info log; added Sonoff SNZB-02 fingerprint; reportingConfguration is sent on pairing to HE;
  • ver. 1.0.11 2022-11-17 - added _TZE200_whkgqxse; fingerprint correction; _TZ3000_bguser20 _TZ3000_fllyghyj _TZ3000_yd2e749y _TZ3000_6uzkisv2
  • ver. 1.1.0 2022-12-18 :
    • added info attribute;
    • delayed reporting configuration when the sleepy device wakes up;
    • excluded TS0201 model devices in the delayed configuration (TS0201 _TH are configurable!)
    • _TZE200_locansqn fingerprint correction and max reporting periods formula correction
      • added TS0601_Soil _TZE200_myd45weu ; added _TZE200_znbl8dj5 _TZE200_a8sdabtg _TZE200_qoy0ekbd
  • ver. 1.1.1 2023-01-14 - added _TZ3000_ywagc4rj TS0201_TH; bug fix: negative temperatures not calculated correctly;
  • ver. 1.2.0 2023-01-15 - parsing multiple DP received in one command;
  • ver. 1.2.1 2023-01-15 - _TZE200_locansqn fixes;_TZ3000_bguser20 correct model;
  • ver. 1.3.0 2023-02-02- healthStatus; added capability 'Health Check'
  • ver. 1.3.1 2023-02-10 - added RH3052 TUYATEC-gqhxixyk ;
  • ver. 1.3.2 2023-03-04 - added TS0601 _TZE200_zl1kmjqx _TZE200_qyflbnbj, added TS0201 _TZ3000_dowj6gyi and _TZ3000_8ybe88nf
  • ver. 1.3.3 2023-04-23 - _TZE200_znbl8dj5 inClusters correction; ignored invalid humidity values; implemented ping() and rtt (round-trip-time) attribute;
  • ver. 1.3.4 2023-04-24 - send rtt 'timeout' if ping() fails; added resetStats command; added individual stat.stats counters for T/H/I/battery; configuration possible loop bug fix;
  • ver. 1.3.5 2023-05-28 - sendRttEvent exception fixed; added _TZE200_cirvgep4 in TS0601_Tuya group; fingerprint correction; battery reports are capped to 100% and not ignored;
  • ver. 1.3.6 2023-06-10 added _TZE200_yjjdcqsq to TS0601_Tuya group;
  • ver. 1.3.7 2023-08-02 vpjuslin -Yet another name for Tuya soil sensor: _TZE200_ga1maeof
  • ver. 1.3.8 2023-08-17 - added OWON THS317-ET for tests; added TS0201 _TZ3000_rdhukkmi; added TS0222 _TYZB01_ftdkanlj
  • ver. 1.3.9 2023-09-29 - added Sonoff SNZB-02P; added TS0201 _TZ3210_ncw88jfq; moved _TZE200_yjjdcqsq and _TZE200_cirvgep4 to a new group 'TS0601_Tuya_2'; added _TZE204_upagmta9, added battery state 'low', 'medium', 'high'
  • ver. 1.3.10 2023-11-28 kkossev - (dev. branch) added TS0222 _TYZB01_fi5yftwv; added temperature scale (C/F) and temperature sensitivity setting for TS0601_Tuya_2 group;
  • ver. 1.4.0 2023-11-28 kkossev - (dev. branch) bug fix - healthStatus periodic job was not started; _TZ3000_qaaysllp illuminance dp added;
  • ver. 1.5.0 2024-01-18 - (dev. branch) Groovy lint; added TS0601 _TZE200_vvmbj46n to TS0601_Tuya_2 group; _TZE200_qyflbnbj fingerprint correction;
  • ver. 1.5.1 2024-02-13 - bugfix: battery reporting period for non-Tuya devices.

The latest development version is available from the development branch on GitHub: https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/Tuya%20Temperature%20Humidity%20Illuminance%20LCD%20Display%20with%20a%20Clock/Tuya_Temperature_Humidity_Illuminance_LCD_Display_with_a_Clock.groovy

3 Likes

@jtmpush18 The Zemismart ZXZTH model should be working with this driver, please select "TS0201" model group:

image

Thank you @ kkossev.
The driver is working for me as is. I added config as my Tuya device report temp in C, so I added config to report it in F.

Thank you for the feedback, @tosantoshic !
The temperature scale used for reporting depends on the HE hub settings

image
I will add rounding to 1 digit after the decimal point in the next version.

Can you send me your device details data, so that I include it in the driver supported devices fingerprints? It can be found on the device 'data' section in the bottom of teh device page and should look like this:

endpointId: 01
application: 4B
softwareBuild:
inClusters: 0000,0001,0400
outClusters: 0019,000A
model: TS0222
manufacturer: _TYZB01_kvwjujy9

Hello @kkossev,

Yes, I have set location correctly, but still I was reading in C.
Do you have driver update for changing LCD display settings of device?

Here are the details of my device

  • endpointId: 01
  • application: 43
  • softwareBuild:
  • inClusters: 0004,0005,EF00,0000
  • outClusters: 0019,000A
  • model: TS0601
  • manufacturer: _TZE200_locansqn

I am researching how to do it now.

Does your device clock keep accurate with HE time?

Yes, with your driver, the clock and date updated correctly.

Can you first update the driver from the link on the first post and try again? The temperature scale is now sent to the device when you press 'Save Preferences' button. With my device, I receive confirmation that the Celsius/Fahrenheit setting was changed, but the readings and the scale symbol on the LCD display do not change. Your model is a bit better and richer on options, let me know if anything changes.
I have also added an option to adjust the temperature reporting sensitivity ( range 0.1 .. 5.0 deg. C)

Mine is _TZE200_c7emyjom, identical in appearance to your first depicted model, and it gives the following

Current States

  • maxHumidityAlarm : inactive
  • maxTempAlarm : inactive
  • minHumidityAlarm : inactive
  • minTempAlarm : inactive

State Variables

  • packetID : 0
  • rxCounter : 0
  • driverVersion : 1.0.2 2022/02/05 6:35 AM
  • txCounter : 62

  • endpointId: 01
  • model: TS0601
  • application: 40
  • manufacturer: _TZE200_c7emyjom

@Inge_Jones your device is from a new manufacturer, so it's fingerprint is not in the driver yet. I will add it later today, but before doing this can you try to 'force' the device model group from the preferences section to "TS0601 Tuya" ? After saving the preferences please press the 'Ínitialize' button. Are the temperature and the humidity reported? Is the clock set correctly?

No, nothing changed. The clock is not showing on the device just a space where it should be. Btw it did pick up the driver when I paired it.

Which driver was selected automatically when you paired the device to the Hub?

If it was 'device' type, please pair it again now, after you have manually changed the driver.

Before painting it again with this driver - please remove the batteries wait few minutes and insert the batteries again. Any output in the logs?

Unless I am going bonkers it was yours. Just to check my mental status I will delete and start over

Yes it picks up yours automatically upon zigbee pairing. I did remove the batteries for a few minutes first, as you asked.

dev:5782022-02-07 17:04:57.758 warnTuya Temperature Humidity Illuminance LCD Display with a Clock NOT PARSED : [raw:5ACC0100001801002040E2FF2022E4FF2001, dni:5ACC, endpoint:01, cluster:0000, size:18, attrId:0001, encoding:20, command:0A, value:40, clusterInt:0, attrInt:1, additionalAttrs:[[value:22, encoding:20, attrId:FFE2, consumedBytes:4, attrInt:65506], [value:01, encoding:20, attrId:FFE4, consumedBytes:4, attrInt:65508]]]

dev:5782022-02-07 17:04:52.984 warnTuya Temperature Humidity Illuminance LCD Display with a Clock NOT PARSED : [raw:5ACC01000068040042105F545A453230305F6337656D796A6F6D0000002003010000204005000042065453303630310700003003FEFF003000, dni:5ACC, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZE200_c7emyjom, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:40, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0601, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

dev:5782022-02-07 17:04:52.899 infoTuya Temperature Humidity Illuminance LCD Display with a Clock InitializeVars()... fullInit = false

dev:5782022-02-07 17:04:52.892 debugTuya Temperature Humidity Illuminance LCD Display with a Clock updating the settings from the current driver version null to the new version 1.0.2 2022/02/05 6:35 AM

dev:5782022-02-07 17:04:52.577 traceTuya Temperature Humidity Illuminance LCD Display with a Clock sendZigbeeCommands(cmd=[he raw 0x5ACC 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200])

dev:5782022-02-07 17:04:52.566 infoTuya Temperature Humidity Illuminance LCD Display with a Clock configure()..

dev:5782022-02-07 17:04:52.555 infoTuya Temperature Humidity Illuminance LCD Display with a Clock installed()

OK, now force the model group to be TS0601 Tuya.

When pressing the Initialize button again, please press the small button on the top of the device to make sure it is awaken at this time.

dev:5782022-02-07 17:14:39.524 infoTuyaTry2 Initialization finished version=1.0.2 (Timestamp: 2022/02/05 6:35 AM)

dev:5782022-02-07 17:14:39.521 infoTuyaTry2 manufacturer = _TZE200_c7emyjom ModelGroup = TS0601_Tuya

dev:5782022-02-07 17:14:36.495 traceTuyaTry2 sendZigbeeCommands(cmd=[he raw 0x5ACC 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200])

dev:5782022-02-07 17:14:36.492 infoTuyaTry2 configure()..

dev:5782022-02-07 17:14:36.489 traceTuyaTry2 sendZigbeeCommands(cmd=[he cmd 0x5ACC 0x01 0xEF00 0x00 {00011302000400000005}, delay 2000, he cmd 0x5ACC 0x01 0xEF00 0x00 {00020B02000400000190}, delay 2000, he cmd 0x5ACC 0x01 0xEF00 0x00 {00030A02000400000064}, delay 2000])

dev:5782022-02-07 17:14:36.486 infoTuyaTry2 Update finished

dev:5782022-02-07 17:14:36.484 traceTuyaTry2 sendTuyaCommand = [he cmd 0x5ACC 0x01 0xEF00 0x00 {00030A02000400000064}, delay 2000]

dev:5782022-02-07 17:14:36.481 traceTuyaTry2 changing minTempAlarm to= 10.0

dev:5782022-02-07 17:14:36.479 traceTuyaTry2 sendTuyaCommand = [he cmd 0x5ACC 0x01 0xEF00 0x00 {00020B02000400000190}, delay 2000]

dev:5782022-02-07 17:14:36.476 traceTuyaTry2 changing maxTempAlarm to= 40.0

dev:5782022-02-07 17:14:36.473 traceTuyaTry2 sendTuyaCommand = [he cmd 0x5ACC 0x01 0xEF00 0x00 {00011302000400000005}, delay 2000]

dev:5782022-02-07 17:14:36.471 traceTuyaTry2 changing temperatureSensitivity to= 0.5

dev:5782022-02-07 17:14:36.468 warnTuyaTry2 temperatureScaleParameter NOT MATCH!

dev:5782022-02-07 17:14:36.466 traceTuyaTry2 temperatureScaleParameter = null

dev:5782022-02-07 17:14:36.463 infoTuyaTry2 Debug logging is will be turned off after 24 hours

dev:5782022-02-07 17:14:36.450 infoTuyaTry2 Debug logging is true; Description text logging is true

dev:5782022-02-07 17:14:36.447 infoTuyaTry2 Updating TuyaTry2 (Tuya Temperature Humidity Illuminance LCD Display with a Clock) model TS0601 manufacturer _TZE200_c7emyjom modelGroupPreference = TS0601_Tuya (TS0601_Tuya)

dev:5782022-02-07 17:14:36.439 infoTuyaTry2 installed()

dev:5782022-02-07 17:14:36.353 infoTuyaTry2 InitializeVars()... fullInit = true

dev:5782022-02-07 17:14:36.341 infoTuyaTry2 Initialize()...

There is not much information for this new device that can be found on the Net... The only one reference, after excluding all the swearings toward Tuya :sweat_smile:... was not very helpful.

I have included your device fingerprint into the new version 1.0.3, please update the driver from the link in the first post. I have also removed some reporting initialization, which is likely to confuse this device. Please pair the device again, there is a chance that a successful initialization may happen only during the initial pairing process.

If it doesn't work again, I suggest that you send me a PM with the logs. It may take several iterations until we have success.

1 Like

This is something I've not seen before!!

Upon clicking more... they both had their own UIDs. But there is only one in the device list now. And it's working! I have messaged you the log.

2 Likes

@Inge_Jones I am glad it worked for you, thank you for the logs too!

When you have a chance, please test whether your device can switched between Celsius and Fahrenheit readings on the LCD display? Although there are such settings, my device does not change C/F, even when paired to Tuya gateway and controlled by Smart Life app via Tuya cloud.

Also, if you change the 'Minimum Temperature Alarm' or 'Maximum Temperature Alarm' values, does the emoticon on the LCD display ever change if the current temperature is outside these boundaries? Mine does not, but it seems like our devices are slightly different.