Why does humidity round to nearest 5%


With humidity rounding to the nearest 5% the API is effectively useless for automating any auxiliary dehumidifier. If my automation rule is “run dehumidifier when humidity is > 55% and stop when humidity is < 55%” this turns out to be a 6 point delta on average. Automation will run when humidity reaches 58% because its reported as 60 but wont turn off again until it reaches 52% which is reported as 50. A dehumidifier operating in quiet mode can take quite awhile to manage a 6 point swing and usually cant perform the job before the next AC cycle.

My automation will kick the dehumidifier off the next time the Nest reports cooling to save on electricity costs. However I still feel the API should be reflecting the same exact value that the Nest thermostat itself is reading to assist with more fine tuning of automation and possibly save on electrical costs in the long term.


Agreed. I can’t for the life of me figure out why the API provides so little specificity.

It would be hugely beneficial to have temperatures as floats, as well. If the app using the API needs rounding, it can do that itself.

Better data just lets developers do so much more.


You would think that a product specifically designed to be cutting edge in its field would have a much more flexible dataset. I suppose 5% increments are “ok” when mom-n-pop glance at the dial on the wall, but it’s useless and stupid as part of an accessible API, supposedly for programming home automation tasks. Someone needs to have a talk with management. Could keep the existing 5% value and add a more granular, .5%-1% change for actual usability outside of the thermostat device.


As a web application architect by trade I have to agree. I would never design one of my APIs to send rounded integers. I would only send floating point numbers and in this case a float with a 2 digit precision. It is up the the client interface to do the rounding for display purposes.

If the home.nest or dial interface want to round it cool…Math.round() and you’re done. I’m assuming the actual physical thermostat uses Java.

But trying to trigger an automation off of rounded numbers is like you said useless and stupid. I opted to mount a Zooz multi sensor in the same room. It gives me readings like “53.78” which I can use to run my dehumidifier much more efficiently. The downside to the Zooz is its battery operated so it doesn’t update super fast. That being said its still vastly more efficient than rounded numbers.