I have a bunch of these thermostats that work great in ZHA except for the temperature calibration. I can change (supposedly) the calibration from -6 to 6ºC but only in 1ºC increments. And when I apply 1ºC it only applies 0.1ºC.
I don’t have the quirks file, but I was curious so I took a look at the quirks file your device is using. Basically, the issue is that what is shown to you in ZHA and what the code actually does is a difference of 10x the value.
Looks like you only need to make a change in a single line in this file to get it to actually calibrate by 1 degree.
if attribute == "occupied_heating_setpoint":
# centidegree to decidegree
return {SITERWELL_TARGET_TEMP_ATTR: round(value / 10)}
That (value/10) is your issue. Remove that (or change that to value/1) in your custom quirk & it should work like you expect it.
This looks like the problematic part. If I change that min and max value to 6.0 and -6.0, the step to 0.1 and remove the type t.int32s would the problem be fixed? Or leave it as int32 but increase the max and min and use a converter. Or is this a device limitation?
How would i go about creating a simple quirk to fix just this?
In my calibration scripts I just take into account that the value is x10 and that is fine.
I copied the whole file to my quirks folder, is there a way to include only this change and leave the rest of the device description in the default location?
First things first - ignore my previous advice from yesterday. I pointed you to the wrong file and the wrong attribute
The file you pointed to should be the correct one.
You should be able to use the original values in that part of the file and simply add multiplier=1 (or 10 if that still doesn’t work). The multiplier is being used to override other number values in that file, so should work.
If it doesn’t and you decide to go for changes to the min & max value, I would recommend you use -60 & 60. That way you’ll stay within the known working range for the device & avoid errors.
I’m not sure if you can. There’s other important code in that file which is required.
At the very least, you’d need everything between rows 655-845 (and probably the first 163 rows).
Hopefully someone with more up to date knowledge will chime in. I haven’t needed to mess with ZHA quirks for over 5 years, so I don’t remember, sorry.