chamberlain2007 / aprilaire-ha

A custom component for Home Assistant to interact with Aprilaire thermostats.
MIT License
12 stars 5 forks source link

Temperature readings are not being typed correctly #6

Closed nberardi closed 1 year ago

nberardi commented 1 year ago

Right now my thermostat is reading 42 F outside, and HA is reading 109 F outside. If you backwards convert 109 F into C, it is 42 C. I think there may be some type confusion happening between the thermostat, the plugin, and HA.

I am running version 0.2

chamberlain2007 commented 1 year ago

@nberardi Per the documentation, all values coming from the thermostat are in celsius, and the integration interprets them as such. The temperature sensors themselves do a bit of custom stuff to match the rounding of the thermostat. It determines the user's desired temperature scale. If the preferred scale is Fahrenheit, then it does the celsius to Fahrenheit conversion and rounding in native_value() and returns TEMP_FAHRENHEIT from native_scale(). Otherwise, it returns the original celsius value from native_value() and returns TEMP_CELSIUS.

Are you using the proxy you wrote? Are you unintentionally sending a Fahrenheit value from there instead of celsius? If so, please correct that on your end. I am not planning to consider non-official devices, so please ensure that issues are filed against a true device.

chamberlain2007 commented 1 year ago

@nberardi I looked again, please check https://github.com/chamberlain2007/aprilaire-ha/releases/tag/0.3

nberardi commented 1 year ago

Are you using the proxy you wrote? Are you unintentionally sending a Fahrenheit value from there instead of celsius? If so, please correct that on your end.

The proxy doesn’t know it is connected to an Aprilaire Thermostat. It is only a proxy for sockets.

I am not planning to consider non-official devices, so please ensure that issues are filed against a true device.

This was filed against a version that is using the actual hardware. And is likely due to an issue relating to upgrading from 0.1 to 0.2. The values corrected themselves in HA after I changed the types in HA and set them back to the desired type.

Any change you can have a state mismatch when reading the value from HA?