I have updated my install of hass after more than a year and with it also esphome.
The epshome went from 2024.11.3 > 2026.1.4.
I use one EPS32 as a Bluetooth tracker on which I was tracking 5 Xiaomi Mijia thermometers.
For each device it is tracking: temperature, humidity, battery level, signal strength
On the old version (2024.11.3) it updated only every so often. On average one device got updated every 1-3 minutes.
After the update to the new version (2026.1.4) each device got updated Extremely often. So much so that it could be considered almost a spam. On average one device got updated every 20-30 seconds.
Important note On my other Bluetooth tracker (still running the old version) I’ve found out that this one is capturing on average in between 30 sec and 2 minutes. Interestingly enough though, the data seems to be much smoother and does not jump around drastically like on the problematic tracker.
Honestly I was considering if there is some kind of throttle feature, that does not average aggregated data but just sends the most recent one if it changed at all. Also it would be best if all the data (temperature, humidity, battery level, signal strength) got sent at once (even if some of the 4 didn’t change) and not one after another or at different times as on the old version this was how it functioned and I have some automations depending on this.
What I’ve tried is to add filters like round and throttle + I also added accuracy_decimals feature.
Unfortunately this still does not solve the problem with too many decimal points.
It seems that the only thing that round do is format the incoming data from the device and send the rounded float to hass AND the only thing that accuracy_decimals does is that it just tells hass how many decimal points the device should display.
From what I’ve read on hass and esphome github, this seems to be problem with hass update 2025.7 where there was change to how Display Precision of entities is treated.
From this version on, hass no longer filters the output of sensors, but rather sends the raw data and with it also sends a recommendation on how it should be displayed.
i.e. if sensor.temperature has Display Precision set to 2 decimal places (65.15), but the device itself is logging values with precision up to 4 decimal places (65.1458), hass will now send the unfiltered raw value and tell tell the lovelace card that this entity should be displayed with only 2 decimal places.
Any card that does not implement this “new” rule change will simply display the raw output.
(Funnily enough, Entities card is affected as well. )
This also affects templates as they now also get the raw data and it is needed to filter it manually afterwards.
Hass team apparently left the Display Precision option, in the entity settings, for historical reasons and this is how it should work from now on.
Developers are required to update their code to reflect the change.
Status: Works as intended > Won’t fix.
Esphome team (which is massively affected) have said (so far) that this is a problem on the side of hass and that they “won’t fix” it as their systems are not broken. It basically boils down on how floating point conversion is done.
Plus there was an update to align to this new hass Display Precision change that made ESP devices send the raw value and with it the recommendation instead of the fully processed value.
-The github discussion about this problem.
So basically we have a hass team saying it is a new feature and not a bug, and esphome team saying they have everything working correctly and it is a bug on hass side.
Please feel free to correct me if I’m wrong as I might’ve understood something differently, but I am pretty sure that this is how it is right now.
Go back and check the pvxx firmware and see if an update to the firmware or device configuration may resolve your polling and reporting issues at the sensor level, rather than at the HomeAssistant and ESPHome end.