[RELEASE] Tuya Zigbee Thermostats and TRVs driver

Hi Vaclav,

The logs show that your TRV is online and responding to ping commands, but for some reason it is not sending the internal temperature updates.

Can you confirm again that the heating setpoint is updated in Hubitat when you change the set temperature manually from the TRV knob? Also, when you change the TRV mode ('manual', which equals 'heat' mode in HE, or 'auto' or 'off'), do you see the mode changed on HE?

With the Debug option on, can you rapidly change the temperature near the TRV (using a hair dryer for example) and post the debug logs that will eventually follow the temperature change.

To avoid confusion, it will be better to disable the 'Temperature polling Interval' option. For Tuya TRVs, it does not actually refresh the temperature from the device but repeats the last known values for the sake of' nice-looking graphs'. : ) I will set this option disabled by default in the next update.

image

Hi Krassimir,

  1. when changing manually temp on TRV ... the set temp gets updated simultaneously in HE. This has been always working well.

  2. yes, I can change TRV mode and it gets also updated in HE within second.

  3. I disabled the polling interval around the noon time ...

and now the suprise... I see the current temp is the same in HE and on TRV. It has changed few times during the afternoon. I asked my son to check it during the afternoon since he was at home. I could see the temp remotely on the HE and he provided me with the real temp from the TRV.
I have no explanation what happened - but it works well now. Was it because of the polling function? was it because of difference in rounding the temp numbers (like TRV was showing already 24, but HE due to different info in decimals still 25?). Something different?

Well, it doesn't matter since it works. THANK YOU AGAIN for such a great support. I think the real test will come in the fall/winter ... otherwise I would be in trouble if wife and kids stay in cold :slight_smile: .

Vaclav
P.S. from the debug list I see only one warning - map not found for parameter systemMode

1 Like

It seems to be working OK now!
I am adding other Tuya thermostats and TRVs to the same driver. When I have it done, I will look at the warning again.

@amithalp what happened with your thermostat, did you manage to make it work ?

There is some information available on GitHub now, I can add it to this new driver.

Hi Krassimir,
As I had to find a solution so I decidded to dive into the coding ocean :face_with_monocle:
I spent some time along with your driver and my new friend Chat gpt. I found the missing data points by following your comment you wrote in your post as a reminder to yourself and changed the driver to fit my Avatto2 thermostat data points.
I ended up with a stripped down driver to fit Avatto2 thermostat only.
It was a long journey for me as I do not have a coding background but hey…. Since then I wrote 2 apps and drivers from scratch😎
I guess if I ever write a biography I’ll mention you as a motivator whose steps I followed.
If not, well then you’ll have to settle with a big Thank You for your contribution to this community.

3 Likes

The driver is now available for installation and updates via HPM.

If you have already installed it manually, try the instructions below:

HPM Match-Up

(the sample screenshots show another driver!)


2 Likes

@kkossev,
Could you please add support for the TRV below.

This design is much better than my BRT-100 TRV - I had to throw away two TRV's as the plastic head broke, probably the kids broke it - it is so easy to damage!

Model: TRV602Z (Zigbee-TVR602)

https://a.aliexpress.com/_EJDT1LT

It seems to be working with the AVATTO_TRV06_TRV16_ME167_ME168_TRV profile, but the thermostat Operating State is inverted.

Device details

State Variables

  • deviceProfile : AVATTO_TRV06_TRV16_ME167_ME168_TRV
  • deviceType : Thermostat
  • lastTx : {cmdTime=1729711918567}
  • lastThermostatMode : unknown
  • lastRx : {tempTime=1729712622355, checkInTime=1729711030752}
  • lastThermostatOperatingState : unknown
  • stats : {cfgCtr=1, rxCtr=34, txCtr=24, tempCtr=4}
  • driverVersion : 3.4.0 2024/10/05 6:51 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)
  • health : {checkCtr3=1, offlineCtr=0}
  • states : {isRefresh=false, isDigital=false, isPing=false}

Data:

  • endpointId: 01
  • application: 4A
  • inClusters: 0000,0004,0005,EF00
  • lastRunningMode: heat
  • manufacturer: _TZE204_ltwbm23f
  • model: TS0601
  • outClusters: 0019,000A
  • softwareBuild:
  • tuyaVersion: 1.0.10
Logs

dev:45692024-10-23 08:32:03.573 PMinfoZigbee TRV thermostatOperatingState is heating

dev:45692024-10-23 08:32:00.222 PMinfoZigbee TRV temperature is 26.3 °C

dev:45692024-10-23 08:32:00.214 PMinfoZigbee TRV heatingSetpoint is 18.0

dev:45692024-10-23 08:18:07.632 PMinfoZigbee TRV temperature is 26.2 °C (delayed)

dev:45692024-10-23 08:18:05.572 PMinfoZigbee TRV thermostatOperatingState is idle

dev:45692024-10-23 08:18:01.544 PMinfoZigbee TRV heatingSetpoint is 28.5

dev:45692024-10-23 08:17:58.594 PMinfoZigbee TRV thermostatMode is unknown

dev:45692024-10-23 08:17:49.787 PMinfoZigbee TRV heatingSetpoint is 17.5

dev:45692024-10-23 08:17:47.512 PMinfoZigbee TRV thermostatMode is off

dev:45692024-10-23 08:17:45.142 PMinfoZigbee TRV thermostatOperatingState is heating

dev:45692024-10-23 08:17:41.782 PMinfoZigbee TRV heatingSetpoint is 5.0

dev:45692024-10-23 08:17:41.777 PMinfoZigbee TRV thermostatMode is heat

dev:45692024-10-23 08:17:33.386 PMinfoZigbee TRV childLock is off

dev:45692024-10-23 08:17:31.994 PMinfoZigbee TRV updated

dev:45692024-10-23 08:17:31.991 PMinfoZigbee TRV setPar: (2) sending parameter antiFreeze (0 (scaledValue=0))

dev:45692024-10-23 08:17:31.985 PMinfoZigbee TRV setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45692024-10-23 08:17:31.980 PMinfoZigbee TRV updatedThermostat: thermostat polling is disabled!

dev:45692024-10-23 08:17:31.975 PMinfoZigbee TRV press F5 to refresh the page

dev:45692024-10-23 08:17:31.975 PMinfoZigbee TRV Preferences reset to default values

dev:45692024-10-23 08:17:31.972 PMinfosetting par calibrationTemp defVal = 0.0 (type:decimal)

dev:45692024-10-23 08:17:31.971 PMtracecalibrationTemp 47

dev:45692024-10-23 08:17:31.969 PMinfosetting par limescaleProtect defVal = 0 (type:enum)

dev:45692024-10-23 08:17:31.967 PMtracelimescaleProtect 39

dev:45692024-10-23 08:17:31.965 PMinfosetting par antiFreeze defVal = 0 (type:enum)

