Strange behavior setting temp z-wave

Hi there, I have a strange behavior I can't figure out with setting temp. I can only set odd numbers like 23.5, 24.5 and so on but not even temp like 24.0, 25.0

Here is the code :

def setHeatingSetpoint(double degrees) {
logger("debug", "setHeatingSetpoint() - degrees: ${degrees}")
return delayBetween([
secureCmd(zwave.thermostatSetpointV2.thermostatSetpointSet(setpointType: hubitat.zwave.commands.thermostatsetpointv1.ThermostatSetpointSet.SETPOINT_TYPE_HEATING_1, scale: (location.temperatureScale=="F"?1:0), precision: 0, scaledValue: degrees)),
secureCmd(zwave.thermostatSetpointV2.thermostatSetpointGet(setpointType: hubitat.zwave.commands.thermostatsetpointv2.ThermostatSetpointGet.SETPOINT_TYPE_HEATING_1))
], 300)
}

Log from setting the temp to 24.0
2020-11-29 21:05:43.176 debug Floor Heating parse() - parsed to cmd: ThermostatSetpointReport(setpointType:1, precision:1, scale:0, size:2, value:[0, 250], scaledValue:25.0) with result: null
dev:4062020-11-29 21:05:43.172 info Floor Heating Thermostat Setpoint: 25.0 °C
dev:4062020-11-29 21:05:43.167 debug Floor Heating parse() - description: 'zw device: 0B, command: 4303, payload: 01 22 00 FA , isMulticast: false'
dev:4062020-11-29 21:05:42.490 debug Floor Heating setHeatingSetpoint() - degrees: 24.0

Log from setting temp to 24.5

dev:4062020-11-29 21:07:55.545 info Floor Heating Thermostat Setpoint: 24.5 °C
dev:4062020-11-29 21:07:55.489 debug Floor Heating parse() - description: 'zw device: 0B, command: 6C01, payload: 2F 06 43 03 01 22 00 F5 , isMulticast: false'
dev:4062020-11-29 21:07:54.866 debug Floor Heating setHeatingSetpoint() - degrees: 24.5

I have noticed the payload is shorter when setting even temp 24.0.

Hubitat Firmware version: 2.2.4.148

Have anyone seen this behavior before ?

Thanks