feat: PRIMARY_SENSOR env var to choose dashboard temp

This commit is contained in:
henrygd
2025-02-11 15:11:46 -05:00
parent 6b2a9463ca
commit 5ea6eb08a1
4 changed files with 15 additions and 6 deletions

View File

@@ -223,8 +223,10 @@ func (a *Agent) updateTemperatures(systemStats *system.Stats) error {
return nil
}
primarySensor, primarySensorIsDefined := GetEnv("PRIMARY_SENSOR")
// reset high temp
a.systemInfo.HighTemp = 0
a.systemInfo.DashboardTemp = 0
// get sensor data
temps, err := sensors.TemperaturesWithContext(a.sensorsContext)
@@ -255,7 +257,14 @@ func (a *Agent) updateTemperatures(systemStats *system.Stats) error {
continue
}
}
a.systemInfo.HighTemp = max(a.systemInfo.HighTemp, sensor.Temperature)
// set dashboard temperature
if primarySensorIsDefined {
if sensorName == primarySensor {
a.systemInfo.DashboardTemp = sensor.Temperature
}
} else {
a.systemInfo.DashboardTemp = max(a.systemInfo.DashboardTemp, sensor.Temperature)
}
systemStats.Temperatures[sensorName] = twoDecimals(sensor.Temperature)
}
return nil

View File

@@ -76,7 +76,7 @@ type Info struct {
AgentVersion string `json:"v"`
Podman bool `json:"p,omitempty"`
GpuPct float64 `json:"g,omitempty"`
HighTemp float64 `json:"ht,omitempty"`
DashboardTemp float64 `json:"dt,omitempty"`
}
// Final data structure to return to the hub

View File

@@ -193,7 +193,7 @@ export default function SystemsTable() {
header: sortableHeader,
},
{
accessorFn: (originalRow) => originalRow.info.ht,
accessorFn: (originalRow) => originalRow.info.dt,
id: t`Temp`,
invertSorting: true,
sortUndefined: -1,

View File

@@ -45,8 +45,8 @@ export interface SystemInfo {
p?: boolean
/** highest gpu utilization */
g?: number
/** highest temperature */
ht?: number
/** dashboard display temperature */
dt?: number
}
export interface SystemStats {