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