diff --git a/beszel/internal/agent/system.go b/beszel/internal/agent/system.go index a680dea..a83a47b 100644 --- a/beszel/internal/agent/system.go +++ b/beszel/internal/agent/system.go @@ -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 diff --git a/beszel/internal/entities/system/system.go b/beszel/internal/entities/system/system.go index 4e8191d..2d71cf6 100644 --- a/beszel/internal/entities/system/system.go +++ b/beszel/internal/entities/system/system.go @@ -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 diff --git a/beszel/site/src/components/systems-table/systems-table.tsx b/beszel/site/src/components/systems-table/systems-table.tsx index 8f90367..d8f6eaf 100644 --- a/beszel/site/src/components/systems-table/systems-table.tsx +++ b/beszel/site/src/components/systems-table/systems-table.tsx @@ -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, diff --git a/beszel/site/src/types.d.ts b/beszel/site/src/types.d.ts index a6f9ad3..26f7795 100644 --- a/beszel/site/src/types.d.ts +++ b/beszel/site/src/types.d.ts @@ -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 {