Summary
Sony professional display controlled over TCP/IP via Simple IP Control protocol on port 20060. Fixed 24-byte ASCII command format with four-character command codes (FourCC). Supports power, volume, mute, input, picture mute, IR remote passthrough, scene settings, and network interface queries. EU models have RED-DA compliant variants with different command availability.
Transport
protocols:
- tcp
addressing:
port: 20060
auth:
type: none # inferred: no auth procedure in source
Traits
powerable: true # setPowerStatus, togglePowerStatus, getPowerStatus
queryable: true # getPowerStatus, getAudioVolume, getAudioMute, getInput, getPictureMute, getSceneSetting, getBroadcastAddress, getMacAddress
levelable: true # setAudioVolume, setAudioMute, setPictureMute
routable: true # setInput, getInput
Actions
- id: setIrccCode
label: Send IR Command
kind: action
command: "*SCIRCC{code:016d}#" # literal template: header 0x2A 0x53, type C, FourCC IRCC, 16-char decimal IR code, padding chars, footer 0x0A
params:
- name: code
type: integer
description: IR command code (0-127). Display=5, Home=6, Options=7, Return=8, Up=9, Down=10, Right=11, Left=12, Confirm=13, Red=14, Green=15, Yellow=16, Blue=17, Num1=18, Num2=19, Num3=20, Num4=21, Num5=22, Num6=23, Num7=24, Num8=25, Num9=26, Num0=27, VolumeUp=30, VolumeDown=31, Mute=32, ChannelUp=33, ChannelDown=34, Subtitle=35, DOT=38, PictureOff=50, Wide=61, Jump=62, SyncMenu=76, Forward=77, Play=78, Rewind=79, Prev=80, Stop=81, Next=82, Pause=84, FlashPlus=86, FlashMinus=87, TVPower=98, Audio=99, Input=101, Sleep=104, SleepTimer=105, Video2=108, PictureMode=110, DemoSurround=121, HDMI1=124, HDMI2=125, HDMI3=126, HDMI4=127, ActionMenu=129, Help=130
- id: setPowerStatus
label: Set Power Status
kind: action
command: "*SCPOWR000000000000000{power:01d}#" # parameter byte at position 22 (byte[22])
params:
- name: power
type: integer
description: 0 = Standby (Off), 1 = Active (On)
enum: [0, 1]
- id: getPowerStatus
label: Get Power Status
kind: query
command: "*SEPOWR################" # E type, POWR FourCC, 16x '#' in parameter field, footer LF
params: []
- id: togglePowerStatus
label: Toggle Power Status
kind: action
command: "*SCTPOW################" # C type, TPOW FourCC, 16x '#' in parameter field, footer LF
params: []
- id: setAudioVolume
label: Set Audio Volume
kind: action
command: "*SCVOLU{volume:016d}####" # 16-char decimal-padded value in parameter field
params:
- name: volume
type: integer
description: Decimal volume value padded left with zeros, e.g. 0000000000000029
- id: getAudioVolume
label: Get Audio Volume
kind: query
command: "*SEVOLU################"
params: []
- id: setAudioMute
label: Set Audio Mute
kind: action
command: "*SCAMUT000000000000000{mute:01d}" # parameter byte at position 22
params:
- name: mute
type: integer
enum: [0, 1]
description: 0 = Unmute, 1 = Mute
- id: getAudioMute
label: Get Audio Mute
kind: query
command: "*SEAMUT################"
params: []
- id: setInput
label: Set Input
kind: action
command: "*SCINPT00000000000{type:01d}000{index:04d}#" # type at byte[13], index 4-char at bytes[18-21]
params:
- name: type
type: integer
description: Input type code. 1 = HDMI, 3 = Composite, 4 = Component, 5 = Screen Mirroring
enum: [1, 3, 4, 5]
- name: index
type: integer
description: Input index (1-9999)
- id: getInput
label: Get Input
kind: query
command: "*SEINPT################"
params: []
- id: setPictureMute
label: Set Picture Mute
kind: action
command: "*SCPMUT000000000000000{mute:01d}" # parameter byte at position 22
params:
- name: mute
type: integer
enum: [0, 1]
description: 0 = Disable picture mute, 1 = Enable picture mute (black screen)
- id: getPictureMute
label: Get Picture Mute
kind: query
command: "*SEPMUT################"
params: []
- id: togglePictureMute
label: Toggle Picture Mute
kind: action
command: "*SCTPMU################" # C type, TPMU FourCC
params: []
- id: setSceneSetting
label: Set Scene Setting
kind: action
command: "*SCSCEN{scene:16s}#" # 16-char scene string, case-sensitive, right-padded with '#'
params:
- name: scene
type: string
description: Scene name. Case-sensitive, padded right with "#". Values: auto, auto24pSync, general
enum: [auto, auto24pSync, general]
- id: getSceneSetting
label: Get Scene Setting
kind: query
command: "*SESCEN################"
params: []
- id: getBroadcastAddress
label: Get Broadcast Address
kind: query
command: "*SEBADR{ethN:4s}############" # EU RED-DA variant; eth interface string e.g. 'eth0', right-padded with '#'
params:
- name: ethN
type: string
description: Interface identifier (e.g. 'eth0'), right-padded with '#'
notes: EU models only - RED-DA compliance variant
- id: getMacAddress
label: Get MAC Address
kind: query
command: "*SEMADR{ethN:4s}############" # EU RED-DA variant; eth interface string e.g. 'eth0', right-padded with '#'
params:
- name: ethN
type: string
description: Interface identifier (e.g. 'eth0'), right-padded with '#'
notes: EU models only - RED-DA compliance variant
Feedbacks
- id: powerStatus
label: Power Status
type: enum
values:
- 0 # Standby (Off)
- 1 # Active (On)
comment: Returned by getPowerStatus and firePowerChange events
- id: audioVolume
label: Audio Volume
type: integer
comment: Returned by getAudioVolume and fireVolumeChange events
- id: audioMute
label: Audio Mute Status
type: enum
values:
- 0 # Not Muted
- 1 # Muted
comment: Returned by getAudioMute and fireMuteChange events
- id: inputStatus
label: Input Status
type: object
properties:
type:
type: integer
enum: [1, 3, 4, 5]
description: 1=HDMI, 3=Composite, 4=Component, 5=Screen Mirroring
index:
type: integer
comment: Returned by getInput and fireInputChange events
- id: pictureMute
label: Picture Mute Status
type: enum
values:
- 0 # Disabled (Picture mute off)
- 1 # Enabled (Picture mute on)
comment: Returned by getPictureMute and firePictureMuteChange events
- id: sceneSetting
label: Scene Setting
type: string
comment: Returned by getSceneSetting. Values: auto, auto24pSync, general
- id: broadcastAddress
label: Broadcast IPv4 Address
type: string
comment: Returned by getBroadcastAddress. Interface specified by ethN parameter. EU models.
- id: macAddress
label: MAC Address
type: string
comment: Returned by getMacAddress. Interface specified by ethN parameter. EU models.
Variables
# UNRESOLVED: no standalone settable parameters outside action commands
Events
- id: firePowerChange
label: Power Change Event
direction: monitor_to_client
command: "*SNPOWR000000000000000{power:01d}" # N type, POWR FourCC
params:
- name: power
type: integer
enum: [0, 1]
description: 0 = powering off, 1 = powering on
- id: fireInputChange
label: Input Change Event
direction: monitor_to_client
command: "*SNINPT00000000000{type:01d}000{index:04d}#" # N type, INPT FourCC
params:
- name: type
type: integer
description: Input type code (1=HDMI, 3=Composite, 4=Component, 5=Screen Mirroring)
- name: index
type: integer
description: Input index (1-9999)
- id: fireVolumeChange
label: Volume Change Event
direction: monitor_to_client
command: "*SNVOLU{volume:016d}####" # N type, VOLU FourCC
params:
- name: volume
type: integer
description: Current volume value
- id: fireMuteChange
label: Mute Change Event
direction: monitor_to_client
command: "*SNAMUT000000000000000{mute:01d}" # N type, AMUT FourCC
params:
- name: mute
type: integer
enum: [0, 1]
description: 0 = unmuting, 1 = muting
- id: firePictureMuteChange
label: Picture Mute Change Event
direction: monitor_to_client
command: "*SNPMUT000000000000000{mute:01d}" # N type, PMUT FourCC
params:
- name: mute
type: integer
enum: [0, 1]
description: 0 = picture mute enabled, 1 = picture mute disabled
Macros
# UNRESOLVED: no explicit multi-step macros in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Command format: 24-byte fixed-size ASCII. Header: *S (0x2A 0x53). Footer: 0x0A (LF). Message types: C=Control, E=Enquiry, A=Answer, N=Notify. Commands use FourCC ASCII identifiers (bytes 3-6). Parameters in bytes 7-22. Success response: all zeros. Error response: all F. NotFound response: all N (for setInput/getInput only). Network connect via netcat [IP] 20060. Monitor requires: Enable Remote Device Control + Enable Simple IP Control in settings.
Command timing: not specified in source. IR codes cover full remote control including number pad, color buttons, media controls, HDMI source selection.
EU RED-DA compliance: getBroadcastAddress (BADR) and getMacAddress (MADR) marked with * in source — available commands vary by specification. Reference: https://pro-bravia.sony.net/setup/device-settings/red-da/
Provenance
source_domains:
- pro-bravia.sony.net
source_urls:
- https://pro-bravia.sony.net/remote-display-control/simple-ip-control/
- https://pro-bravia.sony.net/remote-display-control/rest-api/
- https://pro-bravia.sony.net/remote-display-control/rest-api/reference/
- https://pro-bravia.sony.net/remote-display-control/rest-api/structure/
- https://pro-bravia.sony.net/remote-display-control/ircc-ip/
retrieved_at: 2026-05-26T04:51:07.075Z
last_checked_at: 2026-07-22T01:23:54.011Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T01:23:54.011Z
matched_actions: 17
action_count: 17
confidence: medium
summary: "All 17 spec actions matched source with correct command codes, parameter shapes, and transport. Source N-type event commands documented in the spec Events section. (5 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "EU RED-DA specification variants not fully documented in source"
- "no standalone settable parameters outside action commands"
- "no explicit multi-step macros in source"
- "no safety warnings or interlock procedures in source"
- "getBroadcastAddress and getMacAddress interface selection (ethN parameter) not fully documented"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0