In my experience there can be a significant actual difference in temperatures even a few feet apart. In my case, the wall that the thermostat is installed to is reliably 4 degrees F higher than the ambient air a mere six inches away. I’ve verified this by using three other thermometers. When I put the external thermometer right next to the hestiapi, it’s reading matches what the BME2080 is reporting. When I move it away, the temperature drops.
Though it’s worth keeping in mind that every thermometer has a range of error. No two will shows exactly the same reading. If they were within one degree F I considered them to be the same reading, though I think the error range for the BME280 is actually wider than that.
What I did was monitor the differences over time to verify that the difference is relatively constant. Since I care about the room’s temperature instead of the wall’s temperature, I then applied an adjustment to the value the script returns. In the file
/home/pi/scripts/bme280.py at the bottom you will find where it prints out the temperature. I subtracted 4 from the value there:
print "Temperature : ", int((temperature*1.8)+32-4), "F"
For C it will look something like
print "Temperature : ", (temperature-.5), "C"
In the near future I will be adding a way to achieve this without needing to edit the script and in a way that it will survive an upgrade. I’ll also add in the ability to use a single external temperature source and provide a tutorial to show how to work with multiple external temperature sources.