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