mirror of
https://github.com/lkddi/dell-fans-controller-docker.git
synced 2026-04-03 09:55:11 +08:00
- 修复温度读取功能,使用正确的正则表达式从IPMI传感器输出中提取温度值 - 通过实验校准确定20%设置对应4800 RPM,实现准确的RPM到百分比转换 - 修改sensor()方法使用ipmitool sdr命令获取更准确的传感器数据 - 添加重试机制和错误处理 - 优化风扇控制逻辑,增加模式切换和状态跟踪
21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# 修复日志
|
||
|
||
## 问题1:温度读取不准确
|
||
- **问题**:之前的代码无法正确解析IPMI传感器输出中的温度值
|
||
- **解决方案**:
|
||
- 修改了`sensor()`方法,使用`ipmitool sdr`命令获取更准确的传感器数据
|
||
- 更新了`temperature()`方法,使用正则表达式正确提取温度值
|
||
- **结果**:现在能够准确读取所有温度传感器数据
|
||
|
||
## 问题2:风扇转速读取不准确
|
||
- **问题**:IPMI原始命令无法返回设置的风扇占空比值
|
||
- **解决方案**:
|
||
- 通过校准实验确定了RPM与百分比的转换关系:20%设置对应4800 RPM
|
||
- 实现了基于RPM的百分比估算算法
|
||
- 添加了适当的四舍五入逻辑以匹配典型的5%步进
|
||
- **结果**:现在能够准确估算当前风扇转速百分比
|
||
|
||
## 技术细节
|
||
- Dell服务器的IPMI系统在手动风扇模式下,可通过`ipmitool sdr`命令获取准确的RPM值
|
||
- 风扇转速百分比通过公式计算:`(current_rpm / theoretical_max_rpm) * 100`
|
||
- 理论最大RPM基于校准数据:`4800 RPM * (100/20) = 24000 RPM` |