I have a heat pump that gives me raw values as uint8 in Fahrenheit. I created a class derived from climate::Climate but it ESPhome seems to assume my raw values are actually in Celsius and makes a wrong conversion.
Here is how I see my component in Home Assistant (via auto configuration):
For example, the set point is 60F and the indoor temperature is 64F. But as you can see, it’s shown as 140F and 147F which results from assuming it’s 60C and 64C.
The temperatures are set via the current_temperature
and target_temperature
members which are both float.
I could now add code to convert the raw values to celsius and convert values from HA from C back to F but given that raw values are in F and they are used/shown in F as well, this sounds like an unnecessary double conversion to me. Additionally, since these are floats but the raw values are uint8, I am afraid of unnecessary rounding errors.
What is the “right” way to deal with this?