dev:45692024-10-23 08:17:31.964 PMtraceantiFreeze 36

dev:45692024-10-23 08:17:31.962 PMinfosetting par childLock defVal = 0 (type:enum)

dev:45692024-10-23 08:17:31.961 PMtracechildLock 7

dev:45692024-10-23 08:17:31.941 PMinfoscheduling health check every 240 minutes by Activity check method

dev:45692024-10-23 08:17:31.932 PMinfoZigbee TRV driver version 3.4.0 2024/10/05 6:51 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)

dev:45692024-10-23 08:17:31.931 PMinfoZigbee TRV updated()...

dev:45692024-10-23 08:17:10.747 PMinfoZigbee TRV is now online!

dev:45692024-10-23 08:17:10.744 PMinfoZigbee TRV healthStatus changed to online

dev:45692024-10-23 08:17:10.218 PMinfoZigbee TRV executed 'loadAllDefaults'

dev:45692024-10-23 08:17:10.201 PMinfoZigbee TRV All Defaults Loaded! F5 to refresh

dev:45692024-10-23 08:17:10.188 PMinfoZigbee TRV updated

dev:45692024-10-23 08:17:10.185 PMinfoZigbee TRV setPar: (2) sending parameter temperatureCalibration (-2.0 (scaledValue=-2))

dev:45692024-10-23 08:17:10.180 PMinfoZigbee TRV setPar: (2) sending parameter hysteresis (1.0 (scaledValue=1))

dev:45692024-10-23 08:17:10.174 PMinfoZigbee TRV setPar: (2) sending parameter antiFreeze (0 (scaledValue=0))

dev:45692024-10-23 08:17:10.163 PMinfoZigbee TRV setPar: (2) sending parameter sensor (0 (scaledValue=0))

dev:45692024-10-23 08:17:10.090 PMinfoZigbee TRV setPar: (2) sending parameter maxHeatingSetpoint (40.0 (scaledValue=40))

dev:45692024-10-23 08:17:10.084 PMinfoZigbee TRV setPar: (2) sending parameter minHeatingSetpoint (10.0 (scaledValue=10))

dev:45692024-10-23 08:17:10.078 PMinfoZigbee TRV setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45692024-10-23 08:17:10.073 PMinfoZigbee TRV updatedThermostat: thermostat polling is disabled!

dev:45692024-10-23 08:17:10.069 PMinfoZigbee TRV press F5 to refresh the page

dev:45692024-10-23 08:17:10.068 PMinfoZigbee TRV Preferences reset to default values

dev:45692024-10-23 08:17:10.066 PMinfosetting par temperatureCalibration defVal = -2.0 (type:decimal)

dev:45692024-10-23 08:17:10.064 PMtracetemperatureCalibration 105

dev:45692024-10-23 08:17:10.062 PMinfosetting par hysteresis defVal = 1.0 (type:decimal)

dev:45692024-10-23 08:17:10.061 PMtracehysteresis 106

dev:45692024-10-23 08:17:10.059 PMinfosetting par antiFreeze defVal = 0 (type:enum)

dev:45692024-10-23 08:17:10.057 PMtraceantiFreeze 103

dev:45692024-10-23 08:17:10.055 PMinfosetting par sensor defVal = 0 (type:enum)

dev:45692024-10-23 08:17:10.053 PMtracesensor 43

dev:45692024-10-23 08:17:10.051 PMinfosetting par maxHeatingSetpoint defVal = 40.0 (type:decimal)

dev:45692024-10-23 08:17:10.050 PMtracemaxHeatingSetpoint 19

dev:45692024-10-23 08:17:10.048 PMinfosetting par minHeatingSetpoint defVal = 10.0 (type:decimal)

dev:45692024-10-23 08:17:10.046 PMtraceminHeatingSetpoint 26

dev:45692024-10-23 08:17:10.043 PMinfosetting par childLock defVal = 0 (type:enum)

dev:45692024-10-23 08:17:10.042 PMtracechildLock 40

dev:45692024-10-23 08:17:10.020 PMinfoscheduling health check every 240 minutes by Activity check method

dev:45692024-10-23 08:17:10.013 PMinfoZigbee TRV driver version 3.4.0 2024/10/05 6:51 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)

dev:45692024-10-23 08:17:10.011 PMinfoZigbee TRV updated()...

dev:45692024-10-23 08:17:09.994 PMinfoZigbee TRV sent device configuration

dev:45692024-10-23 08:17:09.992 PMinfoZigbee TRV configureDevice...

dev:45692024-10-23 08:17:09.991 PMinfoZigbee TRV initializeDevice...

dev:45692024-10-23 08:17:09.989 PMinfoZigbee TRV tuyaBlackMagic()...

dev:45692024-10-23 08:17:09.988 PMinfoZigbee TRV configure()... cfgCtr=1

dev:45692024-10-23 08:17:09.975 PMwarnZigbee TRV} healthStatus changed to unknown

dev:45692024-10-23 08:17:09.955 PMinfoZigbee TRV Initialized

dev:45692024-10-23 08:17:09.954 PMinfoZigbee TRV DEVICE_TYPE = Thermostat

dev:45692024-10-23 08:17:09.953 PMinfoZigbee TRV all states and scheduled jobs cleared!

dev:45692024-10-23 08:17:09.953 PMinfoZigbee TRV device model TS0601 manufacturer _TZE204_ltwbm23f was not found!

dev:45692024-10-23 08:17:09.952 PMinfoZigbee TRV unknown model null manufacturer null

dev:45692024-10-23 08:17:09.941 PMinfoZigbee TRV initializing device powerSource 'unknown'

dev:45692024-10-23 08:17:09.941 PMinfoZigbee TRV initialize()... initCtr=1

dev:45692024-10-23 08:17:09.924 PMinfoZigbee TRV All child devices DELETED

dev:45692024-10-23 08:17:09.923 PMinfoZigbee TRV All States DELETED

dev:45692024-10-23 08:17:09.920 PMinfoZigbee TRV All scheduled jobs DELETED

dev:45692024-10-23 08:17:09.911 PMinfoZigbee TRV All current states (attributes) DELETED

dev:45692024-10-23 08:17:09.747 PMinfoZigbee TRV All settings (preferences) DELETED

dev:45692024-10-23 08:17:09.728 PMinfoZigbee TRV configure(*** LOAD ALL DEFAULTS ***)...

dev:45692024-10-23 08:16:52.742 PMinfoZigbee TRV thermostatMode is unknown

dev:45692024-10-23 08:16:51.859 PMinfoZigbee TRV thermostatMode is auto+manual

dev:45692024-10-23 08:16:49.340 PMinfoZigbee TRV thermostatMode is auto

