as Integer causes the temp to be off by 1

This commit is contained in:
Vinay Rao
2015-09-01 13:42:07 -07:00
parent 7ff18e5145
commit 33d9efad23

View File

@@ -153,31 +153,37 @@ def refresh()
//} //}
def getTemperature(value) { def getTemperature(value) {
def celsius = Integer.parseInt(value, 16) / 100 if (value != null) {
if(getTemperatureScale() == "C"){ def celsius = Integer.parseInt(value, 16) / 100
return celsius if (getTemperatureScale() == "C") {
} else { return celsius
return celsiusToFahrenheit(celsius) as Integer } else {
return Math.round(celsiusToFahrenheit(celsius))
}
} }
} }
def setHeatingSetpoint(degrees) { def setHeatingSetpoint(degrees) {
def temperatureScale = getTemperatureScale() if (degrees != null) {
def temperatureScale = getTemperatureScale()
def degreesInteger = degrees as Integer
log.debug "setHeatingSetpoint({$degreesInteger} ${temperatureScale})" def degreesInteger = Math.round(degrees)
sendEvent("name":"heatingSetpoint", "value":degreesInteger) log.debug "setHeatingSetpoint({$degreesInteger} ${temperatureScale})"
sendEvent("name": "heatingSetpoint", "value": degreesInteger)
def celsius = (getTemperatureScale() == "C") ? degreesInteger : (fahrenheitToCelsius(degreesInteger) as Double).round(2)
"st wattr 0x${device.deviceNetworkId} 1 0x201 0x12 0x29 {" + hex(celsius*100) + "}" def celsius = (getTemperatureScale() == "C") ? degreesInteger : (fahrenheitToCelsius(degreesInteger) as Double).round(2)
"st wattr 0x${device.deviceNetworkId} 1 0x201 0x12 0x29 {" + hex(celsius * 100) + "}"
}
} }
def setCoolingSetpoint(degrees) { def setCoolingSetpoint(degrees) {
def degreesInteger = degrees as Integer if (degrees != null) {
log.debug "setCoolingSetpoint({$degreesInteger} ${temperatureScale})" def degreesInteger = Math.round(degrees)
sendEvent("name":"coolingSetpoint", "value":degreesInteger) log.debug "setCoolingSetpoint({$degreesInteger} ${temperatureScale})"
def celsius = (getTemperatureScale() == "C") ? degreesInteger : (fahrenheitToCelsius(degreesInteger) as Double).round(2) sendEvent("name": "coolingSetpoint", "value": degreesInteger)
"st wattr 0x${device.deviceNetworkId} 1 0x201 0x11 0x29 {" + hex(celsius*100) + "}" def celsius = (getTemperatureScale() == "C") ? degreesInteger : (fahrenheitToCelsius(degreesInteger) as Double).round(2)
"st wattr 0x${device.deviceNetworkId} 1 0x201 0x11 0x29 {" + hex(celsius * 100) + "}"
}
} }
def modes() { def modes() {