1.8.1
What's changed
- A failed sensor read no longer drives the fan to maximum.
mget_tempsometimes returns10000or-10000when it cannot read a Mellanox card, exiting successfully as it does so; that was being pulled into range as 200 °C, hotter than any real sensor. A value outside −100…300 °C is now treated as no measurement at all, so the sensor sits that round out and is tried again on the next one. Reported by @7leman7 on #1. - The same flaw applied to a custom
sensors.dscript printing a sentinel, and to a disk reporting a nonsense SMART value such as65535. Both now sit the round out instead. - A reading inside the plausible range is reported as measured rather than trimmed to 200 °C, so a genuinely hot sensor shows its real temperature. A sub-zero reading is still floored to 0, because a fan curve has nothing below it.
Upgrade compatibility
Existing configurations continue to work and need no migration. Nothing about how a fan is configured or how its speed is calculated changes; only which readings count as readings.
A sensor that errors does not repeat its last value: telling "errored" apart from "has nothing to report" matters, because a spun-down disk reports nothing and should let the fan drop to its Idle Speed. A sensors.d script that wants to hold its last good reading can cache it itself.