dev:45692024-10-23 08:16:47.195 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 08:16:44.083 PMinfoZigbee TRV invalid enum parameter emergency heat. value must be one of [0:heat, 1:auto, 2:auto+manual]

dev:45692024-10-23 08:16:29.975 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 08:16:29.849 PMinfoZigbee TRV thermostatMode is heat

dev:45692024-10-23 08:16:25.069 PMinfoZigbee TRV updated

dev:45692024-10-23 08:16:25.063 PMinfoZigbee TRV setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45692024-10-23 08:16:25.058 PMinfoZigbee TRV updatedThermostat: thermostat polling is disabled!

dev:45692024-10-23 08:16:25.053 PMinfoZigbee TRV press F5 to refresh the page

dev:45692024-10-23 08:16:25.052 PMinfoZigbee TRV Preferences reset to default values

dev:45692024-10-23 08:16:25.050 PMinfosetting par temperatureCalibration defVal = -2.0 (type:decimal)

dev:45692024-10-23 08:16:25.048 PMtracetemperatureCalibration 105

dev:45692024-10-23 08:16:25.046 PMinfosetting par hysteresis defVal = 1.0 (type:decimal)

dev:45692024-10-23 08:16:25.045 PMtracehysteresis 106

dev:45692024-10-23 08:16:25.042 PMinfosetting par antiFreeze defVal = 0 (type:enum)

dev:45692024-10-23 08:16:25.041 PMtraceantiFreeze 103

dev:45692024-10-23 08:16:25.039 PMinfosetting par sensor defVal = 0 (type:enum)

dev:45692024-10-23 08:16:25.038 PMtracesensor 43

dev:45692024-10-23 08:16:25.035 PMinfosetting par maxHeatingSetpoint defVal = 40.0 (type:decimal)

dev:45692024-10-23 08:16:25.034 PMtracemaxHeatingSetpoint 19

dev:45692024-10-23 08:16:25.032 PMinfosetting par minHeatingSetpoint defVal = 10.0 (type:decimal)

dev:45692024-10-23 08:16:25.030 PMtraceminHeatingSetpoint 26

dev:45692024-10-23 08:16:25.028 PMinfosetting par childLock defVal = 0 (type:enum)

dev:45692024-10-23 08:16:25.027 PMtracechildLock 40

dev:45692024-10-23 08:16:25.006 PMinfoscheduling health check every 240 minutes by Activity check method

dev:45692024-10-23 08:16:24.998 PMinfoZigbee TRV driver version 3.4.0 2024/10/05 6:51 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)

dev:45692024-10-23 08:16:24.996 PMinfoZigbee TRV updated()...

dev:45692024-10-23 08:16:02.353 PMinfoZigbee TRV Round-trip time is 164 ms (min=163 max=997 average=355)

dev:45692024-10-23 08:15:47.683 PMinfoZigbee TRV Round-trip time is 998 ms (min=309 max=997 average=377)

dev:45692024-10-23 08:15:45.391 PMinfoZigbee TRV Round-trip time is 334 ms (min=309 max=309 average=309)

dev:45692024-10-23 08:15:43.414 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 08:15:37.885 PMinfoZigbee TRV updated

dev:45692024-10-23 08:15:37.884 PMinfoZigbee TRV setPar: (2) sending parameter calibrationTemp (0.0 (scaledValue=0))

dev:45692024-10-23 08:15:37.878 PMinfoZigbee TRV setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45692024-10-23 08:15:37.872 PMinfoZigbee TRV setPar: (2) sending parameter windowOpenDetection (0 (scaledValue=0))

dev:45692024-10-23 08:15:37.866 PMinfoZigbee TRV updatedThermostat: thermostat polling is disabled!

Many thanks

1 Like

Please, post the device data details as text.

Is it this one?

1 Like

Yes, it's that one (I think on Aliexpress the seller wrote the model number incorrectly!)
EDIT: device details updated!

1 Like

Try the 'AVATTO-TRV07' device profile - it seems to be a better match?

I believe I tried it previously... unfortunately, it does not work, see error below:

Summary

dev:45692024-10-23 09:12:26.451 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:12:26.447 PMinfoZigbee TRV temperature is 25.4 °C [digital]

dev:45692024-10-23 09:12:16.050 PMinfoZigbee TRV updated

dev:45692024-10-23 09:12:16.048 PMinfoZigbee TRV setPar: (2) sending parameter ecoMode (0 (scaledValue=0))

dev:45692024-10-23 09:12:16.042 PMinfoZigbee TRV setPar: (2) sending parameter orientation (1 (scaledValue=1))

dev:45692024-10-23 09:12:16.037 PMinfoZigbee TRV setPar: (2) sending parameter brightness (1 (scaledValue=1))

dev:45692024-10-23 09:12:16.031 PMinfoZigbee TRV setPar: (2) sending parameter maxHeatingSetpoint (35.0 (scaledValue=350))

dev:45692024-10-23 09:12:16.024 PMinfoZigbee TRV setPar: (2) sending parameter minHeatingSetpoint (10.0 (scaledValue=100))

dev:45692024-10-23 09:12:16.017 PMinfoZigbee TRV setPar: (2) sending parameter calibrationTemp (0.0 (scaledValue=0))

dev:45692024-10-23 09:12:16.010 PMinfoZigbee TRV setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45692024-10-23 09:12:16.004 PMinfoZigbee TRV setPar: (2) sending parameter windowOpenDetection (0 (scaledValue=0))

dev:45692024-10-23 09:12:15.998 PMinfoZigbee TRV updatedThermostat: thermostat polling is disabled!

dev:45692024-10-23 09:12:15.975 PMinfoscheduling health check every 240 minutes by Activity check method

dev:45692024-10-23 09:12:15.965 PMinfoZigbee TRV driver version 3.4.0 2024/10/05 6:51 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)

dev:45692024-10-23 09:12:15.941 PMinfoZigbee TRV updated()...

dev:45692024-10-23 09:12:08.812 PMinfoZigbee TRV Round-trip time is 1575 ms (min=null max=1574 average=1439)

dev:45692024-10-23 09:12:01.468 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:12:01.462 PMinfoZigbee TRV temperature is 25.4 °C [digital]

dev:45692024-10-23 09:11:55.639 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:11:55.634 PMinfoZigbee TRV temperature is 25.4 °C [digital]

dev:45692024-10-23 09:11:46.950 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:11:46.946 PMinfoZigbee TRV temperature is 25.4 °C [digital]

dev:45692024-10-23 09:11:45.850 PMinfoZigbee TRV Round-trip time is 1425 ms (min=null max=1425 average=1425)

dev:45692024-10-23 09:11:42.539 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:11:42.535 PMinfoZigbee TRV temperature is 25.4 °C [digital]

dev:45692024-10-23 09:11:36.845 PMerrorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 4819 (method refresh)

