1description: >
2    Implement to provide sensor readings.  Objects implementing Sensor.Value
3    must be instantiated in the correct hierarchy within the sensors
4    namespace.  The following sensor hierarchies are recognized:
5      airflow
6      altitude
7      current
8      energy
9      fan_tach
10      humidity
11      power
12      pressure
13      temperature
14      utilization
15      voltage
16
17    Any service implementing Sensor.Value on one or more objects must implement
18    org.freedesktop.DBus.ObjectManager on /xyz/openbmc_project/sensors.
19
20    All Sensor.Value properties are read-only.
21
22properties:
23    - name: Value
24      type: double
25      description: >
26          The sensor reading.
27    - name: MaxValue
28      type: double
29      default: infinity
30      description: >
31          The Maximum supported sensor reading.
32    - name: MinValue
33      type: double
34      default: -infinity
35      description: >
36          The Minimum supported sensor reading.
37    - name: Unit
38      type: enum[self.Unit]
39      description: >
40          The unit of the reading.  Immutable once set for a sensor. For objects
41          in the airflow namespace, Unit must be "CFM" For objects in the
42          altitude namespace, Unit must be "Meters". For objects in the current
43          namespace, Unit must be "Amperes". For objects in the energy
44          namespace, Unit must be "Joules". For objects in the fan_tach
45          namespace, Unit must be "RPMS". For objects in the humidity namespace,
46          Unit must be "PercentRH" For objects in the power namespace, Unit must
47          be "Watts". For objects in the pressure namespace, Unit must be
48          "Pascals" For objects in the temperature namespace, Unit must be
49          "DegreesC". For objects in the utilization namespace, Unit must be
50          "Percent" For objects in the voltage namespace, Unit must be "Volts".
51
52enumerations:
53    - name: Unit
54      description: >
55          A sensor reading unit.
56      values:
57          - name: Amperes
58            description: >
59                Electrical charge flow rate as Amperes.
60          - name: CFM
61            description: >
62                To calculate Air Flow in Cubic Feet per Minute
63          - name: DegreesC
64            description: >
65                Temperature as degrees Celsius.
66          - name: Joules
67            description: >
68                Energy transfer as Joules.
69          - name: Meters
70            description: >
71                Length as meters.
72          - name: Percent
73            description: >
74                Resource utilization as a percentage.
75          - name: PercentRH
76            description: >
77                Relative humidity as a percentage.
78          - name: Pascals
79            description: >
80                Pressure as pascals.
81          - name: RPMS
82            description: >
83                Frequency of rotation as revolutions per minute.
84          - name: Volts
85            description: >
86                Electomotive force as volts.
87          - name: Watts
88            description: >
89                Rate of energy transfer as Watts.
90
91associations:
92    - name: inventory
93      description: >
94          Sensors may implement an 'inventory' to 'sensors' association with the
95          inventory item related to it.
96      reverse_names:
97          - sensors
98      required_endpoint_interfaces:
99          - xyz.openbmc_project.Inventory.Item
100    - name: monitoring
101      description: >
102          Sensors may monitor the BMC's resource utilization and implement an
103          association to the Bmc item.
104      reverse_names:
105          - monitored_by
106      required_endpoint_interfaces:
107          - xyz.openbmc_project.Inventory.Item.Bmc
108
109paths:
110    - namespace: /xyz/openbmc_project/sensors
111      segments:
112          - name: Airflow
113            value: airflow
114          - name: Altitude
115            value: altitude
116          - name: Current
117            value: current
118          - name: Energy
119            value: energy
120          - name: FanTach
121            value: fan_tach
122          - name: Humidity
123            value: humidity
124          - name: Power
125            value: power
126          - name: Pressure
127            value: pressure
128          - name: Temperature
129            value: temperature
130          - name: Utilization
131            value: utilization
132          - name: Voltage
133            value: voltage
134