Is there any way to set increment/decrement amount of heatingSetpoint in new app?

I’ve written my own DTH with vid: “general-radiator-thermostat” with my radiator, which has setpoint of 1 degree increment/decrement in celcius.

The vid worked as 1 degree before. but from some time, it changed to 0.5 degree.
Is there any way to change the amount of increment/decrement of heatingSetpoint?

The problem is…
If the thermostat set point is set to 23’ and if I press (+) button in the new app,
then it triggers setHeatingSetpoint(23.5).
Since my thermostat only accepts 1 degree increment, it needs to be changed into integer.
So, it is changed to ((23.5) as int) = 23, which makes impossible to increase temperature in the new app.

if I change source code of DTH to process ((temperature+0.5) as int), then increment would work, but decrement will never work.

Therefore, there should be way to set increment/decrement amount of heatingSetpoint in new app.
Is there any solution?

Many devices support 0.5 steps, that’s why this feature was asked since last Winter. The issue really, that the UX plugin/Capability doesn’t honor the DH code for steps.

You can definitely make a custom capability to solve this, but I am tagging @jody.albritton for this issue.
There should be a solution where the UX would honor an attribute value for the stepper. Jody, any idea?

There may be ways of tweaking the UI once it is all up and running, but I personally would work with whatever gets passed in, comparing it to the current value and adjusting accordingly.

1 Like

I actually added this code, but it makes the source code such a mess.

def settemp = temperature as int 
settemp += (settemp != temperature && temperature > device.currentValue("heatingSetpoint")) ? 1 : 0
log.debug "changing setpoint to "+settemp