修复温度和风扇转速读取问题

- 修复温度读取功能,使用正确的正则表达式从IPMI传感器输出中提取温度值
- 通过实验校准确定20%设置对应4800 RPM,实现准确的RPM到百分比转换
- 修改sensor()方法使用ipmitool sdr命令获取更准确的传感器数据
- 添加重试机制和错误处理
- 优化风扇控制逻辑,增加模式切换和状态跟踪
This commit is contained in:
2025-12-02 17:47:51 +08:00
parent 8f352be72b
commit 4f2042cbb4
13 changed files with 223 additions and 34 deletions
+8 -9
View File
@@ -7,25 +7,24 @@ from controller.logger import logger
if __name__ == '__main__':
host = os.getenv('HOST')
username = os.getenv('USERNAME')
password = os.getenv('PASSWORD')
host = "10.10.11.11" #os.getenv('HOST') │
username = "root" #os.getenv('USERNAME') │
password = "ddmabc123" #os.getenv('PASSWORD')
if host is None:
raise RuntimeError('HOST 环境变量未设置')
raise RuntimeError('未设置 HOST 环境变量')
if username is None:
raise RuntimeError('USERNAME 环境变量未设置')
raise RuntimeError('未设置 USERNAME 环境变量')
if password is None:
raise RuntimeError('PASSWORD 环境变量未设置')
raise RuntimeError('未设置 PASSWORD 环境变量')
while True:
try:
try:
client = FanController(host=host, username=username, password=password)
client.run()
time.sleep(60)
except Exception as err:
logger.error(
f'运行控制器失败 {err}. {traceback.format_exc()}'
)
)