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