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