1#Example fan monitor definitions for phosphor-fan-monitor 2 3#List the fans that need to be monitored, along with some 4#properties that define how much slack is allowed in the actual 5#tach value as compared to the target tach value. 6 7#fans: 8# - inventory: 9# [The system inventory location for the fan] 10# allowed_out_of_range_time: 11# [Time (in secs) actual speed can be outside of deviation of 12# target speed] 13# deviation: 14# [Percentage that actual speed must be within target speed] 15# num_sensors_nonfunc_for_fan_nonfunc: 16# [How many sensors on the fan must be faulted before fan 17# will be considered faulted] 18# sensors: [array of speed sensors for the fan] 19# - name [The name of the fan sensor] 20# has_target [true|false If this sensor has a Target property for 21# setting a fan speed (otherwise just for reads)] 22# target_interface [The fan target interface used by the sensor. 23# Default is "xyz.openbmc_project.Control.FanSpeed"] 24# factor [The factor to multiply with target to calculate the expected 25# fan speed. Default is 1 for fan speed target; 26# Customized value for pwm target] 27# offset [The offset to add to calculate the expected fan speed. 28# Default is 0 for fan speed target; 29# Customized value for pwm target] 30# 31#sensor_trust_groups: 32# - class: [Group class name 33# Available classes: 34# * NonzeroSpeed - Only trust if at least one sensor in the group 35# has a nonzero speed.] 36# group: 37# - name [The name of the fan sensor in this group] 38# in_trust: [true|false] (optional) 39# [Include in trust determination or not. Default = true] 40 41#The code uses these parameters as follows: 42# After a speed reading of a sensor is outside of the allowed deviation of 43# the target speed for the allowed out of range time, if at least 44# num_sensors_nonfunc_for_fan_nonfunc sensors meet this condition, 45# the fan will be set to nonfunctional in the inventory. 46# 47# Sensor trust groups are used to specify that the speed values for the 48# sensors in a group cannot be trusted based on some condition, where 49# the condition is based on the class used to implement the group. All 50# sensors in the group go in and out of trust based on those defined 51# to be part of determining the trust. This section is optional. 52 53#Example entries for 1 fan system: 54#fans: 55# - inventory: /system/chassis/motherboard/fan0 56# allowed_out_of_range_time: 15 57# deviation: 15 58# num_sensors_nonfunc_for_fan_nonfunc: 1 59# sensors: 60# - name: fan0 61# has_target: true 62#sensor_trust_groups: 63# - class: NonzeroSpeed 64# group: 65# - name: fan0_0 66# in_trust: false 67# - name: fan0_1 68