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