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      liquidflow
13      power
14      pressure
15      temperature
16      utilization
17      voltage
18
19    Additionally, any object implementing Sensor.Threshold.PerformanceLoss must
20    also implement Sensor.Value.
21
22properties:
23    - name: PerformanceLossHigh
24      type: double
25      default: NaN
26      description: >
27          The upper bound of the warning threshold.  A value of 'NaN' is used to
28          indicate there is no threshold of this type.
29    - name: PerformanceLossLow
30      type: double
31      default: NaN
32      description: >
33          The lower bound of the warning threshold.  A value of 'NaN' is used to
34          indicate there is no threshold of this type.
35    - name: PerformanceLossAlarmHigh
36      type: boolean
37      description: >
38          True if the sensor value has exceeded the defined bound. False if the
39          sensor value has not exceeded the defined bound.
40
41          PerformanceLossAlarmHigh may be set to False to clear an alarm
42          condition. The behavior of setting PerformanceLossAlarmHigh to True is
43          undefined.
44    - name: PerformanceLossAlarmLow
45      type: boolean
46      description: >
47          True if the sensor value has exceeded the defined bound. False if the
48          sensor value has not exceeded the defined bound.
49
50          PerformanceLossAlarmLow may be set to False to clear an alarm
51          condition. The behavior of setting PerformanceLossAlarmLow to True is
52          undefined.
53signals:
54    - name: PerformanceLossHighAlarmAsserted
55      description: >
56          The high threshold alarm asserted.
57      properties:
58          - name: SensorValue
59            type: double
60            description: >
61                The sensor value that triggered the alarm change.
62    - name: PerformanceLossHighAlarmDeasserted
63      description: >
64          The high threshold alarm deasserted.
65      properties:
66          - name: SensorValue
67            type: double
68            description: >
69                The sensor value that triggered the alarm change.
70    - name: PerformanceLossLowAlarmAsserted
71      description: >
72          The low threshold alarm asserted.
73      properties:
74          - name: SensorValue
75            type: double
76            description: >
77                The sensor value that triggered the alarm change.
78    - name: PerformanceLossLowAlarmDeasserted
79      description: >
80          The low threshold alarm deasserted.
81      properties:
82          - name: SensorValue
83            type: double
84            description: >
85                The sensor value that triggered the alarm change.
86