sensorsUtil: read drivetemp sensors as disk temperature sensors (#217)

This commit is contained in:
Thomas Debesse
2021-11-17 14:10:36 +01:00
committed by GitHub
parent a11b1ea1de
commit e8848c2baa
2 changed files with 22 additions and 20 deletions

View File

@@ -358,9 +358,9 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
if (this._settings.get_boolean('show-voltage'))
voltageInfo = this._utils.sensors.volt;
let driveTempInfo = [];
let driveTempInfo = this._utils.sensors.disks;
if(this._utils.disks && this._utils.disks.available) {
driveTempInfo = this._utils.disks.temp;
driveTempInfo = driveTempInfo.concat(this._utils.disks.temp);
}
if (this._utils.liquidctl && this._utils.liquidctl.available) {
@@ -381,7 +381,7 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
let sum = 0;
let max = 0;
for (let i of tempInfo){
if(i.temp !== null && i.temp > 0){
if(i.temp !== null && i.temp >= 0){
total++;
sum += i.temp;
if (i.temp > max)
@@ -424,15 +424,13 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
if(sensorsTempInfo.length > 0 && this._settings.get_boolean('group-temperature')){
sum = 0;
let sensorsTempLength = 0
for (let i of sensorsTempInfo){
sum += i.temp;
if(i.temp > 0) sensorsTempLength++;
}
sensors.push({
type:'temperature-group',
label:'temperature-group',
value: this._formatTemp(sum / sensorsTempLength)});
value: this._formatTemp(sum / sensorsTempInfo.length)});
}
for (let fan of fanInfo){

View File

@@ -37,30 +37,26 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
}
get temp() {
return this._parseGenericSensorsOutput(/^temp\d+_input/, 'temp');
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'generic');
}
get gpu() {
return this._parseGpuSensorsOutput(/^temp\d+_input/, 'temp');
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'gpu');
}
get disks() {
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'disk');
}
get rpm() {
return this._parseGenericSensorsOutput(/^fan\d+_input/, 'rpm');
return this._parseSensorsOutput(/^fan\d+_input/, 'rpm', 'generic');
}
get volt() {
return this._parseGenericSensorsOutput(/^in\d+_input/, 'volt');
return this._parseSensorsOutput(/^in\d+_input/, 'volt', 'generic');
}
_parseGenericSensorsOutput(sensorFilter, sensorType) {
return this._parseSensorsOutput(sensorFilter, sensorType, false);
}
_parseGpuSensorsOutput(sensorFilter, sensorType) {
return this._parseSensorsOutput(sensorFilter, sensorType, true);
}
_parseSensorsOutput(sensorFilter, sensorType, gpuFlag) {
_parseSensorsOutput(sensorFilter, sensorType, sensorFamily) {
if(!this._data)
return [];
@@ -68,8 +64,16 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
let sensors = [];
for (var chipset in data) {
let tempType = (sensorType === 'temp')
let gpuFilter = /(radeon|amdgpu|nouveau)/;
if (!data.hasOwnProperty(chipset) || (gpuFlag != gpuFilter.test(chipset) && sensorType === 'temp'))
let gpuFamily = (sensorFamily === 'gpu')
if (!data.hasOwnProperty(chipset) || (gpuFamily != gpuFilter.test(chipset) && tempType))
continue;
let diskFilter = /(drivetemp)/;
let diskFamily = (sensorFamily === 'disk')
if (!data.hasOwnProperty(chipset) || (diskFamily != diskFilter.test(chipset) && tempType))
continue;
let chipsetSensors = data[chipset]