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