Files
linux_script/sysFanTemp.py
2024-03-25 15:29:52 +00:00

52 lines
1.3 KiB
Python
Executable File

#!/usr/bin/python3
import hddtemp
import cpufantemp
from rich import print
from rich.layout import Layout
from rich.panel import Panel
def main():
hddtempDict = hddtemp.getHddTemp()
fanTempDict = cpufantemp.getCpuTempAndFanSpeed()
layout = Layout()
layout.split_row(
Layout(name="left"),
Layout(name="center"),
Layout(name="right"),
)
## Fan speed on left
fanSpeedString = ""
for fanKey in sorted(fanTempDict["fan"].keys()):
fanSpeed = fanTempDict["fan"][fanKey]
fanSpeedString += f"{fanKey}: {fanSpeed:<4} RPM\n"
p = Panel(fanSpeedString, title="Fan Speed")
p.height = 15
layout["left"].update(p)
## CPU temp on center
cpuTempString = ""
for cpuKey in sorted(fanTempDict["cpu"].keys()):
cpuTemp = fanTempDict["cpu"][cpuKey]
cpuTempString += f"{cpuKey:<8}: {cpuTemp}°C\n"
p = Panel(cpuTempString, title="CPU Temperature")
p.height = 15
layout["center"].update(p)
## HDD temp on right
hddTempString = ""
print(hddtempDict)
for hddname in sorted(hddtempDict.keys()):
temp = hddtempDict[hddname].get("temp", -999.9)
hddTempString += f"{hddname}: {temp}°C\n"
p = Panel(hddTempString, title="HDD Temperature")
p.height = 15
layout["right"].update(p)
print(layout)
if __name__ == "__main__":
main()