Summary
CLI control surface for APC Switched Rack PDU. Reachable via Telnet, SSH v1/v2, or serial. Login with user name + password yields APC> prompt. Spec covers outlet on/off/reboot, status, current/power readings, alarm thresholds, user/outlet-group administration, and PDU configuration.
Transport
protocols:
- tcp
- serial
# UNRESOLVED: TCP port for Telnet/SSH listener not stated in source
# addressing:
# port: null
serial:
baud_rate: 9600
# UNRESOLVED: data_bits, parity, stop_bits, flow_control not stated in source
auth:
type: password
# UNRESOLVED: username/password credentials and account types not specified; source describes 3 account types (Administrator, device manager, outlet user) with username+password login
Traits
- powerable # inferred from on/off/reboot commands
- queryable # inferred from status, current, power, ver, whoami, list queries
- routable # inferred from outlet assignment commands (assign/unassign)
Actions
# ---- User Management ----
- id: adduser
label: Add Outlet User
kind: action
command: "adduser {user_name}"
params:
- name: user_name
type: string
description: One to ten printable ASCII characters
- id: assign
label: Assign Outlets To User
kind: action
command: "assign {outlets} {user_name}"
params:
- name: outlets
type: string
description: Outlet number or hyphen-separated range, comma-delimited (e.g. "1-3,5,7")
- name: user_name
type: string
description: Configured local-database user
- id: deluser
label: Delete Outlet User
kind: action
command: "deluser {user_name}"
params:
- name: user_name
type: string
description: One to ten printable ASCII characters
- id: passwd
label: Change Password
kind: action
command: "passwd [ {user_name} ]"
params:
- name: user_name
type: string
description: Optional; omit to change own password, specify to change another (admin only)
- id: unassign
label: Unassign Outlets From User
kind: action
command: "unassign {outlets} {user_name}"
params:
- name: outlets
type: string
description: Outlet number or range, comma-delimited
- name: user_name
type: string
description: Configured local-database user
- id: whoami
label: Who Am I
kind: query
command: "whoami"
# ---- Outlet Control ----
- id: off
label: Turn Outlet(s) Off
kind: action
command: "off {outlets}"
params:
- name: outlets
type: string
description: "outlet | range, comma-delimited, or 'all'"
- id: on
label: Turn Outlet(s) On
kind: action
command: "on {outlets}"
params:
- name: outlets
type: string
description: "outlet | range, comma-delimited, or 'all'"
- id: outletgroups
label: List Outlet Sync Groups
kind: query
command: "outletgroups"
- id: poweroffdelay
label: Get/Set Power-Off Delay
kind: action
command: "poweroffdelay {outlets} [{time | never}]"
params:
- name: outlets
type: string
description: Outlet or range, comma-delimited. Omit to read all accessible outlets.
- name: time
type: string
description: Delay in seconds, or 'never'
- id: powerondelay
label: Get/Set Power-On Delay
kind: action
command: "powerondelay {outlets} [{time | never}]"
params:
- name: outlets
type: string
description: Outlet or range, comma-delimited. Omit to read all accessible outlets.
- name: time
type: string
description: Delay in seconds, or 'never'
- id: reboot
label: Reboot Outlet(s)
kind: action
command: "reboot {outlets}"
params:
- name: outlets
type: string
description: "outlet | range, comma-delimited, or 'all'"
- id: rebootduration
label: Get/Set Reboot Duration
kind: action
command: "rebootduration {outlets}[: {time}]"
params:
- name: outlets
type: string
description: Outlet or range, comma-delimited. Omit to read all accessible.
- name: time
type: integer
description: Off-time in seconds before restart
- id: status
label: Outlet Status Query
kind: query
command: "status {outlets}"
params:
- name: outlets
type: string
description: Outlet or range, comma-delimited
# ---- PDU-Level ----
- id: current
label: Current Draw Query
kind: query
command: "current"
- id: list
label: List Users And Outlet Assignments
kind: query
command: "list"
- id: lowloadwarning
label: Get/Set Low-Load Warning Threshold
kind: action
command: "lowloadwarning [{phase_number} [{current}]]"
params:
- name: phase_number
type: integer
description: "1, 2, or 3 (default 1)"
- name: current
type: number
description: Threshold in amps
- id: name
label: Set Outlet Or System Name
kind: action
command: "name {outlet} {new_name}"
params:
- name: outlet
type: string
description: "Outlet number, or 'master' for system name"
- name: new_name
type: string
description: Up to 23 printable ASCII chars
- id: nearoverloadwarning
label: Get/Set Near-Overload Warning Threshold
kind: action
command: "nearoverloadwarning [{phase_number} [{current}]]"
params:
- name: phase_number
type: integer
description: "1, 2, or 3 (default 1)"
- name: current
type: number
description: Threshold in amps
- id: overloadalarm
label: Get/Set Overload Alarm Threshold
kind: action
command: "overloadalarm [{phase_number} [{current}]]"
params:
- name: phase_number
type: integer
description: "1, 2, or 3 (default 1)"
- name: current
type: number
description: Threshold in amps
- id: overloadrestriction
label: Get/Set Overload Restriction
kind: action
command: "overloadrestriction [{phase_number} [{setting}]]"
params:
- name: phase_number
type: integer
description: "1, 2, or 3 (default 1 for read)"
- name: setting
type: string
description: "on | off"
- id: pducoldstartdelay
label: Get/Set PDU Cold-Start Delay
kind: action
command: "pducoldstartdelay [{time | never}]"
params:
- name: time
type: integer
description: "Delay in seconds, 0-300, or 'never'"
- id: power
label: Total Power Query
kind: query
command: "power"
# ---- General Management ----
- id: exit
label: Exit CLI
kind: action
command: "{exit|logout|logoff|quit|bye}"
- id: help
label: Help
kind: query
command: "help|? [{command}]"
params:
- name: command
type: string
description: Optional command name; omit for full list
- id: reset_defaults_pdu
label: Reset PDU Configuration To Defaults
kind: action
command: "reset_defaults_pdu"
- id: uploadini
label: Upload INI File (XMODEM, Serial Only)
kind: action
command: "uploadini"
- id: ver
label: Show Firmware / Model Info
kind: query
command: "ver"
Feedbacks
- id: outlet_status
type: enum
values: [ON, OFF]
# trailing '*' in output indicates pending control action
- id: error_code
type: string
# Format: E[0-9][0-9][0-9]: Error message
values: [E100, E101, E102, E103, E104, E200]
- id: prompt
type: string
values: ["APC>"]
Variables
- id: inactivity_logout
type: integer
description: Auto log-off timeout in minutes (default 3, range 1-10)
- id: power_off_delay
type: integer
description: Seconds PDU waits before restoring power to an outlet
- id: power_on_delay
type: integer
description: Seconds PDU waits before restoring power to an outlet
- id: reboot_duration
type: integer
description: Seconds outlet remains off during reboot
- id: cold_start_delay
type: integer
description: Seconds PDU delays applying power after AC applied (0-300, or never)
- id: low_load_threshold
type: number
description: Low-load warning threshold in amps (per phase)
- id: near_overload_threshold
type: number
description: Near-overload warning threshold in amps (per phase)
- id: overload_alarm_threshold
type: number
description: Overload alarm threshold in amps (per phase)
- id: overload_restriction
type: enum
values: [on, off]
description: When on, prevents outlets from turning on while overload threshold is violated
Events
# UNRESOLVED: source documents no unsolicited push notifications; CLI is query/response only.
Macros
# UNRESOLVED: source documents no multi-step sequences beyond the login procedure and uploadini XMODEM transfer.
Safety
confirmation_required_for:
- reset_defaults_pdu
interlocks:
- overloadrestriction # when on, blocks outlet turn-on while threshold violated
# UNRESOLVED: no explicit user-facing safety warnings, high-voltage interlocks, or power-sequencing requirements stated in source.
Notes
- Login lockout: 3 consecutive failed attempts locks further attempts for 2 minutes.
- CLI prompt is
APC>. All commands (not arguments) are case-insensitive. - Space (ASCII 0x20) is the sole delimiter; multiple spaces are tolerated.
- Strings containing spaces, commas, or semicolons must be quoted. Reverse-slash escapes only
"and\itself — no traditional\netc. - For XMODEM upload (
uploadini), supported baud options are 2400, 9600, 19200, 38400; default is 9600 and must be restored post-transfer if changed. currentcommand is documented but source notes the PDU does not actually track total current draw.
Provenance
source_domains:
- usermanual.wiki
source_urls:
- https://usermanual.wiki/Apc/ApcCommandLineInterfaceUsersManual470947.999847818.pdf
retrieved_at: 2026-04-30T04:34:47.223Z
last_checked_at: 2026-06-02T21:39:45.600Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:39:45.600Z
matched_actions: 28
action_count: 28
confidence: medium
summary: "All 28 spec actions matched literally in source with complete bidirectional coverage; transport (TCP/serial @ 9600 baud) verified. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "TCP port numbers for Telnet/SSH not stated in source; SSH/Telnet protocols are TCP-based but listener ports undocumented here."
- "TCP port for Telnet/SSH listener not stated in source"
- "data_bits, parity, stop_bits, flow_control not stated in source"
- "username/password credentials and account types not specified; source describes 3 account types (Administrator, device manager, outlet user) with username+password login"
- "source documents no unsolicited push notifications; CLI is query/response only."
- "source documents no multi-step sequences beyond the login procedure and uploadini XMODEM transfer."
- "no explicit user-facing safety warnings, high-voltage interlocks, or power-sequencing requirements stated in source."
- "TCP listener ports for Telnet/SSH not stated in source. Serial data_bits/parity/stop_bits/flow_control not stated. Firmware compatibility range not stated. SSH host-key formats and KEX algorithms not stated. RADIUS integration details not stated (referenced indirectly via \"list\" output variants)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0