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      airflow
7      altitude
8      current
9      energy
10      fan_tach
11      humidity
12      power
13      pressure
14      temperature
15      utilization
16      voltage
17
18    Any service implementing Sensor.Value on one or more objects must
19    implement org.freedesktop.DBus.ObjectManager on
20    /xyz/openbmc_project/sensors.
21
22    All Sensor.Value properties are read-only.
23
24properties:
25    - name: Value
26      type: double
27      description: >
28          The sensor reading.
29    - name: MaxValue
30      type: double
31      default: infinity
32      description: >
33          The Maximum supported sensor reading.
34    - name: MinValue
35      type: double
36      default: -infinity
37      description: >
38          The Minimum supported sensor reading.
39    - name: Unit
40      type: enum[self.Unit]
41      description: >
42          The unit of the reading.  Immutable once set for a sensor.
43          For objects in the airflow namespace, Unit must be "CFM"
44          For objects in the altitude namespace, Unit must be "Meters".
45          For objects in the current namespace, Unit must be "Amperes".
46          For objects in the energy namespace, Unit must be "Joules".
47          For objects in the fan_tach namespace, Unit must be "RPMS".
48          For objects in the humidity namespace, Unit must be "PercentRH"
49          For objects in the power namespace, Unit must be "Watts".
50          For objects in the pressure namespace, Unit must be "Pascals"
51          For objects in the temperature namespace, Unit must be "DegreesC".
52          For objects in the utilization namespace, Unit must be "Percent"
53          For objects in the voltage namespace, Unit must be "Volts".
54
55enumerations:
56    - name: Unit
57      description: >
58          A sensor reading unit.
59      values:
60          - name: Amperes
61            description: >
62                Electrical charge flow rate as Amperes.
63          - name: CFM
64            description: >
65                To calculate Air Flow in Cubic Feet per Minute
66          - name: DegreesC
67            description: >
68                Temperature as degrees Celsius.
69          - name: Joules
70            description: >
71                Energy transfer as Joules.
72          - name: Meters
73            description: >
74                Length as meters.
75          - name: Percent
76            description: >
77                Resource utilization as a percentage.
78          - name: PercentRH
79            description: >
80                Relative humidity as a percentage.
81          - name: Pascals
82            description: >
83                Pressure as pascals.
84          - name: RPMS
85            description: >
86                Frequency of rotation as revolutions per minute.
87          - name: Volts
88            description: >
89                Electomotive force as volts.
90          - name: Watts
91            description: >
92                Rate of energy transfer as Watts.
93
94associations:
95    - name: inventory
96      description: >
97          Sensors may implement an 'inventory' to 'sensors' association with
98          the inventory item related to it.
99      reverse_names:
100          - sensors
101      required_endpoint_interfaces:
102          - xyz.openbmc_project.Inventory.Item