dev:45692024-10-23 09:11:36.832 PMinfoZigbee TRV temperature is 25.4 °C [digital]

I think this exception should not affect the other functionalities ... I will fix it in the next update.

As a workaround, enable the 'Advanced options' and then make sure the 'Temperature polling interval' is disabled.
image
Will this stop the error?

I did already enable these settings...
I have not received any further errors, but none of functions work/update:

Summary

@iEnam please update to the new version 3.4.1 2024/10/23 11:52 PM'
The new profile is named 'Tuya TRV602'.

I have disabled the temperature calibration, as I suspect it may be making a problem when sent to the TRV. You may need to reset the device (pair it again, without deleting).

1 Like

Thanks for the quick update.
Unfortunately, there seems to be some issue with the temperature readings?
image
The above state was last night after adjusting setpoint on the device itself.

I am not home at present, but I have reset and "load all default" settings...
But unfortunately, it seems that none of the basic settings are getting applied?
I can only change the cooling setpoint?
image

Edit: below are settings from Tuya app.

Summary


EDIT: see logs below.

Logs

dev:45702024-10-24 05:44:24.317 PMinfoTuya TRV602 ecoMode is off

dev:45702024-10-24 05:44:24.305 PMinfoTuya TRV602 temperature is 0.0 °C

dev:45702024-10-24 05:44:19.262 PMinfoTuya TRV602 heatingSetpoint is 0.2

dev:45702024-10-24 05:44:16.090 PMinfoTuya TRV602 heatingSetpoint is 0.3

dev:45702024-10-24 05:44:15.089 PMinfoTuya TRV602 heatingSetpoint is 0.5

dev:45702024-10-24 05:44:08.359 PMinfoTuya TRV602 ecoMode is unknown

dev:45702024-10-24 05:44:08.346 PMinfoTuya TRV602 temperature is 0.1 °C

dev:45702024-10-24 05:43:54.981 PMinfoTuya TRV602 temperature is 0.0 °C (delayed)

dev:45702024-10-24 05:43:50.989 PMinfoTuya TRV602 ecoMode is off

dev:45702024-10-24 05:43:44.755 PMinfoTuya TRV602 heatingSetpoint is 0.3

dev:45702024-10-24 05:43:44.565 PMinfoTuya TRV602 temperature is 0.1 °C (delayed)

dev:45702024-10-24 05:43:41.452 PMinfoTuya TRV602 heatingSetpoint is 0.5

dev:45702024-10-24 05:43:34.772 PMinfoTuya TRV602 Round-trip time is 93 ms (min=92 max=92 average=92)

dev:45702024-10-24 05:43:34.677 PMinfoTuya TRV602 heatingSetpoint is 20.0 °C [digital]

dev:45702024-10-24 05:43:34.674 PMinfoTuya TRV602 temperature is 18.0 ° [digital]

dev:45702024-10-24 05:43:34.568 PMinfoTuya TRV602 ecoMode is unknown

dev:45702024-10-24 05:43:11.344 PMinfoTuya TRV602 is now online!

dev:45702024-10-24 05:43:11.343 PMinfoTuya TRV602 healthStatus changed to online

dev:45702024-10-24 05:43:10.643 PMinfoTuya TRV602 executed 'loadAllDefaults'

dev:45702024-10-24 05:43:10.631 PMinfoTuya TRV602 All Defaults Loaded! F5 to refresh

dev:45702024-10-24 05:43:10.622 PMinfoTuya TRV602 updated

dev:45702024-10-24 05:43:10.621 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {B99F7201000100} {}, delay 201]

dev:45702024-10-24 05:43:10.620 PMinfoTuya TRV602 setPar: (2) sending parameter ecoMode (0 (scaledValue=0))

dev:45702024-10-24 05:43:10.619 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=72 fncmd=00 dp_type=01) = [he cmd 0x480B 0x01 0xEF00 0x00 {B99F7201000100} {}, delay 201]

dev:45702024-10-24 05:43:10.616 PMdebugTuya TRV602 sendTuyaParameter: sending parameter ecoMode dpValHex 00 (raw=0) Tuya dp=72 dpType=01

dev:45702024-10-24 05:43:10.614 PMdebugTuya TRV602 setPar(ecoMode, 0)

dev:45702024-10-24 05:43:10.613 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:114, name:ecoMode, type:enum, dt:01, rw:rw, min:0, max:1, defVal:0, step:1, scale:1, map:[0:off, 1:on], unit:, title:Eco mode, description:Eco mode]

dev:45702024-10-24 05:43:10.611 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {C7AF7104000101} {}, delay 201]

dev:45702024-10-24 05:43:10.609 PMinfoTuya TRV602 setPar: (2) sending parameter orientation (1 (scaledValue=1))

dev:45702024-10-24 05:43:10.608 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=71 fncmd=01 dp_type=04) = [he cmd 0x480B 0x01 0xEF00 0x00 {C7AF7104000101} {}, delay 201]

dev:45702024-10-24 05:43:10.605 PMdebugTuya TRV602 sendTuyaParameter: sending parameter orientation dpValHex 01 (raw=1) Tuya dp=71 dpType=04

dev:45702024-10-24 05:43:10.603 PMdebugTuya TRV602 setPar(orientation, 1)

dev:45702024-10-24 05:43:10.601 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:113, name:orientation, type:enum, rw:rw, defVal:1, map:[0:up, 1:right, 2:down, 3:left], title:Screen Orientation, description:Screen orientation]

dev:45702024-10-24 05:43:10.600 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {EC476F04000101} {}, delay 201]

dev:45702024-10-24 05:43:10.598 PMinfoTuya TRV602 setPar: (2) sending parameter brightness (1 (scaledValue=1))

dev:45702024-10-24 05:43:10.597 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=6F fncmd=01 dp_type=04) = [he cmd 0x480B 0x01 0xEF00 0x00 {EC476F04000101} {}, delay 201]

dev:45702024-10-24 05:43:10.595 PMdebugTuya TRV602 sendTuyaParameter: sending parameter brightness dpValHex 01 (raw=1) Tuya dp=6F dpType=04

dev:45702024-10-24 05:43:10.592 PMdebugTuya TRV602 setPar(brightness, 1)

dev:45702024-10-24 05:43:10.591 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:111, name:brightness, type:enum, rw:rw, defVal:1, map:[0:high, 1:medium, 2:low], title:Display Brightness, description:Display brightness]

dev:45702024-10-24 05:43:10.589 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {AA11100200040000015E} {}, delay 201]

dev:45702024-10-24 05:43:10.588 PMinfoTuya TRV602 setPar: (2) sending parameter maxHeatingSetpoint (35.0 (scaledValue=350))

dev:45702024-10-24 05:43:10.587 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=10 fncmd=0000015E dp_type=02) = [he cmd 0x480B 0x01 0xEF00 0x00 {AA11100200040000015E} {}, delay 201]

