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