1description: >
2    Implement to provide performance loss class sensor thresholds.  Objects
3    implementing Sensor.Threshold.PerformanceLoss must be instantiated in the
4    correct hierarchy within the sensors namespace.  The following sensor
5    hierarchies are recognized:
6      airflow
7      altitude
8      current
9      energy
10      fan_tach
11      humidity
12      power
13      pressure
14      temperature
15      utilization
16      voltage
17
18    Additionally, any object implementing Sensor.Threshold.PerformanceLoss must
19    also implement Sensor.Value.
20
21properties:
22    - name: PerformanceLossHigh
23      type: double
24      default: NaN
25      description: >
26          The upper bound of the warning threshold.  A value of 'NaN' is used
27          to indicate there is no threshold of this type.
28    - name: PerformanceLossLow
29      type: double
30      default: NaN
31      description: >
32          The lower bound of the warning threshold.  A value of 'NaN' is used
33          to indicate there is no threshold of this type.
34    - name: PerformanceLossAlarmHigh
35      type: boolean
36      description: >
37          True if the sensor value has exceeded the defined bound.
38          False if the sensor value has not exceeded the defined bound.
39
40          PerformanceLossAlarmHigh may be set to False to clear an alarm
41          condition. The behavior of setting PerformanceLossAlarmHigh to True
42          is undefined.
43    - name: PerformanceLossAlarmLow
44      type: boolean
45      description: >
46          True if the sensor value has exceeded the defined bound.
47          False if the sensor value has not exceeded the defined bound.
48
49          PerformanceLossAlarmLow may be set to False to clear an alarm
50          condition. The behavior of setting PerformanceLossAlarmLow to True is
51          undefined.
52signals:
53    - name: PerformanceLossHighAlarmAsserted
54      description: >
55          The high threshold alarm asserted.
56      properties:
57          - name: SensorValue
58            type: double
59            description: >
60                The sensor value that triggered the alarm change.
61    - name: PerformanceLossHighAlarmDeasserted
62      description: >
63          The high threshold alarm deasserted.
64      properties:
65          - name: SensorValue
66            type: double
67            description: >
68                The sensor value that triggered the alarm change.
69    - name: PerformanceLossLowAlarmAsserted
70      description: >
71          The low threshold alarm asserted.
72      properties:
73          - name: SensorValue
74            type: double
75            description: >
76                The sensor value that triggered the alarm change.
77    - name: PerformanceLossLowAlarmDeasserted
78      description: >
79          The low threshold alarm deasserted.
80      properties:
81          - name: SensorValue
82            type: double
83            description: >
84                The sensor value that triggered the alarm change.
85