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