Conversation
|
The latest Buf updates on your PR. Results from workflow pull-request / build (pull_request).
|
| * Manual Temperature offset calibration in Celsius applied to local environment telemetry before it is sent. | ||
| */ | ||
| float environment_temperature_offset_c = 16; | ||
| } |
There was a problem hiding this comment.
We discussed this before and decided against simple offset compensation for suboptimal sensor placement. For one you need a compensation curve, not a simple offset to do it right. Secondly most of these problems can be solved by correct sensor placement, especially on a sensor extension cable. Thirdly there are some combined sensors out there that have a very bad temperature probe, whichis only used to compensate internal sensor readings of another value. While these readings are exposed, it's not advisable to use this as a valid ambient temperature, most of the times this is the sensor operating temperature.
There was a problem hiding this comment.
Unfortunately, this is not something that can be corrected through sensor placement. I have tested every sensor currently on the supported list, placing each one outside of the enclosure and away from any other components to eliminate additional variables.
Across all of them, I consistently observed a ±1 to 2°F deviation from ambient temperature. These tests were conducted over full day periods to allow the internal sensor elements to reach stable operating temperatures and eliminate warm-up bias.
Based on those results, I found that applying an offset is very effective. It remains stable even as temperatures fluctuate, including across a range from 34°F to 85°F during my testing.
If the concern is that this creates an illusion of accuracy, I would argue the opposite. Displaying a known incorrect value without correction is more misleading than allowing a user to apply a measured and calibrated adjustment, which is exactly what this PR enables.
Proto for temperature offset for meshtastic/firmware#9682