dev:45702024-10-24 05:43:10.584 PMdebugTuya TRV602 sendTuyaParameter: sending parameter maxHeatingSetpoint dpValHex 0000015E (raw=350) Tuya dp=10 dpType=02

dev:45702024-10-24 05:43:10.582 PMdebugTuya TRV602 setPar(maxHeatingSetpoint, 35.0)

dev:45702024-10-24 05:43:10.581 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:16, name:maxHeatingSetpoint, type:decimal, rw:rw, min:15.0, max:45.0, defVal:35.0, step:1.0, scale:10, unit:°C, title:Maximum Temperature, description:Maximum temperature]

dev:45702024-10-24 05:43:10.579 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {DB810F02000400000064} {}, delay 201]

dev:45702024-10-24 05:43:10.577 PMinfoTuya TRV602 setPar: (2) sending parameter minHeatingSetpoint (10.0 (scaledValue=100))

dev:45702024-10-24 05:43:10.576 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=0F fncmd=00000064 dp_type=02) = [he cmd 0x480B 0x01 0xEF00 0x00 {DB810F02000400000064} {}, delay 201]

dev:45702024-10-24 05:43:10.574 PMdebugTuya TRV602 sendTuyaParameter: sending parameter minHeatingSetpoint dpValHex 00000064 (raw=100) Tuya dp=0F dpType=02

dev:45702024-10-24 05:43:10.571 PMdebugTuya TRV602 setPar(minHeatingSetpoint, 10.0)

dev:45702024-10-24 05:43:10.570 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:15, name:minHeatingSetpoint, type:decimal, rw:rw, min:5.0, max:15.0, defVal:10.0, step:1.0, scale:10, unit:°C, title:Minimum Temperature, description:Minimum temperature]

dev:45702024-10-24 05:43:10.568 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {09B30C01000100} {}, delay 201]

dev:45702024-10-24 05:43:10.566 PMinfoTuya TRV602 setPar: (2) sending parameter childLock (0 (scaledValue=0))

dev:45702024-10-24 05:43:10.566 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=0C fncmd=00 dp_type=01) = [he cmd 0x480B 0x01 0xEF00 0x00 {09B30C01000100} {}, delay 201]

dev:45702024-10-24 05:43:10.563 PMdebugTuya TRV602 sendTuyaParameter: sending parameter childLock dpValHex 00 (raw=0) Tuya dp=0C dpType=01

dev:45702024-10-24 05:43:10.561 PMdebugTuya TRV602 setPar(childLock, 0)

dev:45702024-10-24 05:43:10.560 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:12, name:childLock, type:enum, dt:01, rw:rw, min:0, max:1, defVal:0, step:1, scale:1, map:[0:off, 1:on], unit:, title:Child Lock, description:Child lock]

dev:45702024-10-24 05:43:10.558 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he cmd 0x480B 0x01 0xEF00 0x00 {41E60801000100} {}, delay 201]

dev:45702024-10-24 05:43:10.556 PMinfoTuya TRV602 setPar: (2) sending parameter windowOpenDetection (0 (scaledValue=0))

dev:45702024-10-24 05:43:10.555 PMdebugTuya TRV602 Tuya TRV602 getTuyaCommand (dp=08 fncmd=00 dp_type=01) = [he cmd 0x480B 0x01 0xEF00 0x00 {41E60801000100} {}, delay 201]

dev:45702024-10-24 05:43:10.552 PMdebugTuya TRV602 sendTuyaParameter: sending parameter windowOpenDetection dpValHex 00 (raw=0) Tuya dp=08 dpType=01

dev:45702024-10-24 05:43:10.549 PMdebugTuya TRV602 setPar(windowOpenDetection, 0)

dev:45702024-10-24 05:43:10.547 PMdebugTuya TRV602 updateAllPreferences: foundMap = [dp:8, name:windowOpenDetection, type:enum, dt:01, rw:rw, min:0, max:1, defVal:0, step:1, scale:1, map:[0:off, 1:on], unit:, title:Window Detection, description:Window detection]

dev:45702024-10-24 05:43:10.508 PMdebugTuya TRV602 updateAllPreferences: preferences=[windowOpenDetection:8, childLock:12, minHeatingSetpoint:15, maxHeatingSetpoint:16, brightness:111, orientation:113, ecoMode:114]

dev:45702024-10-24 05:43:10.507 PMdebugTuya TRV602 updatedThermostat: updateAllPreferences()...

dev:45702024-10-24 05:43:10.507 PMinfoTuya TRV602 updatedThermostat: thermostat polling is disabled!

dev:45702024-10-24 05:43:10.501 PMdebugTuya TRV602 customUpdated: ...

dev:45702024-10-24 05:43:10.500 PMdebugTuya TRV602 deviceHealthCheck is scheduled every 240 minutes

dev:45702024-10-24 05:43:10.486 PMinfoscheduling health check every 240 minutes by Activity check method

dev:45702024-10-24 05:43:10.464 PMinfoTuya TRV602 driver version 3.4.1 2024/10/23 11:52 PM (TS0601 _TZE204_ltwbm23f) (C-8 Pro 2.3.9.196)

dev:45702024-10-24 05:43:10.462 PMinfoTuya TRV602 updated()...

dev:45702024-10-24 05:43:10.446 PMinfoTuya TRV602 sent device configuration

dev:45702024-10-24 05:43:10.445 PMdebugTuya TRV602 configure(): sent cmds = [he raw 0x480B 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200]

dev:45702024-10-24 05:43:10.445 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he raw 0x480B 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200]

dev:45702024-10-24 05:43:10.443 PMdebugTuya TRV602 configureDevice(): cmds=

dev:45702024-10-24 05:43:10.442 PMinfoTuya TRV602 configureDevice...

dev:45702024-10-24 05:43:10.442 PMdebugTuya TRV602 initializeDevice(): cmds=

dev:45702024-10-24 05:43:10.441 PMdebugTuya TRV602 customInitializeDevice: nothing to initialize for device group Tuya_TRV602

dev:45702024-10-24 05:43:10.440 PMinfoTuya TRV602 initializeDevice...

dev:45702024-10-24 05:43:10.440 PMdebugTuya TRV602 aqaraBlackMagic() was SKIPPED

dev:45702024-10-24 05:43:10.437 PMinfoTuya TRV602 tuyaBlackMagic()...

dev:45702024-10-24 05:43:10.435 PMdebugTuya TRV602 configure(): settings: [voltageToPercent:false, batteryDelay:0, ignoreDuplicated:true, alwaysOn:false, threeStateEnable:false, txtEnable:true, logEnable:true, advancedOptions:true, healthCheckMethod:1, healthCheckInterval:240, traceEnable:false, antiFreeze:0, limescaleProtect:0, calibrationTemp:-2.0, forcedProfile:Tuya TRV602, temperaturePollingInterval:0, windowOpenDetection:0, childLock:0, minHeatingSetpoint:10.0, maxHeatingSetpoint:35.0, brightness:1, orientation:1, ecoMode:0]

