When you are using ZHA, you can also set the local temperature calibration.
Go to the device and then select “Manage zigbee device” (click the three dots next to “Reconfigure device”).
Have you actually tried that? For me, there is no “Thermostat” cluster. It only has “MoesBHTThermostat” and as described in this thread, the calibration is not working as expected.
I do not have this TRV specifically, I have also another one which has a modified Thermostat cluster.
I guess that your MoesBHTThermostat is cluster 0x0201, which means that it is the “Moes quirk” for this cluster .
So the manufacturer cluster quirk is different: and does not propose a local_temperature_calibration either.
Assuming that this converter file of Z2M is applicable to this valve, then tuya attribute 104 seems interesting info regarding the temperature calibration, but it needs to be “mapped” to the ZHA quirk.
Yeah, so this is bollocks. I am by no means a novice, but the whole thing about clusters, quirks and whatnot completely goes over my head and I don’t have the time to educate myself about all this.
So I’ll be switching to zigbee2mqtt - there it is really easy to configure the thermostats - also activating the external temp sensor:
So it seems to me that you can only set values without any decimal places (so only full integers) in zigbee2mqtt: When I try to set a value like -0.2 or -0,2 the UI goes nuts. Did you experience the same?
Also switched to z2m because of the lack of trv support of zha. Don’t know why but its should be focused because of current energy crisis. z2m is more responsive but entities stay in last state when there is an connection timeout. because its an addon a home assistant restart doesnt restart z2m so there is no additional loading time. The main downside of z2m is it has problems with newer dongles like skyConnect or sonoff dongle-e.
Where do you set the external temperature sensor? Can’t find it even not in your screenshot.
Yes, only a few whole numbers were working for me, even though the implementation looks like fractions should be fine as well.
I feel the same for the first part: it’s a very complicated topic, especially when manufacturers are not adhering to Zigbee standards. In a community-driven approach though, there is nothing else left for us other than investing the time to get smart enough and fix the errors, or finding workarounds.
i have several TZE200. (_TZE200_c88teujp and _TZE200_yw7cahqs) i downloaded the updatet quirk (Add temperature calibration for Tuya TZE200 c88teujp) and enabled custom quirks.
Temperatures are dropping again, so I gave this another go. Still no success though. With ZHA toolkit I confirmed this is how you can set the target temperature to 22°C:
Browsing through the source code you see moesHeatingSetpoint: 16, which is 0x10 and found at the last two hex-digits in the attribute.
The calibration parameter is found to be moesTempCalibration: 27 which translates to 0x1b. Same for x5hTempCorrection: 27 which was refered to by @benpr in the zigbee-herdman-converter code.
So my best guess was sending
attribute: 0x021b
value: 2
No luck… So again I ended up running through the house with my old dusty Raspberry, kicking out all devices from ZHA, connecting them to Z2M, tuning the calibration to -4 (must have been a sensor drift during the summer), removing from Z2M and reconnecting to ZHA. Enjoy the winter!
Came across this thread searching for solution to same problem with a Moes BHT thermostat.
For anyone coming after or those in thread still looking for a fix, I found a solution on github that works for me:
Enable custom quirks in ZHA by adding the following to config.yaml
And then download ts0601_thermostat_avatto.py and place it in the custom quirks directory, then restart home assistant or reload zha integration.
Confirm it is working by checking the quirk listed under zigbee info for device. You should also see new device controls.
Using this I was able to set the temperature calibration. I only seem to be able to set it by whole degrees and not fractions but better than nothing.
It also exposes the min & max heat setpoints although I have not tested those.
Added bonus it fixes the clock on the thermostat which previously for me constantly drifted out of sync.
edit: min & max setpoints do not work for me with this quirk. but temperature calibration is working well. a switch is also exposed which I believe sets the lock on the thermostat controls.
Huge thanks for that link - the quirk works like a charm! The synced clock is the icing on the cake
Min & max setpoint is not important for me, so I am very happy with the solution.