1description: >
2    Implement to provide warning class sensor thresholds.  Objects implementing
3    Sensor.Threshold.Warning 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.Warning must also
18    implement Sensor.Value.
19
20properties:
21    - name: WarningHigh
22      type: double
23      default: NaN
24      description: >
25          The upper bound of the warning threshold.  A value of 'NaN' is used
26          to indicate there is no threshold of this type.
27    - name: WarningLow
28      type: double
29      default: NaN
30      description: >
31          The lower bound of the warning threshold.  A value of 'NaN' is used
32          to indicate there is no threshold of this type.
33    - name: WarningAlarmHigh
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          WarningAlarmHigh may be set to False to clear an alarm condition.
40          The behavior of setting WarningAlarmHigh to True is undefined.
41    - name: WarningAlarmLow
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          WarningAlarmLow may be set to False to clear an alarm condition.
48          The behavior of setting WarningAlarmLow to True is undefined.
49signals:
50    - name: WarningHighAlarmAsserted
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: WarningHighAlarmDeasserted
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: WarningLowAlarmAsserted
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: WarningLowAlarmDeasserted
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