1description: >
2    Implement to provide sensor readings.  Objects implementing
3    Sensor.Value must be instantiated in the correct
4    hierarchy within the sensors namespace.  The following sensor
5    hierarchies are recognized:
6      temperature
7      fan_tach
8      voltage
9      altitude
10      current
11      power
12      energy
13      utilization
14      pressure
15
16    Any service implementing Sensor.Value on one or more objects must
17    implement org.freedesktop.DBus.ObjectManager on the sensors namespace root.
18
19    All Sensor.Value properties are read-only.
20
21properties:
22    - name: Value
23      type: double
24      description: >
25          The sensor reading.
26    - name: MaxValue
27      type: double
28      default: infinity
29      description: >
30          The Maximum supported sensor reading.
31    - name: MinValue
32      type: double
33      default: -infinity
34      description: >
35          The Minimum supported sensor reading.
36    - name: Unit
37      type: enum[self.Unit]
38      description: >
39          The unit of the reading.  Immutable once set for a sensor.
40          For objects in the temperature namespace, Unit must be "DegreesC".
41          For objects in the fan_tach namespace, Unit must be "RPMS".
42          For objects in the voltage namespace, Unit must be "Volts".
43          For objects in the altitude namespace, Unit must be "Meters".
44          For objects in the current namespace, Unit must be "Amperes".
45          For objects in the power namespace, Unit must be "Watts".
46          For objects in the energy namespace, Unit must be "Joules".
47          For objects in the utilization namespace, Unit must be "Percent"
48          For objects in the airflow namespace, Unit must be "CFM"
49          For objects in the pressure namespace, Unit must be "Pascals"
50
51enumerations:
52    - name: Unit
53      description: >
54        A sensor reading unit.
55      values:
56        - name: DegreesC
57          description: >
58            Temperature as degrees Celsius.
59        - name: RPMS
60          description: >
61            Frequency of rotation as revolutions per minute.
62        - name: Volts
63          description: >
64            Electomotive force as volts.
65        - name: Meters
66          description: >
67            Length as meters.
68        - name: Amperes
69          description: >
70            Electrical charge flow rate as Amperes.
71        - name: Watts
72          description: >
73            Rate of energy transfer as Watts.
74        - name: Joules
75          description: >
76            Energy transfer as Joules.
77        - name: Percent
78          description: >
79            Resource utilization as percentage.
80        - name: CFM
81          description: >
82            To calculate Air Flow in Cubic Feet per Minute
83        - name: Pascals
84          description: >
85            Pressure as pascal.
86