I'm just going to put this out there because there are comments about it all over the Internet and not solutions. After our lightning hit, one of our Nest thermostats started reading about 6 to 8 degrees too warm. I pulled it off the base plate, and the base plate was warm to the touch. I put a forehead thermometer on it and it was reading 100 degrees. The back of the thermostat proper was definitely warm because of it.
Anyway, Google graciously offered to replace it and their safety team wants to get a look at it. Cool. So I install the replacement, and within an hour or so, it starts reading about 4 degrees higher. How do I know? Because I put the remote sensor from my office next to it, meaning they should read the same thing. This time, the base was room temperature, so it wasn't that.
I did see an anecdotal comment on the Interenets about the heat potentially coming from the Wi-Fi chip, but that seemed weird because I have two of these, and the upstairs one reads fine. On the other hand, I had to replace our mesh router because of the lightning hit, so it was definitely a new variable. In fact, the old system had plug-in access points that you just left right there on the wall, and there were access points under both of them. So I put one of the new access points next to it, and there was no change.
As a last-ditch effort to tease out a solution, I connected the thermostat to my guest Wi-Fi, which I set to only work on the 2.4 GHz band. What do you know, the temperature started reading correctly within an hour. For reasons I can't explain, being on the 5 GHz band was throwing off the temperature sensor inside. I can't explain why the other thermostat doesn't behave this way.