Fixes #157: Incorrect Fahrenheit temperature rounding #158
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Siri / HomeKit occasionally displays the incorrect temperature when the Nest's units are set to Fahrenheit.
For example, "Hey Siri set the temperature to 72-degrees" -> "Ok, I set the temperature to 71.6-degrees Fahrenheit."
This issue is a result of the "minStep" property being set to 0.5. Since HomeKit operates exclusively in Celsius, with minStep being set, HomeKit is rounding the Fahrenheit value in to the nearest 0.5 degree Celsius before setting the value, which can results in some weird rounding when converting Celsius back to Fahrenheit.
For the above: 72-degress F = 22.22-degrees C. HomeKit rounds that to 22-degrees C, which is ends up being 71.6-degrees F when converted back.
This minStep restriction is unnecessary for Fahrenheit temperatures since the when setting the temperature, the temperature is already rounded to nearest valid unit the Nest API will accept. Additionally, HomeKit is limited to 1-degree increments for Fahrenheit units.
Fixes #157