It seems the answer in the thread that you referenced conflicts with the rounding you’re saying exists now.
You’re saying the API rounds down (i.e. Math.floor) by design, which is why the API trails what the actual thermostat detects. (The original question said the thermostat was rounding up to 78ºF while the API was still reporting 77ºF, which means it wasn’t rounding up properly.)
However, in the previous reply, you said the API was performing a Math.round, which would round down for less than 0.5 and round up for 0.5 or greater.
If the rounding down is by design, then I assumed the previous reply was an error. But, you referenced it as saying it’s related to this, so that would seem to indicated that the rounding down is an error. I’m sorry to be a pest, but can you please clarify?
Reading the ambient temperature is an insanely vital function of a thermostat. I think it’s really important for developers to understand exactly how it’s supposed to be working. (It certainly is in my case.)