diff --git a/dcinfra/sensors/temper/lmsensors-extend.sh b/dcinfra/sensors/temper/lmsensors-extend.sh index 9b10699..c8f5a06 100644 --- a/dcinfra/sensors/temper/lmsensors-extend.sh +++ b/dcinfra/sensors/temper/lmsensors-extend.sh @@ -50,7 +50,7 @@ numeric_pick() { [[ "$pick" =~ $num_re ]] && { printf '%s\n' "$pick"; return 0; } done if [[ -n "$native" ]]; then - pick="$(grep -oE '\-?[0-9]+(\.[0-9]+)?' <<<"$native" | head -1)" + pick="$(grep -oE "\-?[0-9]+(\.[0-9]+)?°C" <<<"$native" | head -1)"; pick="${pick%°C}" [[ "$pick" =~ $num_re ]] && { printf '%s\n' "$pick"; return 0; } fi return 1 diff --git a/tests/unit/lmsensors-numeric.sh b/tests/unit/lmsensors-numeric.sh index 2fa17b2..c0a44d6 100644 --- a/tests/unit/lmsensors-numeric.sh +++ b/tests/unit/lmsensors-numeric.sh @@ -35,7 +35,7 @@ test_numeric_falls_back_internal() { } test_numeric_uses_first_line_value() { - if [[ "$(numeric_pick "" "" "+27.5°C")" == "27.5" ]]; then + if [[ "$(numeric_pick "" "" "temp1: +27.5°C (high = +84.0°C)")" == "27.5" ]]; then echo "✅ numeric_pick parses first native temp" else echo "❌ numeric_pick native parse broken: got '$(numeric_pick "" "" "+27.5°C")'"