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

    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
      description: >
          The Maximum supported sensor reading.
    - name: MinValue
      type: double
      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"

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
