| commit | ff0ce4091655037839782e253775e63553d6541f | [log] [tgz] |
|---|---|---|
| author | Chris Cain <cjcain@us.ibm.com> | Fri Jan 17 10:54:55 2025 -0600 |
| committer | Chris Cain <cjcain@us.ibm.com> | Mon Feb 10 19:40:56 2025 +0000 |
| tree | 360d2bdd8ae01b7529f8f1a98f6fc8a5fc0bc121 | |
| parent | 601cea4cbfa2e8d2cd9021e87d9d79736e4d95c3 [diff] [blame] |
Add SensorPurpose for total_power sensor
Change will allow users to find the total system/chassis power sensor by
querying the SensorPurpose for TotalPower.
The total_power chassis association is being removed, since the
SensorPurpose will be used in its place.
Tested on Rainier.
'''
$ busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTree sias "/" 0 1 "xyz.openbmc_project.Sensor.Purpose"
a{sa{sas}} 1 "/xyz/openbmc_project/sensors/power/total_power" 1 "org.open_power.OCC.Control" 6 "org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" "xyz.openbmc_project.Sensor.Purpose" "xyz.openbmc_project.Sensor.Value" "xyz.openbmc_project.State.Decorator.OperationalStatus"
$ busctl -l introspect org.open_power.OCC.Control /xyz/openbmc_project/sensors/power/total_power
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Association.Definitions interface - - -
.Associations property a(sss) 1 "chassis" "all_sensors" "/xyz/openbmc_project/inventory/system/chassis" emits-change writable
B
xyz.openbmc_project.Sensor.Purpose interface - - -
.Purpose property as 1 "xyz.openbmc_project.Sensor.Purpose.SensorPurpose.TotalPower" emits-change
xyz.openbmc_project.Sensor.Value interface - - -
.MaxValue property d inf emits-change writable
.MinValue property d -inf emits-change writable
.Unit property s "xyz.openbmc_project.Sensor.Value.Unit.Watts" emits-change writable
.Value property d 419 emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface - - -
.Functional property b true emits-change writable
'''
Change-Id: I414c01e81cbb965d9ab68bafa06565d997abbe0f
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/occ_manager.cpp b/occ_manager.cpp index df8ff0c..6b0282c 100644 --- a/occ_manager.cpp +++ b/occ_manager.cpp
@@ -1260,12 +1260,13 @@ if (existingSensors.find(sensorPath) == existingSensors.end()) { - std::vector<int> occs; std::vector<std::string> fTypeList = {"all_sensors"}; if (iter->second == "total_power") { - // Total system power has its own chassis association - fTypeList.push_back("total_power"); + // Set sensor purpose as TotalPower + dbus::OccDBusSensors::getOccDBus().setPurpose( + sensorPath, + "xyz.openbmc_project.Sensor.Purpose.SensorPurpose.TotalPower"); } dbus::OccDBusSensors::getOccDBus().setChassisAssociation( sensorPath, fTypeList);