Summary
Extron IPL T PCS4 / PCS4i is an IP Link power control interface providing four switched 110/220 VAC receptacles with current-threshold sensing. Control is via Extron Simple Instruction Set (SIS) over Telnet (TCP port 23) or a web browser (HTTP, TCP port 80). Part numbers: 60-544-07 / 60-544-09.
Transport
protocols:
- tcp
addressing:
port: 23 # Telnet (TCP) - stated in source
web_port: 80 # HTTP (TCP) - stated in source (web browser)
default_ip: "192.168.254.254" # factory default; stated
auth:
type: password # source: factory pw = device serial number; default 'extron' after absolute reset
levels: [administrator, user]
notes: >
Password prompt appears only if a password is defined. Admin pw required
for [24]-tagged commands. User pw cannot be set if admin pw absent.
Min 4 / max 12 chars, no special chars.
Traits
# - powerable (receptacle on/off + power up delay) - inferred from power command examples
# - queryable (many ?/view commands return state) - inferred from query command examples
# - levelable (current-threshold set/clear) - inferred from threshold commands
traits:
- powerable
- queryable
- levelable
Actions
# Commands shown in Telnet (ASCII) form. Web form = prefix 'W', '%2A' for '*',
# pipe '|' for CR. See source Command-and-Response table.
# Symbols: E=ESC(0x1B)/W for web, }=CR(0x0D), ]=CRLF(0x0D 0A), *=cmd char,
# X!=receptacle 1-4, etc. (see Notes).
# ---- Power Receptacle Control / Current Sense ----
- id: receptacle_power_on
label: Receptacle Power On
kind: action
command: "E X!*1PC}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "Cpn X!•Ppc1 ]"
- id: receptacle_power_off
label: Receptacle Power Off
kind: action
command: "E X!*0PC}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "Cpn X!•Ppc0 ]"
- id: receptacle_power_status
label: View Receptacle Power Status
kind: query
command: "E X!PC}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "X% ]"
- id: receptacle_current_status
label: View Receptacle Current Status
kind: query
command: "E X!PS}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "X( ]"
- id: group_receptacles
label: Group Receptacles
kind: action
command: "E X1)[1]X1)[2]X1)[3]X1)[4]GP}"
params:
- name: group_per_port
type: string
description: "Per-port group number 0-3 (0=none,1=yellow,2=green,3=red); exponents designate ports 1-4"
response: "Pgp X1)[1]X1)[2]X1)[3]X1)[4] ]"
- id: ungroup_receptacles
label: Ungroup Receptacles
kind: action
command: "E 0000GP}"
params: []
response: "Pgp0000 ]"
- id: view_receptacle_grouping
label: View Receptacles Grouping
kind: query
command: "E GP}"
params: []
response: "X1)[1]X1)[2]X1)[3]X1)[4] ]"
- id: set_power_up_delay
label: Set Power Up Delay
kind: action
command: "E X1^DT}"
params:
- name: delay
type: integer
description: "Delay in 1/3-sec increments, 1-255; default 3 (=1 sec)"
response: "Pdt X1^ ]"
- id: view_power_up_delay
label: View Power Up Delay
kind: query
command: "E DT}"
params: []
response: "X1^ ]"
- id: set_full_threshold
label: Set Individual Full Threshold
kind: action
command: "E X!*2TH}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "Ptf X! ]"
- id: set_standby_threshold
label: Set Individual Standby Threshold
kind: action
command: "E X!*1TH}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "Pts X! ]"
- id: clear_threshold
label: Clear Individual Threshold
kind: action
command: "E X!*0TH}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "Ptc X! ]"
- id: view_threshold_settings
label: View Threshold Setting For All Ports
kind: query
command: "E TH}"
params: []
response: "X([1],X([2],X([3],X([4] ]"
# ---- Executive Mode ----
- id: exec_mode_on
label: Set Executive Mode On
kind: action
command: "1X"
params: []
response: "Exe1 ]"
- id: exec_mode_off
label: Set Executive Mode Off
kind: action
command: "0X"
params: []
response: "Exe0 ]"
- id: view_exec_mode
label: View Executive Mode
kind: query
command: "X"
params: []
response: "X% ]"
# ---- Power Receptacle Monitoring and Alarm Functions ----
- id: set_alarm_conditions
label: Set Alarm Conditions
kind: action
command: "E X!*X70!*X70@*X70#SA}"
params:
- name: receptacle
type: integer
description: "Port receptacle 1-4 (X!)"
- name: condition
type: integer
description: "X70! - 0=off,1=on,2=ref:None,3=ref:Standby,4=ref:Full,5=any change"
- name: use_relay
type: integer
description: "X70@ - 0=no,1=yes"
- name: email_id
type: integer
description: "X70# - e-mail 61-64"
response: "Ast X!*X70!*X70@*X70#*X70$*X70% ]"
- id: view_alarm_conditions
label: View Alarm Conditions
kind: query
command: "E X!SA}"
params:
- name: receptacle
type: integer
description: Port receptacle 1-4 (X!)
response: "X70!*X70@*X70#*X70$*X70% ]"
- id: set_monitoring_enable
label: Monitoring Enable/Disable
kind: action
command: "E X!*X70$SA}"
params:
- name: receptacle
type: integer
description: "Port receptacle 1-4 (X!)"
- name: mode
type: integer
description: "X70$ - 0=disable,1=enable,2=enable with e-mail"
response: "Ast X!*X70!*X70@*X70#*X70$*X70% ]"
- id: set_alarm_mode
label: Set Alarm Mode
kind: action
command: "E X70^*X70&*X70**X70**X71)MA}"
params:
- name: clear_value
type: integer
description: "X70^ - 0-7 (see source KEY)"
- name: relay_polarity
type: integer
description: "X70& - 0=normally open,1=normally closed"
- name: hold_time_min
type: integer
description: "X70* - 0=never,1-7=minutes"
- name: off_timed_value
type: integer
description: "X71) - 00-15 (250 ms increments)"
response: "Arl X70^*X70&*X70**X70**X71) ]"
- id: view_alarm_mode
label: View Alarm Mode
kind: query
command: "E MA}"
params: []
response: "X70^*X70&*X70**X70**X71) ]"
# ---- Power Receptacle Scheduling ----
- id: set_scheduling
label: Set Scheduling
kind: action
command: "E X!*X71!*X%*X71@SS}"
params:
- name: receptacle
type: integer
description: "Port receptacle 1-4 (X!)"
- name: day_field
type: string
description: "X71! - day-of-week bitmap (full enumeration UNRESOLVED: source table truncated)"
- name: on_off
type: integer
description: "X% - 0=off,1=on"
- name: time_field
type: string
description: "X71@ - time field (full enumeration UNRESOLVED: source table truncated)"
# UNRESOLVED: full X71!/X71@ parameter enumerations truncated in source extraction.
# ---- Alarm Relay Functions ----
- id: alarm_relay_on
label: Turn Alarm Relay ON
kind: action
command: "1*1O}"
params: []
response: "Cpn1•Rly1 ]"
- id: alarm_relay_off
label: Turn Alarm Relay OFF
kind: action
command: "1*0O}"
params: []
response: "Cpn1•Rly0 ]"
- id: view_alarm_relay_state
label: View Alarm Relay State
kind: query
command: "1O}"
params: []
response: "X% ]"
- id: pulse_relay
label: Pulse Relay
kind: action
command: "1*3*X6#O}"
params:
- name: pulse_time
type: integer
description: "X6# - pulse time in 20 ms counts; missing/0=500 ms (default 25); max 35565 ms"
response: "Cpn1•Rly1 ] or Cpn1•Rly0 ]"
- id: toggle_relay
label: Toggle Relay
kind: action
command: "1*2O}"
params: []
response: "Cpn1•Rly1 ] or Cpn1•Rly0 ]"
# ---- Ethernet Data Port Commands ----
- id: set_connected_port_timeout
label: Set Current Connected Port Timeout
kind: action
command: "E 0*X6(TC}"
params:
- name: timeout_sec
type: integer
description: "X6( - seconds before IP timeout (min 1, max 6500, default 30=300s, step 10)"
response: "Pti0*X6( ]"
- id: view_connected_port_timeout
label: View Current Connected Port Timeout
kind: query
command: "E 0TC}"
params: []
response: "X6( ]"
- id: set_global_ip_timeout
label: Set Global IP Port Timeout
kind: action
command: "E 1*X6(TC}"
params:
- name: timeout_sec
type: integer
description: "X6( - seconds (min 1, max 6500, default 30=300s, step 10)"
response: "Pti1*X6( ]"
- id: view_global_ip_timeout
label: View Global IP Port Timeout
kind: query
command: "E 1TC}"
params: []
response: "X6( ]"
# ---- Firmware / Part Number / Information ----
- id: query_firmware_version
label: Query Firmware Version
kind: query
command: "Q"
params: []
response: "X1! ]"
- id: query_firmware_info
label: Query Firmware Information
kind: query
command: "1Q"
params: []
response: "X1! ]"
- id: query_bootstrap_version
label: Query Bootstrap Version
kind: query
command: "2Q"
params: []
response: "X1! ]"
- id: query_factory_firmware_version
label: Query Factory Firmware Version
kind: query
command: "3Q"
params: []
response: "X1! plus (web version - model - UL - date and time) ]"
- id: query_updated_firmware_version
label: Query Updated Firmware Version
kind: query
command: "4Q"
params: []
response: "X1! plus (web version - model - UL - date and time) ]"
- id: query_verbose_version
label: Query Verbose Version Information
kind: query
command: "0Q"
params: []
response: "Sum of responses from 2Q, 3Q, and 4Q ]"
- id: request_part_number
label: Request Interface Part Number
kind: query
command: "N"
params: []
response: "60-544-07 or 60-544-09 ]"
- id: request_model_name
label: Request Model Name
kind: query
command: "1I"
params: []
response: "IPL T PCS4 or IPL T PCS4i ]"
- id: request_model_description
label: Request Model Description
kind: query
command: "2I"
params: []
response: "Lists four switched 110 VAC or 220 VAC receptacles with current threshold sensing. ]"
- id: request_system_memory_usage
label: Request System Memory Usage
kind: query
command: "3I"
params: []
response: "Number of bytes and Kbytes used out of total Kbytes ]"
- id: request_user_memory_usage
label: Request User Memory Usage
kind: query
command: "4I"
params: []
response: "Number of bytes and Kbytes used out of total Kbytes ]"
# ---- E-mail Commands ----
- id: configure_email_events
label: Configure E-mail Events (Mailbox)
kind: action
command: "E X4%,X4^,X4&CR}"
params:
- name: mailbox_number
type: integer
description: "X4% - e-mail mailbox number"
- name: recipient
type: string
description: "X4^ - e-mail recipient address"
- name: file_name
type: string
description: "X4& - e-mail file name (e.g. 7.eml)"
response: "Ipr X4%,X4^,X4& ]"
- id: view_email_events
label: View E-mail Events (Mailbox)
kind: query
command: "E X4%CR}"
params:
- name: mailbox_number
type: integer
description: "X4% - e-mail mailbox number"
response: "X4^,X4& ]"
- id: send_email_events
label: Send E-mail Events (File Named in Mailbox)
kind: action
command: "E X4%SM}"
params:
- name: mailbox_number
type: integer
description: "X4% - e-mail mailbox number"
response: "Eml X4^ ]"
- id: send_email_alt_file
label: Send E-mail (Using Different File)
kind: action
command: "E X4%,X7),X4&SM}"
params:
- name: mailbox_number
type: integer
description: "X4% - e-mail mailbox number"
- name: alt_value
type: integer
description: "X7) - alternate value"
- name: file_name
type: string
description: "X4& - e-mail file name"
response: "Eml X4^ ]"
# ---- Web Browser-specific ----
- id: read_last_url_response
label: Read Response From Last URL Command
kind: query
command: "E UB}"
params: []
response: "Response from command ]"
# ---- Mail Server Setup ----
- id: set_mail_server
label: Set Mail Server IP, Unit Domain Name
kind: action
command: "E X1$,X1%CM}"
params:
- name: mail_server_ip
type: string
description: "X1$ - IP address (nnn.nnn.nnn.nnn)"
- name: domain_name
type: string
description: "X1% - e-mail domain name"
response: "Ipm •X1$,X1% ]"
- id: view_mail_server
label: View Mail Server IP, Unit Domain Name
kind: query
command: "E CM}"
params: []
response: "X1$,X1% ]"
# ---- IP Setup Commands ----
- id: set_unit_name
label: Set Unit Name
kind: action
command: "E X1@CN}"
params:
- name: name
type: string
description: "X1@ - up to 24 chars [A-Z,0-9,-]; first=letter, last!=hyphen, no spaces"
response: "Ipn •X1@ ]"
- id: reset_unit_name
label: Set Unit Name To Factory Default
kind: action
command: "E CN}"
params: []
response: "Ipn •X4( ]"
- id: view_unit_name
label: View Unit Name
kind: query
command: "E CN}"
params: []
response: "X1@ ]"
- id: set_date_time
label: Set Date And Time
kind: action
command: "E X1#CT}"
params:
- name: datetime
type: string
description: "X1# - format MM/DD/YY-HH:MM:SS"
response: "Ipn •X1# ]"
- id: view_date_time
label: View Date And Time
kind: query
command: "E CT}"
params: []
response: "X1# ]"
- id: set_gmt_offset
label: Set GMT Offset
kind: action
command: "E X#CZ}"
params:
- name: offset
type: string
description: "X# - GMT offset"
response: "Ipz X# ]"
- id: view_gmt_offset
label: View GMT Offset
kind: query
command: "E CZ}"
params: []
response: "X# ]"
- id: set_dst
label: Set Daylight Savings Time
kind: action
command: "E X3$CX}"
params:
- name: dst
type: integer
description: "X3$ - DST setting"
response: "Ipx X3$ ]"
- id: view_dst
label: View Daylight Savings Time
kind: query
command: "E CX}"
params: []
response: "X3$ ]"
- id: dhcp_on
label: Set DHCP On
kind: action
command: "E 1DH}"
params: []
response: "Idh 1 ]"
- id: dhcp_off
label: Set DHCP Off
kind: action
command: "E 0DH}"
params: []
response: "Idh 0 ]"
- id: view_dhcp_mode
label: View DHCP Mode
kind: query
command: "E DH}"
params: []
response: "X% ]"
- id: set_ip_address
label: Set IP Address
kind: action
command: "E X1$CI}"
params:
- name: ip
type: string
description: "X1$ - IP address nnn.nnn.nnn.nnn"
response: "Ipi •X1$ ]"
- id: view_ip_address
label: View IP Address
kind: query
command: "E CI}"
params: []
response: "X1$ ]"
- id: view_mac_address
label: View Hardware (MAC) Address
kind: query
command: "E CH}"
params: []
response: "X1* ]"
- id: set_subnet_mask
label: Set Subnet Mask
kind: action
command: "E X1(CS}"
params:
- name: mask
type: string
description: "X1( - subnet mask nnn.nnn.nnn.nnn"
response: "Ips •X1( ]"
- id: view_subnet_mask
label: View Subnet Mask
kind: query
command: "E CS}"
params: []
response: "X1( ]"
- id: set_gateway_ip
label: Set Gateway IP Address
kind: action
command: "E X1$CG}"
params:
- name: gateway
type: string
description: "X1$ - gateway IP nnn.nnn.nnn.nnn"
response: "Ipg •X1$ ]"
- id: view_gateway_ip
label: View Gateway IP Address
kind: query
command: "E CG}"
params: []
response: "X1$ ]"
- id: set_verbose_mode
label: Set Verbose Mode
kind: action
command: "E X2@CV}"
params:
- name: mode
type: integer
description: "X2@ - 0=None(default),1=verbose,2=tagged,3=verbose+tagged"
response: "Vrb X2@ ]"
- id: view_verbose_mode
label: View Verbose Mode Status
kind: query
command: "E CV}"
params: []
response: "X2@ ]"
- id: get_connection_listing
label: Get Connection Listing
kind: query
command: "E CC}"
params: []
response: "Number of connections"
# ---- Password and Security ----
- id: set_admin_password
label: Set Administrator Password
kind: action
command: "E X3#CA}"
params:
- name: password
type: string
description: "X3# - 4-12 chars, no special chars"
response: "Ipa •X4! ]"
- id: clear_admin_password
label: Clear Administrator Password
kind: action
command: "E CA}"
params: []
response: "Ipa • ]"
- id: view_admin_password
label: View Administrator Password
kind: query
command: "E CA}"
params: []
response: "X4! ]"
- id: set_user_password
label: Set User Password
kind: action
command: "E X3#CU}"
params:
- name: password
type: string
description: "X3# - 4-12 chars, no special chars"
response: "Ipu •X4! ]"
- id: clear_user_password
label: Clear User Password
kind: action
command: "E CU}"
params: []
response: "Ipu • ]"
- id: view_user_password
label: View User Password
kind: query
command: "E CU}"
params: []
response: "X4! ]"
- id: query_security_level
label: Query Session Security Level
kind: query
command: "E CK}"
params: []
response: "X5@ ] (11=user, 12=admin)"
# ---- Remapping Port Designations ----
- id: set_telnet_port_map
label: Set Telnet Port Map
kind: action
command: "E port#MT}"
params:
- name: port
type: integer
description: Telnet port number
response: "Pmt port# ]"
- id: reset_telnet_port_map
label: Reset Telnet Port Map
kind: action
command: "E 23MT}"
params: []
response: "Pmt 00023 ]"
- id: disable_telnet_port_map
label: Disable Telnet Port Map
kind: action
command: "E 0MT}"
params: []
response: "Pmt 00000 ]"
- id: view_telnet_port_map
label: View Telnet Port Map
kind: query
command: "E MT}"
params: []
response: "port# ]"
- id: set_web_port_map
label: Set Web Port Map
kind: action
command: "E port#MH}"
params:
- name: port
type: integer
description: Web port number
response: "Pmh port# ]"
- id: reset_web_port_map
label: Reset Web Port Map
kind: action
command: "E 80MH}"
params: []
response: "Pmh 00080 ]"
- id: disable_web_port_map
label: Disable Web Port Map
kind: action
command: "E 0MH}"
params: []
response: "Pmh 00000 ]"
- id: view_web_port_map
label: View Web Port Map
kind: query
command: "E MH}"
params: []
response: "port# ]"
# ---- Directory Commands ----
- id: change_create_directory
label: Change Or Create A Directory
kind: action
command: "E path/directory/CJ}"
params:
- name: path
type: string
description: Directory path
response: "Dir •path/directory/ ]"
- id: move_to_root_directory
label: Move Back To Root Directory
kind: action
command: "E /CJ}"
params: []
response: "Dir •/ ]"
- id: move_up_directory
label: Move Up One Directory
kind: action
command: "E ..CJ}"
params: []
response: "-"
# ---- File Erase Commands ----
- id: erase_file
label: Erase User-supplied Web Page Or File
kind: action
command: "E filename EF}"
params:
- name: filename
type: string
description: File to erase
response: "Del •filename ]"
- id: erase_current_directory
label: Erase Current Directory And Its Files
kind: action
command: "E /EF}"
params: []
response: "Ddl ]"
- id: erase_directory_recursive
label: Erase Current Directory And Subdirectories
kind: action
command: "E //EF}"
params: []
response: "Ddl ]"
# ---- File Listing Commands ----
- id: list_files
label: List Files From Current Directory
kind: query
command: "E DF}"
params: []
response: "filename x • date/time • length ] (per line)"
- id: list_files_recursive
label: List Files From Current Directory And Below
kind: query
command: "E LF}"
params: []
response: "path/directory/filename x • date/time • length ] (per line)"
# ---- Stream Files via Telnet ----
- id: load_file_to_user_memory
label: Load File To User Memory
kind: action
command: "E +UF filesize,filename}"
params:
- name: filesize
type: integer
description: File size in bytes
- name: filename
type: string
description: File name
response: "Upl ]"
- id: retrieve_file_from_flash
label: Retrieve File From User Flash Memory
kind: query
command: "E filename SF}"
params:
- name: filename
type: string
description: File name
response: "ESC filename SF CR, then four bytes of file size + raw data"
# ---- Reset (Zap) and Erase ----
- id: erase_user_flash
label: Erase User Flash Memory (Files Only)
kind: action
command: "E ZFFF}"
params: []
response: "Zpf ]"
- id: factory_reset_all
label: Reset All Device Settings To Factory Default
kind: action
command: "E ZXXX}"
params: []
response: "Zpx ]"
- id: absolute_system_reset
label: Absolute System Reset
kind: action
command: "E ZQQQ}"
params: []
response: "Zpq ]"
Feedbacks
# Error responses documented in source (E-codes):
- id: error_e12
type: enum
values: ["E12 - Invalid port number"]
- id: error_e13
type: enum
values: ["E13 - Invalid value (out of range/too large)"]
- id: error_e14
type: enum
values: ["E14 - Not valid for this configuration"]
- id: error_e17
type: enum
values: ["E17 - System timed out"]
- id: error_e22
type: enum
values: ["E22 - Busy"]
- id: error_e24
type: enum
values: ["E24 - Privilege violation"]
- id: error_e25
type: enum
values: ["E25 - Device is not present"]
- id: error_e26
type: enum
values: ["E26 - Maximum connections exceeded"]
- id: error_e27
type: enum
values: ["E27 - Invalid event number"]
- id: error_e28
type: enum
values: ["E28 - Bad filename or file not found"]
# Receptacle power state (returned by X!PC):
- id: receptacle_power_state
type: enum
values: [off, on] # X% - 0=off, 1=on
# Receptacle current threshold sense (returned by X!PS):
- id: receptacle_threshold_state
type: enum
values: [none, standby, full] # X( - 0=clear/none, 1=standby, 2=full
# Connection security level:
- id: security_level
type: enum
values: [user, administrator] # X5@ - 11=user, 12=admin
Variables
# Settable parameters not covered as discrete actions are parameterized inline above.
# Top-level settable: unit_name (X1@), ip_address (X1$), subnet_mask (X1(),
# gateway (X1$), gmt_offset (X#), dst (X3$), dhcp (X%), verbose_mode (X2@),
# admin_password (X3#), user_password (X3#), mail_server_ip (X1$),
# domain_name (X1%), power_up_delay (X1^), telnet_port, web_port.
# See Actions for command templates.
Events
# Unsolicited PCS4-initiated messages documented in source:
- id: boot_banner
description: >
Sent when unit first powers on and connects via Telnet/TCP. Format:
"© Copyright 20nn, Extron Electronics, IPL T PCS4 [or -PCS4i], Vn.nn, 60-544-nn ]"
followed by "Www, DD Mmm 2011 HH:MM:SS ]"
- id: password_prompt
description: "] Password:" prompt (only if a password is defined)
- id: verbose_unsolicited
description: >
Verbose-mode unsolicited notices (e.g. power level change). Disabled by
default over Ethernet; must be re-enabled each reconnect.
Macros
# No multi-step macros documented as discrete sequences in source.
# UNRESOLVED: none documented.
Safety
confirmation_required_for:
- absolute_system_reset # E ZQQQ} - breaks all TCP/IP sockets, factory reset
- factory_reset_all # E ZXXX} - resets all settings to factory default
- erase_user_flash # E ZFFF} - erases user files
- erase_directory_recursive # E //EF} - recursive delete
- erase_current_directory # E /EF} - directory + files delete
interlocks:
- "Reset modes break all TCP/IP connections by closing all sockets (source ATTENTION note)."
- "Mode 4 reset requires physical Reset button hold (~6s) + momentary press (<1s)."
- "User password cannot be assigned if admin password absent; clearing admin pw also removes user pw."
# UNRESOLVED: no explicit voltage/current interlock sequences documented in source text.
Notes
- Two transport paths share the same SIS command set: Telnet (TCP 23) uses ASCII with
E=ESC and}=CR; web browser (TCP 80) usesWprefix,%2Afor*, and|for CR. - Symbol legend:
]=CR/LF (0x0D 0A),}=CR (0x0D),E=ESC (0x1B),W=web equivalent of ESC,|=pipe (URL equiv of CR),•=space,*=command char (not a variable). - Numbers may be entered as 1/2/3 digits (e.g.
8V=08V=008V); commands can be sent back-to-back without spaces (e.g.2!65V1Z). - Variable reference (see source "Variable Reference KEY consolidated" for full X## legend): X!=receptacle 1-4, X%=on/off, X(=threshold sense, X1^=power-up delay, X1$=IP, X1(=mask, X1@=unit name, X2@=verbose, X3#=password, X4%=mailbox, X6#=pulse time, X6(=IP timeout, X70!-X70*=alarm fields, X71)/X71!/X71@=scheduling fields.
- Error codes E12-E28 documented (see Feedbacks).
- Default IP
192.168.254.254, mask255.255.0.0, gateway0.0.0.0, DHCP off. - Factory passwords default to device serial number; revert to
extronafter absolute reset. - Part numbers: 60-544-07 / 60-544-09.
Spec done. ~90 actions, both Telnet+web TCP paths, password auth (factory default documented), all error codes, boot events, safety interlocks for resets/erases. Gaps marked UNRESOLVED: scheduling sub-table (truncated in source), firmware compat, voltage specs.
## Provenance
```yaml
source_domains:
- media.extron.com
- extron.com
- aca.im
source_urls:
- https://media.extron.com/public/download/files/userman/68-738-07_C_IPL_T_PCS4_UG.pdf
- https://www.extron.com/product/ipltpcs4i
- https://www.extron.com/download/control-system-drivers
- https://aca.im/driver_docs/Extron/PDU_IPL_T_PCS4.pdf
- https://www.extron.com/download/files/userman/68-738-07_C_IPL_T_PCS4_UG.pdf
retrieved_at: 2026-06-14T23:37:15.832Z
last_checked_at: 2026-06-16T07:05:19.221Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-06-16T07:05:19.221Z
matched_actions: 99
action_count: 99
confidence: medium
summary: "All 99 actions matched exactly against source command tables; transport parameters fully documented; spec comprehensively represents source command catalogue. (10 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "full scheduling sub-table truncated in source extraction (X71!/X71@ enumerations incomplete)."
- "source table truncated)\""
- "full X71!/X71@ parameter enumerations truncated in source extraction."
- "none documented."
- "no explicit voltage/current interlock sequences documented in source text."
- "full scheduling sub-table (X71!/X71@ enumerations) truncated in source PDF extraction."
- "firmware version compatibility not stated in source (banner shows Vn.nn placeholder)."
- "voltage/current specs for receptacles not stated in refined source (110/220 VAC mentioned in model description only)."
- "protocol version number not stated."
- "scheduling sub-table (truncated in source), firmware compat, voltage specs."
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0