Hi, i had the same issue with the calibration / offset slider and a blueprint i’m using. I modified the quirk (trv_saswell.py) a bit to make it work but just be aware i’m just testing this right now and it might not be the best solution
The first slider from -6 to 6 for the calibration value with step size 1 does only accept int values.
entity: number.<entityname>_nummer_temperature_calibration
The second slider from -2.5 to 2.5 for the offset value with step size 0.1 does accept float values.
entity: number.<entityname>_lokaler_temperatur_offset
What i observed was the AHC (Advanced Heat Control) blueprint was setting the calibartion value for my thermostat to “out of range” and very high values like -25°C (instead the offset of -2.5°C). In the Home Assistant web interface it was always shown as -6 for the slider but only because this is the limit for the slider and not the limit for the values the calibration can be set to.
I modified the quirk code at two points (experimental!):
class SaswellManufCluster (line below commented out original line)
DIRECT_MAPPED_ATTRS = {
SASWELL_ROOM_TEMP_ATTR: ("local_temperature", lambda value: value * 10),
SASWELL_TARGET_TEMP_ATTR: (
"occupied_heating_setpoint",
lambda value: value * 10,
),
#SASWELL_TEMP_CORRECTION_ATTR: ("local_temperature_calibration", None),
SASWELL_TEMP_CORRECTION_ATTR: ("local_temperature_calibration", lambda value: round(value * 10)),
}
class SaswellThermostatCluster (line below commented out original line)
DIRECT_MAPPING_ATTRS = {
"local_temperature_calibration": (
SASWELL_TEMP_CORRECTION_ATTR,
#lambda value: value,
lambda value: round(value / 10),
),
"occupied_heating_setpoint": (
SASWELL_TARGET_TEMP_ATTR,
lambda value: round(value / 10),
),
}
With this modification the calibration value of the thermostat is always corrected and rounded and vice versa for the offset value. So both sliders match and are in the limits of the thermostats calibration range.
I had to multiply and divide by 10 because otherwise the values do not match up. I don’t completely understand whats wrong here (or just caused by the blueprint) i just “fixed” (i’m not familiar with coding for home assistant) the problem for me So please take this with some precausion it might break things (or not). I have to see if this modification does the job for me or not.