description: >
    Implement to provide warning class sensor thresholds.  Objects implementing
    Sensor.Threshold.Warning must be instantiated in the correct hierarchy within
    the sensors namespace.  The following sensor hierarchies are recognized:
      temperature
      fan_tach
      voltage
      altitude
      current
      power
      energy
      utilization
      airflow
      pressure

    Additionally, any object implementing Sensor.Threshold.Warning must also
    implement Sensor.Value.

properties:
    - name: WarningHigh
      type: double
      default: NaN
      description: >
          The upper bound of the warning threshold.  A value of 'NaN' is used
          to indicate there is no threshold of this type.
    - name: WarningLow
      type: double
      default: NaN
      description: >
          The lower bound of the warning threshold.  A value of 'NaN' is used
          to indicate there is no threshold of this type.
    - name: WarningAlarmHigh
      type: boolean
      description: >
          True if the sensor value has exceeded the defined bound.
          False if the sensor value has not exceeded the defined bound.

          WarningAlarmHigh may be set to False to clear an alarm condition.
          The behavior of setting WarningAlarmHigh to True is undefined.
    - name: WarningAlarmLow
      type: boolean
      description: >
          True if the sensor value has exceeded the defined bound.
          False if the sensor value has not exceeded the defined bound.

          WarningAlarmLow may be set to False to clear an alarm condition.
          The behavior of setting WarningAlarmLow to True is undefined.
signals:
    - name: WarningHighAlarmAsserted
      description: >
          The high threshold alarm asserted.
      properties:
         - name: SensorValue
           type: double
           description: >
               The sensor value that triggered the alarm change.
    - name: WarningHighAlarmDeasserted
      description: >
          The high threshold alarm deasserted.
      properties:
         - name: SensorValue
           type: double
           description: >
               The sensor value that triggered the alarm change.
    - name: WarningLowAlarmAsserted
      description: >
          The low threshold alarm asserted.
      properties:
         - name: SensorValue
           type: double
           description: >
               The sensor value that triggered the alarm change.
    - name: WarningLowAlarmDeasserted
      description: >
          The low threshold alarm deasserted.
      properties:
         - name: SensorValue
           type: double
           description: >
               The sensor value that triggered the alarm change.
