From 430051caafa3334faef768751bd6c109acd7ddfa Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sat, 28 Nov 2020 15:14:44 +0100 Subject: [PATCH] cpuTemperatur() hwmon0-3 support linux --- lib/cpu.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/cpu.js b/lib/cpu.js index b1aa30a..95b5e1e 100644 --- a/lib/cpu.js +++ b/lib/cpu.js @@ -772,11 +772,24 @@ function cpuTemperature(callback) { max: -1.0 }; if (_linux) { - const cmd = 'cat /sys/class/hwmon/hwmon1/temp*_la*;echo "---";cat /sys/class/hwmon/hwmon1/temp*_i*'; + const cmd = 'cat /sys/class/hwmon/hwmon0/temp*_la* 2>/dev/null;echo "---";cat /sys/class/hwmon/hwmon0/temp*_i* 2>/dev/null;echo "######";cat /sys/class/hwmon/hwmon1/temp*_la* 2>/dev/null;echo "---";cat /sys/class/hwmon/hwmon1/temp*_i* 2>/dev/null;echo "######";cat /sys/class/hwmon/hwmon2/temp*_la* 2>/dev/null;echo "---";cat /sys/class/hwmon/hwmon2/temp*_i* 2>/dev/null;echo "######";cat /sys/class/hwmon/hwmon3/temp*_la* 2>/dev/null;echo "---";cat /sys/class/hwmon/hwmon3/temp*_i* 2>/dev/null;'; try { exec(cmd, function (error, stdout) { - if (!error) { - let parts = stdout.toString().split('---'); + // if (!error) { + let sections = stdout.toString().split('######\n'); + let bestSection = -1 + let lineCount = 0 + for (let i = 0; i < sections.length; i++) { + const lines = sections[i].split('\n'); + if (lineCount < lines.length) { + lineCount = lines.length; + bestSection = i; + } + }; + + if (bestSection >= 0 && lineCount > 2) { + let parts = sections[bestSection].split('---'); + // let parts = stdout.toString().split('---'); let labels = parts[0].split('\n'); let temps = parts[1].split('\n'); temps.shift(); @@ -803,6 +816,7 @@ function cpuTemperature(callback) { return; } } + // } exec('sensors', function (error, stdout) { if (!error) { let lines = stdout.toString().split('\n');