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