[RELEASE] Tuya Wall Mount Thermostat (Water/Electric Floor Heating) Zigbee driver

@kkossev For my issue with the BSEED, I've taken the liberty of raising a bug on github, to separate it from the issue you're working on with @BrunoVoeten in this thread. I did a little more digging and have pasted some interesting debug logs in that bug. The driver is working well enough for my use case, so please don't treat this bug as a priority unless you think it affects other users too :slight_smile:

1 Like

@user2669 tracking the issue in Github is even better for me! I will reply there when I have a chance in the next days.

The most important for a thermostat driver is to work reliably - as much, as the thermostat firmware allows. So for me the biggest question is whether there are situations where a command from HE to the device is not accepted. But let's first fix the correct on/auto/manual reporting.

BTW, I now think that the 'auto' mode which corresponds to Tuya 'scheduled' mode does not make any sense to be supported in the driver. Especially for the BEOK model, which doesn't show the correct local time when used outside of China. So the 'auto' capability could be removed and leave only 'off' and 'heat' (aka 'manual' mode).

1 Like

@kkossev,

I am using your driver for some Zigbee TRV's purchased from Aliexpress.
It seems to be working correctly.
I have tested it manually to see if the setpoint triggers heating ON and OFF.
I can't understand why the setpoint has to be 2 degrees lower than the room temperature in order to turn off the heating?
Please see logs below, please review when you can, no rush. Thanks

Controller type and states


image
image

Preferences


Logs


Thermostat Scheduler & rules (paused for testing)


1 Like

@iEnam the only logical explanation is that the 'temperature calibration is not working correctly in the driver. Your current setting is 0 (no 'calibration', i.e. no offset of the temperature reading). Have you tried changing this parameter + or - 1 or 2 degrees?

There is a hysteresis of 1 degree between the set temperature and the temperature when the TRV starts to open the valve (I think there were 4 open positions - 25, 50, 75, and 100%). If you change the calibration/offset temperature value from the driver, you can verify if the new setting was accepted from the TRV touch screen - refer to the instructions that should have come with the device. There was a table explaining the meaning of the parameters.

1 Like

@kkossev,
Thanks for your explanation.
Unfortunately, changing the temp calibration has no effect, tried +/- 1 to 2 degrees. Heating still goes idle -2 from the setpoint temp.
I cannot see how to check if the calibration/offset settings are accepted on the TRV screen, will need to review this again.

EDIT1:
I have found the table, will check the dead zone temp on the TRV when I get home this evening.

EDIT2:
Temp calibration = A1 (local/room temp)
Temp calibration can be changed manually on TRV but driver does not work.

Hysteresis = A9 (dead zone temp)
Not sure how to test this properly, could not see any difference when changing both on the TRV and the driver?

Moes BRT-100 TRV

image

On my device the time is +1 hour than the actual time

Version 1.2.6 was pushed for update via HPM. There are a lot of changes related to BEOK _TZE200_2ekuz3dz specific functionalities support, many thanks to @BrunoVoeten for the cooperation and the patience during the bug fixes : )

2 Likes

@kkossev
Just wondering if there will be any further updates for BRT-100 TRV with regards to temp calibration not accepted by driver and also possible hystersis or similar issue where the heating
setpoint needs to be +/- 2degrees greater than room temp to turn on/off heating and go to idle mode.

Please see below some observations with current drivers:

driverVersion : 1.2.6 2022/10/16 10:46 AM
thermostatOperatingState: heating = 1 deg > room temp
thermostatOperatingState: idle = 2 deg < room temp

driverVersion : 1.2.4 2022/09/28 10:11 PM
thermostatOperatingState: heating = 2 deg > room temp
thermostatOperatingState: idle = 2 deg < room temp

Also, not sure if rule machine can be used to compensate for these offsets or not?

Thanks again.

1 Like

