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