dev:45702024-10-24 05:43:10.434 PMinfoTuya TRV602 configure()... cfgCtr=1

dev:45702024-10-24 05:43:10.429 PMinfoTuya TRV602 supportedThermostatModes: [off, heat, auto, emergency heat, eco]

dev:45702024-10-24 05:43:10.428 PMdebugTuya TRV602 thermostatInitEvents()... fullInit = true

dev:45702024-10-24 05:43:10.427 PMdebugTuya TRV602 customInitEvents(true)

dev:45702024-10-24 05:43:10.425 PMinfoTuya TRV602 Preferences reset to default values

dev:45702024-10-24 05:43:10.406 PMdebugTuya TRV602 resetPreferencesToDefaults: DEVICE=Tuya TRV602 preferences=[windowOpenDetection:8, childLock:12, minHeatingSetpoint:15, maxHeatingSetpoint:16, brightness:111, orientation:113, ecoMode:114]

dev:45702024-10-24 05:43:10.403 PMdebugTuya TRV602 thermostatInitializeVars()... fullInit = true

dev:45702024-10-24 05:43:10.403 PMdebugTuya TRV602 customInitializeVars(true)

dev:45702024-10-24 05:43:10.401 PMdebugTuya TRV602 initEventsDeviceProfile(true) for deviceProfile=Tuya_TRV602 DEVICE?.device?.powerSource=battery ps.isEmpty()=false

dev:45702024-10-24 05:43:10.400 PMdebugTuya TRV602 deviceProfileInitializeVars(true)

dev:45702024-10-24 05:43:10.396 PMdebugTuya TRV602 onOfInitializeVars()... fullInit = true

dev:45702024-10-24 05:43:10.392 PMdebugTuya TRV602 batteryInitializeVars()... fullInit = true

dev:45702024-10-24 05:43:10.391 PMwarnTuya TRV602} healthStatus changed to unknown

dev:45702024-10-24 05:43:10.372 PMinfoTuya TRV602 Initialized

dev:45702024-10-24 05:43:10.372 PMinfoTuya TRV602 DEVICE_TYPE = Thermostat

dev:45702024-10-24 05:43:10.371 PMinfoTuya TRV602 all states and scheduled jobs cleared!

dev:45702024-10-24 05:43:10.370 PMinfoTuya TRV602 device model TS0601 manufacturer _TZE204_ltwbm23f was set to : deviceProfile=Tuya_TRV602 : deviceName=Tuya TRV602

dev:45702024-10-24 05:43:10.356 PMdebugTuya TRV602 found exact match for model TS0601 manufacturer _TZE204_ltwbm23f : profileName=Tuya_TRV602 deviceName =Tuya TRV602

dev:45702024-10-24 05:43:10.349 PMdebugTuya TRV602 resetStats...

dev:45702024-10-24 05:43:10.342 PMdebugTuya TRV602 InitializeVars()... fullInit = true

dev:45702024-10-24 05:43:10.341 PMinfoTuya TRV602 initializing device powerSource 'unknown'

dev:45702024-10-24 05:43:10.340 PMinfoTuya TRV602 initialize()... initCtr=1

dev:45702024-10-24 05:43:10.324 PMinfoTuya TRV602 All child devices DELETED

dev:45702024-10-24 05:43:10.322 PMinfoTuya TRV602 All States DELETED

dev:45702024-10-24 05:43:10.321 PMdebugTuya TRV602 Deleted states: deviceProfile, deviceType, lastTx, lastThermostatMode, lastRx, lastThermostatOperatingState, stats, driverVersion, health, lastHeatingSetpoint, states,

dev:45702024-10-24 05:43:10.318 PMinfoTuya TRV602 All scheduled jobs DELETED

dev:45702024-10-24 05:43:10.309 PMinfoTuya TRV602 All current states (attributes) DELETED

dev:45702024-10-24 05:43:10.307 PMdebugTuya TRV602 Deleted attributes: thermostatOperatingState, faultAlarm, level, switch, emergencyHeating, batteryVoltage, powerSource, windowsState, awayPresetTemperature, ecoTemp, lastBattery, thermostatMode, Status, supportedThermostatModes, calibrationTemp, thermostatFanMode, heatingSetpoint, temperature, hysteresis, maxHeatingSetpoint, temperature, childLock, ecoMode, batteryLowAlarm, valveDetection, calibrated, windowOpenDetection, emergencyHeatingTime, thermostatMode, battery, coolingSetpoint, supportedThermostatFanModes, preset, checkInterval, thermostatOperatingState, frostProtectionTemperature, thermostatSetpoint, sensor, switch, valveAlarm, floorTemperature, weeklyProgram, antiFreeze, minHeatingSetpoint, rtt, boostTime, thermostatFanMode, systemMode, thermostatSetpoint, coolingSetpoint, healthStatus, batteryVoltage, heatingSetpoint,

dev:45702024-10-24 05:43:10.140 PMinfoTuya TRV602 All settings (preferences) DELETED

dev:45702024-10-24 05:43:10.138 PMdebugTuya TRV602 Deleted settings: voltageToPercent (false), batteryDelay (0), ignoreDuplicated (true), alwaysOn (false), threeStateEnable (false), txtEnable (true), logEnable (true), advancedOptions (true), healthCheckMethod (1), healthCheckInterval (240), traceEnable (false), antiFreeze (0), limescaleProtect (0), calibrationTemp (-2.0), forcedProfile (Tuya TRV602), temperaturePollingInterval (0), windowOpenDetection (0), childLock (0), minHeatingSetpoint (10.0), maxHeatingSetpoint (35.0), brightness (1), orientation (1), ecoMode (0),

dev:45702024-10-24 05:43:10.117 PMdebugTuya TRV602 loadAllDefaults() !!!

dev:45702024-10-24 05:43:10.116 PMinfoTuya TRV602 configure(*** LOAD ALL DEFAULTS ***)...

Obviously, this device is very different from the 'TS0602' model....

I will create a new device profile, based on the AVATTO_TRV06_TRV16_ME167_ME168_TRV. Initially, the only difference will be to invert the thermostat Operating State.

1 Like

Ah yes, I quoted the model number written on the box/packaging :thinking:.
Thanks again!

On the box/packaging, you will see what the drop shipper has ordered to be printed from the supplier company .. :slight_smile:

1 Like

Can you take a picture of what you actually received? I think this is the 7th variation of the different TRV models sold by this dropshipper, and it is none of the six different devices listed on their site :

