mirror of
https://github.com/lkddi/dell-fans-controller-docker.git
synced 2026-04-03 18:10:51 +08:00
- 修复温度读取功能,使用正确的正则表达式从IPMI传感器输出中提取温度值 - 通过实验校准确定20%设置对应4800 RPM,实现准确的RPM到百分比转换 - 修改sensor()方法使用ipmitool sdr命令获取更准确的传感器数据 - 添加重试机制和错误处理 - 优化风扇控制逻辑,增加模式切换和状态跟踪
1.1 KiB
1.1 KiB
修复日志
问题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