description: >
    Implement to provide sensor readings.  Objects implementing
    Sensor.Value 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

    Any service implementing Sensor.Value on one or more objects must
    implement org.freedesktop.DBus.ObjectManager on the sensors namespace root.

    All Sensor.Value properties are read-only.

properties:
    - name: Value
      type: double
      description: >
          The sensor reading.
    - name: MaxValue
      type: double
      default: infinity
      description: >
          The Maximum supported sensor reading.
    - name: MinValue
      type: double
      default: -infinity
      description: >
          The Minimum supported sensor reading.
    - name: Unit
      type: enum[self.Unit]
      description: >
          The unit of the reading.  Immutable once set for a sensor.
          For objects in the temperature namespace, Unit must be "DegreesC".
          For objects in the fan_tach namespace, Unit must be "RPMS".
          For objects in the voltage namespace, Unit must be "Volts".
          For objects in the altitude namespace, Unit must be "Meters".
          For objects in the current namespace, Unit must be "Amperes".
          For objects in the power namespace, Unit must be "Watts".
          For objects in the energy namespace, Unit must be "Joules".
          For objects in the utilization namespace, Unit must be "Percent"
          For objects in the airflow namespace, Unit must be "CFM"
          For objects in the pressure namespace, Unit must be "Pascals"

enumerations:
    - name: Unit
      description: >
        A sensor reading unit.
      values:
        - name: DegreesC
          description: >
            Temperature as degrees Celsius.
        - name: RPMS
          description: >
            Frequency of rotation as revolutions per minute.
        - name: Volts
          description: >
            Electomotive force as volts.
        - name: Meters
          description: >
            Length as meters.
        - name: Amperes
          description: >
            Electrical charge flow rate as Amperes.
        - name: Watts
          description: >
            Rate of energy transfer as Watts.
        - name: Joules
          description: >
            Energy transfer as Joules.
        - name: Percent
          description: >
            Resource utilization as percentage.
        - name: CFM
          description: >
            To calculate Air Flow in Cubic Feet per Minute
        - name: Pascals
          description: >
            Pressure as pascal.
