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