Hi @iEnam ,
I have reviewed the current code for BRT-100 ( _TZE200_b6wax7g0 ) and applied some fixes.
Please update to the dev. branch "1.2.6" timeStamp "2022/10/18 8:33 PM". As I am not sure whether it is working before, please retest again the following settings:

  • A1 (temperature compensation) - preference named "Temperature Calibration", 1 deg. step +/-
  • A5 (min. temp) - preference named Minimum Temperature , 1 deg. step
  • A6 (max. temp) - preference named Maximum Temperature, 1 deg. step

After you change these parameters values from the driver web page and press Save, check from the TRV touch panel whether the new values are accepted.

You can adjust the temperature calibration parameter (the offset of the temperature as measured by the TRV) to adjust +/- the real room temperature that the TRV measures.

1 Like

@kkossev
Thank you for the quick update.
I can confirm the following (A1, A5 and A6 work from driver; A9 does not work from driver):

  • A1 - temp compensation now working - room temp can be adjusted if required (default -2 seems to be about right)

  • A5 / A6 - min and max temp working correctly

  • A9 dead zone temp (hysteresis) is not working from driver, can only be changed on TRV

Not sure if you can make further changes to A9, and not sure why the manufacturer has not specified a dead zone value of 0.0?

Dead zone/hysteresis value of 0.5:
Heating ON = 1 deg higher than room temp - this is fine
Idle = 2 deg below room temp - this is not ideal

Dead zone/hysteresis value of 3.0:
Heating ON = 3 deg higher than room temp
turn Idle = 2deg below room temp

1 Like

@iEnam you are right, the A9 parameter dead zone temp (hysteresis) is not available from the Zigbee interface for BRT-100, it can be changed only from the TRV panel. In the last update, I have hidden this parameter for BRT-100 to avoid confusion.

To my knowledge, all thermostats have a dead zone / hysteresis different than zero. This is done to avoid too frequent switching on/off and also decreases the regulated temperature oscillation. The change of the room temperature is a slow process and if the deadzone is too low, the overshooting may be bigger.

1 Like

Thanks for the explanation, I will have to adapt the setpoint with this offset in mind.
Also, please check the min and max temp ranges for A5 and A6, for example min max temp input accepted is 35 instead of 15.
Thanks again

Summary

1 Like

Changed the maximum temperature lower limit to 15, although for the other types of thermostats the settings ranges are different. Ideally, the limits for the parameters should be dynamically changed depending on the particular device model/group, hope will have the time to implement it in the future.

When the winter season comes, will be interesting to compare the temperature regulation precision between these Tuya thermostats and the Eurotronic Z-Wave thermostats that I actually used for the last 2 years. The TRVs and the automations saved more than 30% of my heating bills compared to the previous years when I was using dumb thermostats! : )

1 Like

Hi,

The "Presence" attribute is available, should it already work (presence --> not precence or is it a work in progress?

Hi Bruno!

Yes, the presence should be already working. If there is nothing received from the thermostat for 4 or more hours, the "presence" attribute should change to "not present".

image

I hope that during the incoming weekend I will finish whatever remained in this driver.

EDIT: just noticed for one of my 2 thermostats the 'pollPresence' periodic scheduled job was not running by some reason - so one more item in the check list!

1 Like

I confirm, there is 1 thermostat offline but still present

1 Like

@kkossev,
Could you please advise what the warnings below mean?


Thanks

@kkossev
Is it possible to add "setBrightness" to the states?
For example, if you touch the temp on the device and the setBrightness is OFF, set the Brightness to low.
The setBrightness is not available in the conditions

@BrunoVoeten Yes, this makes sense! Will add it in the next update.

@iEnam I have changed this log level from 'warning' to 'debug' in the latest dev. branch. It will be visible only when the Debug logging preference is turned on. I don't know what is the meaning of this Tuya message, but it is something informative that does not affect the normal operation.

2 Likes

@kkossev I have played with the brightness function, do you have suggestions to make it better?
2 rules, "Force Manual Mode" is ON

image

The only annoying thing is commands are not always received (or send?) even when "Resend failed commands is ON", that makes the device "unpredictable"