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

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

properties:
    - name: PerformanceLossHigh
      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: PerformanceLossLow
      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: PerformanceLossAlarmHigh
      type: boolean
      description: >
          True if the sensor value has exceeded the defined bound. False if the
          sensor value has not exceeded the defined bound.

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

          PerformanceLossAlarmLow may be set to False to clear an alarm
          condition. The behavior of setting PerformanceLossAlarmLow to True is
          undefined.
signals:
    - name: PerformanceLossHighAlarmAsserted
      description: >
          The high threshold alarm asserted.
      properties:
          - name: SensorValue
            type: double
            description: >
                The sensor value that triggered the alarm change.
    - name: PerformanceLossHighAlarmDeasserted
      description: >
          The high threshold alarm deasserted.
      properties:
          - name: SensorValue
            type: double
            description: >
                The sensor value that triggered the alarm change.
    - name: PerformanceLossLowAlarmAsserted
      description: >
          The low threshold alarm asserted.
      properties:
          - name: SensorValue
            type: double
            description: >
                The sensor value that triggered the alarm change.
    - name: PerformanceLossLowAlarmDeasserted
      description: >
          The low threshold alarm deasserted.
      properties:
          - name: SensorValue
            type: double
            description: >
                The sensor value that triggered the alarm change.
