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