Fix NVMe temperature parsing bug for values > 99°C
Replace digits[:2] truncation with regex extraction of complete number. Previously "123°C" would be parsed as 12 instead of 123. Resolves #8 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2574,10 +2574,10 @@ class SystemHealthMonitor:
|
|||||||
temp_str = line.split(':')[1].strip() if ':' in line else line.strip()
|
temp_str = line.split(':')[1].strip() if ':' in line else line.strip()
|
||||||
logger.debug(f"Raw temperature string: {temp_str}")
|
logger.debug(f"Raw temperature string: {temp_str}")
|
||||||
|
|
||||||
# Extract first temperature value more safely
|
# Extract the first complete number from temperature string
|
||||||
digits = ''.join(c for c in temp_str if c.isdigit())
|
temp_match = re.search(r'(\d+)', temp_str)
|
||||||
if len(digits) >= 2:
|
if temp_match:
|
||||||
temp_value = int(digits[:2])
|
temp_value = int(temp_match.group(1))
|
||||||
logger.debug(f"Parsed temperature value: {temp_value}")
|
logger.debug(f"Parsed temperature value: {temp_value}")
|
||||||
|
|
||||||
# Set both temperature fields
|
# Set both temperature fields
|
||||||
|
|||||||
Reference in New Issue
Block a user