Is it easy to remove and re-insert the batteries? With Debug logging enabled, do you see a lot of debug logs at the time when the TRV is powered on?

Also, if you go to the TRV settings menu and change something manually (using the TRV knob), do you see a lot of debug logs following the end of the manual parameters setup procedure?

(use the AVATTO_TRV06_TRV16_ME167_ME168_TRV profile for the tests)

1 Like

See below.
Battery compartment very easy to open and batteries are easy to insert/remove.


1 Like

Not a lot of debug logs when turning the knob (hope I did this correctly?)...

Logs

dev:45702024-10-24 10:19:17.970 PMinfoTuya TRV602 Round-trip time is 1032 ms (min=589 max=1031 average=633)

dev:45702024-10-24 10:19:17.968 PMdebugTuya TRV602 parse: descMap = [raw:78FA0100000A0100204A, dni:78FA, endpoint:01, cluster:0000, size:0A, attrId:0001, encoding:20, command:01, value:4A, clusterInt:0, attrInt:1] description=read attr - raw: 78FA0100000A0100204A, dni: 78FA, endpoint: 01, cluster: 0000, size: 0A, attrId: 0001, encoding: 20, command: 01, value: 4A

dev:45702024-10-24 10:19:16.964 PMdebugTuya TRV602 no refresh() commands defined for device type Thermostat

dev:45702024-10-24 10:19:16.962 PMdebugTuya TRV602 no customRefresh method defined

dev:45702024-10-24 10:19:16.960 PMdebugTuya TRV602 customRefresh:

dev:45702024-10-24 10:19:16.958 PMdebugTuya TRV602 ping...

dev:45702024-10-24 10:19:16.956 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he raw 0x78FA 1 0x01 0x0000 {10 00 00 01 00}]

dev:45702024-10-24 10:19:16.942 PMdebugTuya TRV602 sendDigitalEventIfNeeded: lastEventState level is null, skipping

dev:45702024-10-24 10:19:16.939 PMinfoTuya TRV602 heatingSetpoint is 16.5 °C [digital]

dev:45702024-10-24 10:19:16.937 PMdebugTuya TRV602 pollTuya: heatingSetpoint was sent more than 0 seconds ago (0h 0m 3s), sending digital event

dev:45702024-10-24 10:19:16.935 PMdebugTuya TRV602 getElapsedTimeFromEventInSeconds: eventName = heatingSetpoint lastEventState = com.hubitat.hub.domain.State@850df0[dataType=NUMBER,date=Thu Oct 24 22:19:13 BST 2024,deviceId=4570,id=,name=heatingSetpoint,unit=°C,value=16.5]

dev:45702024-10-24 10:19:16.933 PMinfoTuya TRV602 temperature is 27.6 °C [digital]

dev:45702024-10-24 10:19:16.931 PMdebugTuya TRV602 pollTuya: temperature was sent more than 0 seconds ago (0h 0m 3s), sending digital event

dev:45702024-10-24 10:19:16.929 PMdebugTuya TRV602 getElapsedTimeFromEventInSeconds: eventName = temperature lastEventState = com.hubitat.hub.domain.State@2db016[dataType=NUMBER,date=Thu Oct 24 22:19:13 BST 2024,deviceId=4570,id=,name=temperature,unit=°C,value=27.6]

dev:45702024-10-24 10:19:16.927 PMdebugTuya TRV602 pollTuya() called!

dev:45702024-10-24 10:19:16.925 PMdebugTuya TRV602 refreshFromDeviceProfileList()

dev:45702024-10-24 10:19:16.924 PMdebugTuya TRV602 refresh()... DEVICE_TYPE is Thermostat model=TS0601 manufacturer=_TZE204_ltwbm23f

dev:45702024-10-24 10:19:13.751 PMinfoTuya TRV602 Round-trip time is 591 ms (min=589 max=589 average=589)

dev:45702024-10-24 10:19:13.747 PMdebugTuya TRV602 parse: descMap = [raw:78FA0100000A0100204A, dni:78FA, endpoint:01, cluster:0000, size:0A, attrId:0001, encoding:20, command:01, value:4A, clusterInt:0, attrInt:1] description=read attr - raw: 78FA0100000A0100204A, dni: 78FA, endpoint: 01, cluster: 0000, size: 0A, attrId: 0001, encoding: 20, command: 01, value: 4A

dev:45702024-10-24 10:19:13.665 PMwarnTuya TRV602 NOT PROCESSED Tuya cmd: dp=114 value=0 descMap.data = [00, 4A, 05, 02, 00, 04, 00, 00, 01, 14, 03, 04, 00, 01, 00, 72, 02, 00, 04, 00, 00, 00, 00]

dev:45702024-10-24 10:19:13.664 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=114 (0x72) fncmd=0 fncmd_len=4 (index=13)

dev:45702024-10-24 10:19:13.663 PMinfoTuya TRV602 thermostatOperatingState is heating (raw:0)

dev:45702024-10-24 10:19:13.661 PMdebugTuya TRV602 event thermostatOperatingState sent w/ value heating

dev:45702024-10-24 10:19:13.653 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=3 (0x03) fncmd=0 fncmd_len=1 (index=8)

dev:45702024-10-24 10:19:13.646 PMinfoTuya TRV602 temperature is 27.6 °C

dev:45702024-10-24 10:19:13.641 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=5 (0x05) fncmd=276 fncmd_len=4 (index=0)

dev:45702024-10-24 10:19:13.638 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004A050200040000011403040001007202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 4A, 05, 02, 00, 04, 00, 00, 01, 14, 03, 04, 00, 01, 00, 72, 02, 00, 04, 00, 00, 00, 00]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004A050200040000011403040001007202000400000000

dev:45702024-10-24 10:19:13.182 PMdebugTuya TRV602 no refresh() commands defined for device type Thermostat

dev:45702024-10-24 10:19:13.181 PMdebugTuya TRV602 no customRefresh method defined

dev:45702024-10-24 10:19:13.179 PMdebugTuya TRV602 customRefresh:

dev:45702024-10-24 10:19:13.177 PMdebugTuya TRV602 ping...

dev:45702024-10-24 10:19:13.175 PMdebugTuya TRV602 sendZigbeeCommands: sent cmd=[he raw 0x78FA 1 0x01 0x0000 {10 00 00 01 00}]

dev:45702024-10-24 10:19:13.165 PMdebugTuya TRV602 sendDigitalEventIfNeeded: lastEventState level is null, skipping

dev:45702024-10-24 10:19:13.163 PMinfoTuya TRV602 heatingSetpoint is 16.5 °C [digital]

dev:45702024-10-24 10:19:13.160 PMdebugTuya TRV602 pollTuya: heatingSetpoint was sent more than 0 seconds ago (0h 0m 3s), sending digital event

