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