Celsius to fahrenheit on CT-30 Thermostat

I have a CT-30 Thermostat with the z-wave module. The problem I am having is that I cannot seem to get it to use anything other than Celsius. Is there a way for it to use Fahrenheit instead?

I tend to just go for the fix of least resistance.

The formula to convert from C to F is just
(C/5*9)+32=F from memory. Just apply that to the received value

How would I apply that where that is what the binding sees not just displays do to the echo I would need the item to be able to convert it.

I’d just have 2 items. On the first one receiving an update, have it run a rule that posts an update to the second item, using that formula.

Can anyone point me in a directions on how to do that?

I configured a rule to read as fahrenheit but when I set the rule to set the target temp it locks up the zwave radio on the ct-30. I figured that it might be the long decimal point so I set it to round but that didn’t seem to help.


import org.openhab.core.library.types.*
import org.openhab.core.persistence.*
import org.openhab.model.script.actions.*
rule "Convert ZwaveTempC to F"
        when
                Item ZwaveTempC changed
        then
                var Number temp
                if (ZwaveTempC.state instanceof DecimalType) temp = ZwaveTempC.state as DecimalType
                var Number temp2 = (temp * 1.8) + 32
                ZwaveTempF.postUpdate(temp2)
        end

rule "Convert_Temp_EG"
        when
                Item ThermostatSetTempF changed
        then
                var tempFahrenheit = (ThermostatSetTempF.state as DecimalType).doubleValue
                var tempCelsius = (tempFahrenheit -  32)  *  5/9
                tempCelsius = Math::round(tempCelsius.floatValue())

                postUpdate(ThermostatTargetTemperature, tempCelsius)
        end```