文件最后提交记录最后更新时间
fix: power cli opt1 个月前
README.md

ohos-powerManager CLI

Overview

ohos-powerManager is a command-line interface tool for HarmonyOS/OHOS power management. It provides system-level control over device power state, including suspend, wakeup, power mode switching, and screen off timeout management.

Dependencies

  • PowerMgrClient (inner_api)
  • cJSON:cjson
  • c_utils
  • hilog
  • ipc_core

Required Permissions

All commands require system caller identity and one of the following permissions:

Permission Required by
ohos.permission.POWER_MANAGER suspend, wakeup, override-screen-off-time, restore-screen-off-time
ohos.permission.POWER_OPTIMIZATION set-power-mode

Command List

Command Description Parameters Permission Prerequisites
suspend Suspend device and turn screen off [--immediately] POWER_MANAGER None
wakeup Wake up device and turn screen on [--detail <string>] POWER_MANAGER None
set-power-mode Set device power mode --mode <mode> (normal/powerSave) POWER_OPTIMIZATION None
override-screen-off-time Override screen off timeout --time <timeout_ms> (positive integer) POWER_MANAGER None
restore-screen-off-time Restore screen off timeout to default (none) POWER_MANAGER Prior override recommended

Usage Examples

Global Help

ohos-powerManager --help

Suspend Device

# Suspend with default behavior
ohos-powerManager suspend

# Suspend immediately
ohos-powerManager suspend --immediately

Success output:

{"type":"result","status":"success","data":{"command":"suspend","reason":"application","immediately":false}}

Wakeup Device

# Wakeup with default detail
ohos-powerManager wakeup

# Wakeup with custom detail
ohos-powerManager wakeup --detail "user pressed power key"

Success output:

{"type":"result","status":"success","data":{"command":"wakeup","reason":"application","detail":"cli-call"}}

Set Power Mode

# Set normal mode
ohos-powerManager set-power-mode --mode normal

# Set power save mode
ohos-powerManager set-power-mode --mode powerSave

Success output:

{"type":"result","status":"success","data":{"command":"set-power-mode","mode":"normal"}}

Override Screen Off Time

# Override to 30 seconds
ohos-powerManager override-screen-off-time --time 30000

# Override to 5 minutes
ohos-powerManager override-screen-off-time --time 300000

Success output:

{"type":"result","status":"success","data":{"command":"override-screen-off-time","timeout":30000}}

Restore Screen Off Time

ohos-powerManager restore-screen-off-time

Success output:

{"type":"result","status":"success","data":{"command":"restore-screen-off-time"}}

Error Output Format

All errors are output as single-line JSON to stdout:

{"type":"result","status":"failed","errCode":"ERR_PERMISSION_DENIED","errMsg":"Permission denied","suggestion":"Ensure the caller has the required permission (ohos.permission.POWER_MANAGER or ohos.permission.POWER_OPTIMIZATION)"}

Error Codes

Error Code Value Description
ERR_OK 0 Operation succeeded
ERR_FAILURE 1 General failure
ERR_PERMISSION_DENIED 201 Permission denied
ERR_SYSTEM_API_DENIED 202 System API denied
ERR_PARAM_INVALID 401 Invalid parameter
ERR_CONNECTION_FAIL 4900101 Connection to power service failed
ERR_FREQUENT_FUNCTION_CALL 4900201 Too frequent function calls
ERR_POWER_MODE_TRANSIT_FAILED 4900301 Power mode transition failed
ERR_SKIP_FUNCTION_CALL 4900401 Function call skipped
ERR_READ_OPERATION_FAILED 4900501 Read operation failed
ERR_USER_PARAM_INVALID 4900400 User parameter value invalid
ERR_WRITE_OPERATION_FAILED 4900601 Write operation failed