Summary
Sony projector controllable via Ethernet (SDCP protocol) and RS-232C. The SDCP (Simple Display Control Protocol) runs on TCP port 53484 and supports set/get commands for input selection, picture mode, aspect ratio, and status queries. PJLink Class 1 is also supported for power, input switching, AV mute, error status, and lamp inquiries.
Transport
protocols:
- tcp
- serial
addressing:
port: 53484 # SDCP factory-default port
serial:
baud_rate: null # UNRESOLVED: serial communication specs not captured in refined source
data_bits: null # UNRESOLVED
parity: null # UNRESOLVED
stop_bits: null # UNRESOLVED
flow_control: null # UNRESOLVED
auth:
type: community # SDCP uses a 4-character community string; factory default is "SONY" (case-sensitive)
description: >
SDCP packets include a COMMUNITY field (4 alphanumeric chars, case-sensitive).
Factory default is "SONY". A Community Error is returned if the field does not match.
PJLink supports an optional password configurable via the web interface.
Traits
traits:
- powerable # inferred: POWR command for power on/off
- queryable # inferred: multiple inquiry commands (POWR?, INPT?, ERST?, LAMP?, INST?, INF1?, INF2?, INFO?, CLSS?)
- routable # inferred: input terminal switching commands (INPT, SDCP INPUT TERMINAL item)
- muteable # inferred: AVMT command for AV muting
Actions
# --- PJLink Commands (14 supported) ---
- id: power_on
label: Power On
kind: action
protocol: pjlink
command: "POWR 1"
params: []
- id: power_off
label: Power Off
kind: action
protocol: pjlink
command: "POWR 0"
params: []
- id: power_status_query
label: Power Status Query
kind: query
protocol: pjlink
command: "POWR ?"
params: []
- id: input_switch
label: Switch Input
kind: action
protocol: pjlink
command: "INPT <input>"
params:
- name: input
type: integer
description: "Input number (e.g. 21 for Video)"
- id: input_status_query
label: Input Status Query
kind: query
protocol: pjlink
command: "INPT ?"
params: []
- id: av_mute_set
label: Set AV Mute
kind: action
protocol: pjlink
command: "AVMT <state>"
params:
- name: state
type: integer
description: "Mute state value"
- id: av_mute_status_query
label: AV Mute Status Query
kind: query
protocol: pjlink
command: "AVMT ?"
params: []
- id: error_status_query
label: Error Status Query
kind: query
protocol: pjlink
command: "ERST ?"
params: []
- id: lamp_info_query
label: Lamp Count/Time Query
kind: query
protocol: pjlink
command: "LAMP ?"
params: []
- id: input_list_query
label: Input Switch List Query
kind: query
protocol: pjlink
command: "INST ?"
params: []
- id: manufacturer_name_query
label: Manufacturer Name Query
kind: query
protocol: pjlink
command: "INF1 ?"
params: []
- id: model_name_query
label: Model Name Query
kind: query
protocol: pjlink
command: "INF2 ?"
params: []
- id: other_info_query
label: Other Information Query
kind: query
protocol: pjlink
command: "INFO ?"
params: []
- id: class_info_query
label: Class Information Query
kind: query
protocol: pjlink
command: "CLSS ?"
params: []
# --- SDCP Commands ---
- id: sdrp_set_picture_mode
label: Set Picture Mode (SDCP)
kind: action
protocol: sdcp
description: >
SDCP SET request with item number 0002h for picture mode.
Example from source: HEADER(02h,0Ah) COMMUNITY("SONY") COMMAND(00h,0002h,02h) DATA(0000h).
DATA=0000h = Dynamic. Other picture mode values not enumerated in refined source.
params:
- name: picture_mode
type: integer
description: "Picture mode data value (e.g. 0000h for Dynamic)"
- id: sdcp_get_picture_mode
label: Get Picture Mode (SDCP)
kind: query
protocol: sdcp
description: >
SDCP GET request with item number 0002h. Returns current picture mode value in DATA field.
command: "ITEM=0002h SET/GET=01h"
params: []
- id: sdcp_set_aspect
label: Set Aspect Ratio (SDCP)
kind: action
protocol: sdcp
description: >
SDCP SET request with item number 0020h for aspect ratio.
Example from source: DATA=0003h sets aspect to ZOOM.
params:
- name: aspect
type: integer
description: "Aspect ratio data value (e.g. 0003h for ZOOM)"
- id: sdcp_get_aspect
label: Get Aspect Ratio (SDCP)
kind: query
protocol: sdcp
description: >
SDCP GET request with item number 0020h. Returns current aspect value in DATA field.
command: "ITEM=0020h SET/GET=01h"
params: []
- id: sdcp_set_input_terminal
label: Set Input Terminal (SDCP)
kind: action
protocol: sdcp
description: >
SDCP SET request with input terminal item number.
Values vary by model series (EX series: 00h=VIDEO, 01h=S VIDEO, 02h=INPUT A, 03h=INPUT B, 04h=INPUT C, 05h=USB TYPE B, 06h=NETWORK).
DX/DW series: 00h=VIDEO, 02h=INPUT A, 03h=INPUT B, 04h=USB TYPE B, 05h=NETWORK.
params:
- name: input
type: integer
description: "Input terminal code (model-specific)"
- id: sdcp_get_input_terminal
label: Get Input Terminal (SDCP)
kind: query
protocol: sdcp
description: >
SDCP GET request for current input terminal.
command: "ITEM=0000h SET/GET=01h"
params: []
- id: sdcp_get_model_name
label: Get Model Name (SDCP)
kind: query
protocol: sdcp
description: >
SDCP system item 0x8001. Returns 12 alphanumeric characters, padded with 00h if shorter.
command: "ITEM=8001h SET/GET=01h"
params: []
- id: sdcp_get_serial_number
label: Get Serial Number (SDCP)
kind: query
protocol: sdcp
description: >
SDCP system item 0x8002. Returns 4-byte serial number (00000000 to 99999999).
command: "ITEM=8002h SET/GET=01h"
params: []
- id: sdcp_get_installation_location
label: Get Installation Location (SDCP)
kind: query
protocol: sdcp
description: >
SDCP system item 0x8003. Returns 24 alphanumeric characters, padded with 00h if shorter.
command: "ITEM=8003h SET/GET=01h"
params: []
# --- RS-232C Simplified Command (ACK/NAK) ---
- id: rs232_ack
label: RS-232C ACK
kind: feedback
protocol: serial
description: >
Response packet returned by projector on successful command execution.
START CODE = A9h, ACK/NAK = 0000h (Complete), ACK = 03h.
command: "A9h 0000h 03h"
params: []
# UNRESOLVED: Complete SDCP item number list not fully captured - additional set/get commands for picture adjustments, lens settings, etc. may exist.
# UNRESOLVED: RS-232C command block format and baud rate/serial config not fully captured.
Feedbacks
# --- PJLink Inquiry Responses ---
- id: power_state
label: Power Status
protocol: pjlink
command: "POWR ?"
type: enum
values:
- "0" # Standby or power-saving
- "1" # Power ON
- "2" # Cooling
- id: input_status
label: Input Status
protocol: pjlink
command: "INPT ?"
type: string
description: "Returns input number (e.g. '21' for Video). Input channel values vary by model."
- id: av_mute_status
label: AV Mute Status
protocol: pjlink
command: "AVMT ?"
type: string
- id: error_status
label: Error Status
protocol: pjlink
command: "ERST ?"
type: string
description: >
6-digit error code. Each digit: 0=no error, 1=warning.
Digit positions (left to right, 6th to 1st): fan, lamp, temperature, cover open, filter, other.
- id: lamp_info
label: Lamp Count/Time
protocol: pjlink
command: "LAMP ?"
type: string
description: "Returns lamp count and lamp time information."
- id: input_list
label: Input Switch List
protocol: pjlink
command: "INST ?"
type: string
description: "Returns list of available input channels."
- id: manufacturer_name
label: Manufacturer Name
protocol: pjlink
command: "INF1 ?"
type: enum
values:
- "SONY" # Normal response
- "ERR4" # Projector error or warning
- id: model_name
label: Model Name
protocol: pjlink
command: "INF2 ?"
type: string
- id: other_info
label: Other Information
protocol: pjlink
command: "INFO ?"
type: enum
values:
- " " # Space character (normal)
- "ERR4" # Projector error or warning
- id: class_info
label: Class Information
protocol: pjlink
command: "CLSS ?"
type: enum
values:
- "1" # PJLink Class 1
# --- SDCP Responses ---
- id: sdcp_response
label: SDCP Response
protocol: sdcp
type: composite
description: >
SDCP RESPONSE command has 3 sub-fields: RESPONSE(1 byte), ITEM NO(2 bytes), DATA LENGTH(1 byte).
RESPONSE 01h = OK (request executed correctly).
Error codes: Item Error (01h), Community Error (02h), Request Error (03h).
Sub-errors for Item Error: Invalid Item, Invalid Item Request, Invalid Length, Invalid Data, Short Data, Not Applicable Item.
- id: sdcp_model_name
label: SDCP Model Name
protocol: sdcp
type: string
description: "Item 0x8001. 12 alphanumeric characters, padded with 00h."
- id: sdcp_serial_number
label: SDCP Serial Number
protocol: sdcp
type: string
description: "Item 0x8002. 4 bytes, range 00000000 to 99999999."
- id: sdcp_installation_location
label: SDCP Installation Location
protocol: sdcp
type: string
description: "Item 0x8003. 24 alphanumeric characters, padded with 00h."
# --- SDAP Advertisement ---
- id: sdap_advertisement
label: SDAP Advertisement
protocol: sdap
type: composite
description: >
Broadcast packet containing: POWER, HEADER(12 bytes), PRODUCT NAME(24 bytes), LOCATION,
COMMUNITY, SERIAL NO., STATUS. Disabled by default.
Header = ID(2 bytes, 4441h) + VERSION(1 byte) + CATEGORY(1 byte).
Variables
# UNRESOLVED: settable parameters (brightness, contrast, etc.) not documented in source
Events
# SDAP advertisement broadcasts (disabled by default):
# - Periodic broadcast of equipment information on the network
# - Contains power state, product name, location, community, serial number, status
# - Header structure: ID=4441h (2 bytes), VERSION (1 byte), CATEGORY (1 byte)
# Note: SDAP is set to OFF by default; must be enabled for unsolicited events.
Macros
# UNRESOLVED: no multi-step sequences described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not describe safety warnings, interlock procedures, or power-on sequencing requirements specific to this model.
# Note: PJLink returns cooling state (POWR?=2) after power-off command; controller should wait for standby (0) before issuing further commands.
Notes
- The projector supports three control protocols: SDCP (Sony proprietary over Ethernet), SDAP (Sony Discovery and Advertisement Protocol, broadcast), and PJLink Class 1 (standard).
- SDCP community string defaults to "SONY" (4 characters, case-sensitive, alphanumeric). Must match on all packets or a Community Error is returned.
- SDCP header uses VERSION=02h and CATEGORY=0Ah (projector).
- SDAP and PJLink over Ethernet are both set to OFF by default and must be enabled via the projector's web interface or menu.
- PJLink password is optional and configurable via Web > Setup > Advanced Menu.
- RS-232C uses a D-Sub 9 pin cross (reverse) cable. Serial specs not captured in refined source.
- Controller must not send multiple commands simultaneously; wait for response before sending next.
- SDCP packet structure: START CODE (A9h), ITEM NUMBER (2 bytes), SET/GET (00h=SET, 01h=GET), DATA (2 bytes), CHECK SUM (1 byte), END CODE (9Ah).
- SDCP example: Set picture mode to Dynamic = HEADER(02h,0Ah) COMMUNITY("SONY") COMMAND(00h,0002h,02h) DATA(0000h).
- SDCP example: Set ASPECT to ZOOM = START A9h, ITEM 0020h, SET/GET 00h, DATA 0003h, CHECK SUM 23h, END 9Ah.
- RS-232 ACK response packet: START A9h, ACK/NAK 0000h (Complete), ACK 03h.
- PJLink supports 14 commands total: POWR, POWR?, INPT, INPT?, AVMT, AVMT?, ERST?, LAMP?, INST?, INF1?, INF2?, INFO?, CLSS? (13 listed in source table, with INF1/INF2/INFO/CLSS named in prose).
- PJLink INF1 returns "SONY" on success or "ERR4" on projector error/warning.
- PJLink INFO returns a single space " " on success or "ERR4" on projector error/warning.
- PJLink ERST error digit order (6th to 1st, left to right): fan, lamp, temperature, cover open, filter, other.
- SDCP system items: 0x8001=Model name (12 chars, 00h-padded), 0x8002=Serial number (4 bytes, 00000000-99999999), 0x8003=Installation location (24 chars, 00h-padded).
- Input terminal codes vary by model series. Verify applicable codes for VPL-XW5000ES specifically.
Provenance
source_domains:
- manualslib.com
source_urls:
- https://www.manualslib.com/manual/937722/Sony-Vpl-Dx125.html
retrieved_at: 2026-06-11T01:37:27.378Z
last_checked_at: 2026-06-11T13:48:08.812Z
Verification Summary
verdict: verified
checked_at: 2026-06-11T13:48:08.812Z
matched_actions: 24
action_count: 24
confidence: medium
summary: "All 24 spec actions (14 PJLink + 10 SDCP) matched verbatim in source; transport parameters verified; complete coverage of documented protocol commands. (16 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Source document title lists VPL-DX125/DX145/DW125/EX221/EX225/EX241/EX245/EX271/EX275/EW225/EW245/EW275 — VPL-XW5000ES is not explicitly mentioned. Protocol details may differ for this model. Verify against device-specific documentation."
- "RS-232C serial communication specifications (baud rate, data bits, parity, stop bits) were not captured in the refined source."
- "Complete SDCP item number list for all controllable parameters was not fully captured."
- "Firmware version compatibility not stated in source."
- "serial communication specs not captured in refined source"
- "Complete SDCP item number list not fully captured - additional set/get commands for picture adjustments, lens settings, etc. may exist."
- "RS-232C command block format and baud rate/serial config not fully captured."
- "settable parameters (brightness, contrast, etc.) not documented in source"
- "no multi-step sequences described in source"
- "source does not describe safety warnings, interlock procedures, or power-on sequencing requirements specific to this model."
- "Source document covers VPL-DX125/DX145/DW125/EX221/EX225/EX241/EX245/EX271/EX275/EW225/EW245/EW275 — not VPL-XW5000ES. Input terminal codes, item numbers, and feature availability may differ."
- "RS-232C communication specifications (baud rate, data bits, parity, stop bits, flow control) not captured in refined source."
- "Complete SDCP ITEM list for all controllable parameters not fully captured."
- "Firmware version compatibility not stated."
- "Power-on sequencing requirements not stated."
- "Timing constraints between commands not stated beyond \"no simultaneous commands\"."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0