dev:45702024-10-24 10:19:13.158 PMdebugTuya TRV602 getElapsedTimeFromEventInSeconds: eventName = heatingSetpoint lastEventState = com.hubitat.hub.domain.State@111fbad[dataType=NUMBER,date=Thu Oct 24 22:19:09 BST 2024,deviceId=4570,id=,name=heatingSetpoint,unit=°C,value=16.5]

dev:45702024-10-24 10:19:13.156 PMinfoTuya TRV602 temperature is 27.5 °C [digital]

dev:45702024-10-24 10:19:13.153 PMdebugTuya TRV602 pollTuya: temperature was sent more than 0 seconds ago (0h 0m 26s), sending digital event

dev:45702024-10-24 10:19:13.151 PMdebugTuya TRV602 getElapsedTimeFromEventInSeconds: eventName = temperature lastEventState = com.hubitat.hub.domain.State@85bc54[dataType=NUMBER,date=Thu Oct 24 22:18:46 BST 2024,deviceId=4570,id=,name=temperature,unit=°C,value=27.5]

dev:45702024-10-24 10:19:13.149 PMdebugTuya TRV602 pollTuya() called!

dev:45702024-10-24 10:19:13.147 PMdebugTuya TRV602 refreshFromDeviceProfileList()

dev:45702024-10-24 10:19:13.144 PMdebugTuya TRV602 refresh()... DEVICE_TYPE is Thermostat model=TS0601 manufacturer=_TZE204_ltwbm23f

dev:45702024-10-24 10:19:09.605 PMdebugTuya TRV602 sending event [name:thermostatSetpoint, value:16.5, unit:°C, type:physical, descriptionText:heatingSetpoint is 16.5]

dev:45702024-10-24 10:19:09.603 PMinfoTuya TRV602 heatingSetpoint is 16.5

dev:45702024-10-24 10:19:09.600 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=4 (0x04) fncmd=165 fncmd_len=4 (index=0)

dev:45702024-10-24 10:19:09.598 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004904020004000000A5, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 49, 04, 02, 00, 04, 00, 00, 00, A5]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004904020004000000A5

dev:45702024-10-24 10:19:04.838 PMdebugTuya TRV602 sending event [name:thermostatSetpoint, value:30.0, unit:°C, type:physical, descriptionText:heatingSetpoint is 30.0]

dev:45702024-10-24 10:19:04.837 PMinfoTuya TRV602 heatingSetpoint is 30.0

dev:45702024-10-24 10:19:04.834 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=4 (0x04) fncmd=300 fncmd_len=4 (index=5)

dev:45702024-10-24 10:19:04.832 PMdebugTuya TRV602 thermostatMode is unknown (raw:3) (no change)

dev:45702024-10-24 10:19:04.830 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=2 (0x02) fncmd=3 fncmd_len=1 (index=0)

dev:45702024-10-24 10:19:04.828 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00480204000103040200040000012C, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 48, 02, 04, 00, 01, 03, 04, 02, 00, 04, 00, 00, 01, 2C]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00480204000103040200040000012C

dev:45702024-10-24 10:18:46.740 PMwarnTuya TRV602 NOT PROCESSED Tuya cmd: dp=114 value=1000 descMap.data = [00, 47, 05, 02, 00, 04, 00, 00, 01, 13, 03, 04, 00, 01, 01, 72, 02, 00, 04, 00, 00, 03, E8]

dev:45702024-10-24 10:18:46.739 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=114 (0x72) fncmd=1000 fncmd_len=4 (index=13)

dev:45702024-10-24 10:18:46.737 PMinfoTuya TRV602 thermostatOperatingState is idle (raw:1)

dev:45702024-10-24 10:18:46.735 PMdebugTuya TRV602 event thermostatOperatingState sent w/ value idle

dev:45702024-10-24 10:18:46.732 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=3 (0x03) fncmd=1 fncmd_len=1 (index=8)

dev:45702024-10-24 10:18:46.723 PMinfoTuya TRV602 temperature is 27.5 °C

dev:45702024-10-24 10:18:46.719 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=5 (0x05) fncmd=275 fncmd_len=4 (index=0)

dev:45702024-10-24 10:18:46.716 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00470502000400000113030400010172020004000003E8, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 47, 05, 02, 00, 04, 00, 00, 01, 13, 03, 04, 00, 01, 01, 72, 02, 00, 04, 00, 00, 03, E8]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00470502000400000113030400010172020004000003E8

dev:45702024-10-24 10:18:41.699 PMdebugTuya TRV602 thermostatMode is unknown (raw:5) (no change)

dev:45702024-10-24 10:18:41.696 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=2 (0x02) fncmd=5 fncmd_len=1 (index=0)

dev:45702024-10-24 10:18:41.694 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00460204000105, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 46, 02, 04, 00, 01, 05]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00460204000105

dev:45702024-10-24 10:18:38.010 PMinfoTuya TRV602 thermostatMode is unknown (raw:3)

dev:45702024-10-24 10:18:38.007 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=2 (0x02) fncmd=3 fncmd_len=1 (index=0)

dev:45702024-10-24 10:18:38.005 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00450204000103, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 45, 02, 04, 00, 01, 03]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00450204000103

dev:45702024-10-24 10:18:36.882 PMinfoTuya TRV602 thermostatMode is off (raw:2)

dev:45702024-10-24 10:18:36.879 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=2 (0x02) fncmd=2 fncmd_len=1 (index=0)

dev:45702024-10-24 10:18:36.876 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00440204000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 44, 02, 04, 00, 01, 02]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 00440204000102

dev:45702024-10-24 10:18:34.809 PMdebugTuya TRV602 sending event [name:thermostatSetpoint, value:5.0, unit:°C, type:physical, descriptionText:heatingSetpoint is 5.0]

dev:45702024-10-24 10:18:34.808 PMinfoTuya TRV602 heatingSetpoint is 5.0

dev:45702024-10-24 10:18:34.806 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=2 dp=4 (0x04) fncmd=50 fncmd_len=4 (index=5)

dev:45702024-10-24 10:18:34.804 PMinfoTuya TRV602 thermostatMode is heat (raw:1)

dev:45702024-10-24 10:18:34.794 PMdebugTuya TRV602 standardParseTuyaCluster: command=02 dp_id=4 dp=2 (0x02) fncmd=1 fncmd_len=1 (index=0)

dev:45702024-10-24 10:18:34.792 PMdebugTuya TRV602 parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004302040001010402000400000032, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:78FA, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 43, 02, 04, 00, 01, 01, 04, 02, 00, 04, 00, 00, 00, 32]] description=catchall: 0104 EF00 01 01 0040 00 78FA 01 00 0000 02 01 004302040001010402000400000032

dev:45702024-10-24 10:18:32.922 PMinfoTuya TRV602 thermostatMode is auto (raw:0)