降低IPMI会话失败时的控制器压力

This commit is contained in:
2026-05-06 09:05:53 +08:00
parent 51a93a0f76
commit ee7d1bdb8e
3 changed files with 18 additions and 19 deletions
+9 -7
View File
@@ -61,12 +61,14 @@ class IpmiTool:
"""
return self.run_cmd(cmd='sdr')
def temperature(self) -> list:
def temperature(self, data: str = None) -> list:
"""
get current temperature
获取当前温度传感器列表
:return:
"""
data = self.sensor()
if data is None:
data = self.sensor()
temperatures = []
import re
@@ -108,9 +110,9 @@ class IpmiTool:
continue
return fan_speeds
def get_fan_duty_cycle(self) -> int:
def get_fan_duty_cycle(self, sensor_data: str = None) -> int:
"""
get current fan duty cycle/percentage
获取当前风扇占空比/百分比
:return: current fan duty cycle in percentage
"""
try:
@@ -134,7 +136,7 @@ class IpmiTool:
# If raw command fails or returns 0, get fan speeds from sensor data and convert to approximate percentage
try:
data = self.sensor()
data = sensor_data if sensor_data is not None else self.sensor()
fan_rpm_values = []
import re
@@ -198,4 +200,4 @@ class IpmiTool:
self.switch_fan_mode(auto=False)
base_cmd = 'raw 0x30 0x30 0x02 0xff'
return self.run_cmd(cmd=f'{base_cmd} {hex(speed)}')
return self.run_cmd(cmd=f'{base_cmd} {hex(speed)}')