{"id":18368738,"url":"https://github.com/openbmc/phosphor-power","last_synced_at":"2025-04-06T17:31:52.753Z","repository":{"id":49803503,"uuid":"211390406","full_name":"openbmc/phosphor-power","owner":"openbmc","description":"Applications for configuring and monitoring power devices","archived":false,"fork":false,"pushed_at":"2024-05-17T19:56:20.000Z","size":86451,"stargazers_count":6,"open_issues_count":2,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-17T20:50:54.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openbmc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-27T19:42:22.000Z","updated_at":"2024-05-29T23:53:17.696Z","dependencies_parsed_at":"2023-01-31T05:31:19.753Z","dependency_job_id":"25d0a7fc-1581-44d6-8132-ad4f875612f1","html_url":"https://github.com/openbmc/phosphor-power","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-power","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-power/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-power/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-power/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openbmc","download_url":"https://codeload.github.com/openbmc/phosphor-power/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247522423,"owners_count":20952545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T23:27:11.941Z","updated_at":"2025-04-06T17:31:51.324Z","avatar_url":"https://github.com/openbmc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phosphor-power\n\n## Overview\n\nThis repository contains applications for configuring and monitoring devices\nthat deliver power to the system.\n\nActively-maintained applications:\n\n- cold-redundancy: Application that makes power supplies work in Cold Redundancy\n  mode and rotates them at intervals.\n- [phosphor-power-sequencer](phosphor-power-sequencer/README.md): JSON-driven\n  application that powers the chassis on/off and monitors the power sequencer\n  device.\n- [phosphor-power-supply](phosphor-power-supply/README.md): Next generation\n  power supply monitoring application.\n- [phosphor-regulators](phosphor-regulators/README.md): JSON-driven application\n  that configures and monitors voltage regulators.\n- tools/power-utils: Power supply utilities.\n\nLegacy applications:\n\n- power-sequencer: Original power sequencer monitoring application.\n- power-supply: Original power supply monitoring application.\n\n## Build\n\nTo build all applications in this repository:\n\n```sh\n  meson setup build\n  ninja -C build\n```\n\nTo clean the repository and remove all build output:\n\n```sh\n  rm -rf build\n```\n\nYou can specify [meson options](meson.options) to customize the build process.\nFor example, you can specify:\n\n- Which applications to build and install.\n- Application-specific configuration data, such as power sequencer type.\n- Whether to build tests.\n\n## Power Supply Monitor and Util JSON config\n\nSeveral applications in this repository require a PSU JSON config to run. The\nJSON config file provides information for:\n\n- Where to access the pmbus attributes\n- Which attribute file in pmbus maps to which property and interface in D-Bus\n- Which kernel device directory is used on which PSU\n\nThere is an example [psu.json](example/psu.json) to describe the necessary\nconfigurations.\n\n- `inventoryPMBusAccessType` defines the pmbus access type, which tells the\n  service which sysfs type to use to read the attributes. The possible values\n  are:\n  - Base: The base dir, e.g. `/sys/bus/i2c/devices/3-0069/`\n  - Hwmon: The hwmon dir, e.g. `/sys/bus/i2c/devices/3-0069/hwmon/hwmonX/`\n  - Debug: The pmbus debug dir, e.g. `/sys/kernel/debug/pmbus/hwmonX/`\n  - DeviceDebug: The device debug dir, e.g.\n    `/sys/kernel/debug/\u003cdriver\u003e.\u003cinstance\u003e/`\n  - HwmonDeviceDebug: The hwmon device debug dir, e.g.\n    `/sys/kernel/debug/pmbus/hwmonX/cffps1/`\n- `fruConfigs` defines the mapping between the attribute file and the FRU\n  inventory interface and property. The configuration example below indicates\n  that the service will read `part_number` attribute file from a directory\n  specified by the above pmbus access type, and assign to `PartNumber` property\n  in `xyz.openbmc_project.Inventory.Decorator.Asset` interface.\n\n  ```json\n    \"fruConfigs\": [\n      {\n        \"propertyName\": \"PartNumber\",\n        \"fileName\": \"part_number\",\n        \"interface\": \"xyz.openbmc_project.Inventory.Decorator.Asset\"\n      }\n    ]\n  ```\n\n- `psuDevices` defines the kernel device dir for each PSU in inventory. The\n  configuration example below indicates that `powersupply0`'s device is located\n  in `/sys/bus/i2c/devices/3-0069`.\n\n  ```json\n    \"psuDevices\": {\n      \"/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0\" : \"/sys/bus/i2c/devices/3-0069\",\n    }\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fphosphor-power","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbmc%2Fphosphor-power","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fphosphor-power/lists"}