Summary
Sony consumer LED/LCD monitor series supporting Simple IP Control over TCP (port 20060). Fixed 24-byte ASCII command protocol with FourCC command encoding. Supports power, volume, mute, input selection, picture mute, and scene setting control via network. IR command passthrough via setIrccCode. EU models have variant command availability per RED-DA compliance.
Transport
protocols:
- tcp
addressing:
port: 20060
auth:
type: none # inferred: no auth procedure in source
Traits
powerable: true # inferred: setPowerStatus, togglePowerStatus present
queryable: true # inferred: getPowerStatus, getAudioVolume, getAudioMute, getInput, getPictureMute, getSceneSetting present
levelable: true # inferred: setAudioVolume, setAudioMute present
routable: true # inferred: setInput, getInput present
Actions
- id: setPowerStatus
label: Set Power Status
kind: action
params:
- name: power
type: integer
description: 0 = Standby (Off), 1 = Active (On)
representation: "*SCPOWR0000000000000000" # control msg template
- id: getPowerStatus
label: Get Power Status
kind: query
params: []
representation: "*EPOWR##############"
- id: togglePowerStatus
label: Toggle Power Status
kind: action
params: []
representation: "*CTPOW##############"
- id: setAudioVolume
label: Set Audio Volume
kind: action
params:
- name: volume
type: integer
description: Volume level as decimal digit pad left-padded with 0, e.g. 29 = "0000000000000029"
representation: "*CVOLUXXXXXXXXXXXXXX"
- id: getAudioVolume
label: Get Audio Volume
kind: query
params: []
representation: "*EVOLU##############"
- id: setAudioMute
label: Set Audio Mute
kind: action
params:
- name: mute
type: integer
description: 0 = Unmute, 1 = Mute
representation: "*CAMUT0000000000000X"
- id: getAudioMute
label: Get Audio Mute Status
kind: query
params: []
representation: "*EAMUT##############"
- id: setInput
label: Set Input
kind: action
params:
- name: input_type
type: integer
description: |
Input type code:
1 = HDMI (1-9999)
3 = Composite (1-9999)
4 = Component (1-9999)
5 = Screen Mirroring (1-9999)
- name: port
type: integer
description: Port number within the input type (1-9999)
representation: "*CINPT0000000X0000XXXX"
- id: getInput
label: Get Input
kind: query
params: []
representation: "*EINPT##############"
- id: setPictureMute
label: Set Picture Mute
kind: action
params:
- name: mute
type: integer
description: 0 = Disabled (picture on), 1 = Enabled (screen black)
representation: "*CPMUT0000000000000X"
- id: getPictureMute
label: Get Picture Mute Status
kind: query
params: []
representation: "*EPMUT##############"
- id: togglePictureMute
label: Toggle Picture Mute
kind: action
params: []
representation: "*CTPMU##############"
- id: setSceneSetting
label: Set Scene Setting
kind: action
params:
- name: scene
type: string
description: Scene name - "auto", "auto24pSync", "general". Case-sensitive, right-padded with "#". e.g. "auto24pSync#####"
representation: "*CSCENXXXXXXXXXXXXXX"
- id: getSceneSetting
label: Get Scene Setting
kind: query
params: []
representation: "*ESCEN##############"
- id: setIrccCode
label: Send IR Command Code
kind: action
params:
- name: ircc_code
type: integer
description: |
IR command numeric code (Byte[22]):
0x05=Display 0x06=Home 0x07=Options 0x08=Return
0x09=Up 0x0A=Down 0x0B=Right 0x0C=Left 0x0D=Confirm
0x0E=Red 0x0F=Green 0x10=Yellow 0x11=Blue
0x12=Num1 0x13=Num2 0x14=Num3 0x15=Num4 0x16=Num5 0x17=Num6
0x18=Num7 0x19=Num8 0x1A=Num9 0x1B=Num0
0x1E=VolumeUp 0x1F=VolumeDown 0x20=Mute
0x21=ChannelUp 0x22=ChannelDown 0x23=Subtitle 0x26=DOT
0x32=PictureOff 0x3D=Wide 0x3E=Jump 0x48=SyncMenu
0x49=Forward 0x4A=Play 0x4B=Rewind 0x50=Prev
0x51=Stop 0x52=Next 0x54=Pause 0x56=FlashPlus 0x57=FlashMinus
0x62=TVPower 0x63=Audio 0x65=Input 0x68=Sleep 0x69=SleepTimer
0x6C=Video2 0x6E=PictureMode 0x79=DemoSurround
0x7C=HDMI1 0x7D=HDMI2 0x7E=HDMI3 0x7F=HDMI4
0x81=ActionMenu 0x82=Help
representation: "*SIRCCXXXXXXXXXXXXXX"
- id: getBroadcastAddress
label: Get Broadcast IPv4 Address
kind: query
params:
- name: interface
type: string
description: Interface name, e.g. "eth0"
representation: "*EBADREth0#########"
- id: getMacAddress
label: Get MAC Address
kind: query
params:
- name: interface
type: string
description: Interface name, e.g. "eth0"
representation: "*EMADREth0#########"
Feedbacks
- id: powerStatusAnswer
type: enum
values:
- "0000000000000000" # Standby (Off)
- "0000000000000001" # Active (On)
- "FFFFFFFFFFFFFFFF" # Error
- id: audioMuteAnswer
type: enum
values:
- "0000000000000000" # Not Muted
- "0000000000000001" # Muted
- "FFFFFFFFFFFFFFFF" # Error
- id: audioVolumeAnswer
type: string
description: Volume value as decimal digit string
- id: inputAnswer
type: enum
values:
- "000000010000XXXX" # HDMI (port XXXX)
- "000000030000XXXX" # Composite (port XXXX)
- "000000040000XXXX" # Component (port XXXX)
- "000000050000XXXX" # Screen Mirroring (port XXXX)
- "NNNNNNNNNNNNNNNN" # Not Found
- "FFFFFFFFFFFFFFFF" # Error
- id: pictureMuteAnswer
type: enum
values:
- "0000000000000000" # Disabled (picture mute off)
- "0000000000000001" # Enabled (picture mute on)
- "FFFFFFFFFFFFFFFF" # Error
- id: sceneSettingAnswer
type: string
description: Scene setting value as ASCII string
- id: irccCodeAnswer
type: enum
values:
- "0000000000000000" # Success
- "FFFFFFFFFFFFFFFF" # Error
- id: broadcastAddressAnswer
type: string
description: IPv4 address as ASCII string padded with "#"
- id: macAddressAnswer
type: string
description: MAC address as ASCII hex string padded with "#"
Variables
# No independent settable variables outside of the action parameter model.
# All parameters are passed per-command; no session state required.
Events
- id: firePowerChange
label: Power Change Event
type: notify
params:
- name: power
type: integer
description: 0 = powering off, 1 = powering on
representation: "*NPOWR00000000000000X"
- id: fireInputChange
label: Input Change Event
type: notify
params:
- name: input_type
type: integer
description: |
0 = none
1 = HDMI (port XXXX)
3 = Composite (port XXXX)
4 = Component (port XXXX)
5 = Screen Mirroring (port XXXX)
- name: port
type: integer
description: Port number within input type
representation: "*NINPT0000000X0000XXXX"
- id: fireVolumeChange
label: Volume Change Event
type: notify
params:
- name: volume
type: integer
description: Current volume level
representation: "*NVOLUXXXXXXXXXXXXXX"
- id: fireMuteChange
label: Mute Change Event
type: notify
params:
- name: mute
type: integer
description: 0 = unmuting, 1 = muting
representation: "*NAMUT00000000000000X"
- id: firePictureMuteChange
label: Picture Mute Change Event
type: notify
params:
- name: mute
type: integer
description: 0 = picture mute enabled (black screen), 1 = picture mute disabled
representation: "*NPMUT00000000000000X"
Macros
# No explicit multi-step macros described in source.
Safety
confirmation_required_for: []
interlocks:
- description: "EU area models have 3 RED-DA specification types; settings and available commands differ per spec type. Commands marked with EU note may not be available on all EU models."
source_line: 171-173
# UNRESOLVED: no explicit safety interlock procedure stated in source.
Notes
Fixed 24-byte message format: [*][S][MessageType][4-char Command][16-byte params][LF]. Header = 0x2A 0x53 (*S). Footer = 0x0A (LF). Message types: C=Control, E=Enquiry, A=Answer, N=Notify. FourCC command names in bytes[3–6]. Parameter bytes[7–22] include type-specific content (success 0000..., error FFFF..., or data). IR command codes for setIrccCode cover full remote button set including number pad, navigation, color buttons, playback transport, HDMI source selection, and power. Network interface queries (getBroadcastAddress, getMacAddress) require interface name parameter (e.g. eth0). EU model variant command restrictions noted but not enumerated in full.
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/serial-control/
- https://pro-bravia.sony.net/remote-display-control/rest-api/
- https://pro-bravia.sony.net/
retrieved_at: 2026-05-26T14:50:30.210Z
last_checked_at: 2026-06-12T19:58:13.500Z
Verification Summary
verdict: verified
checked_at: 2026-06-12T19:58:13.500Z
matched_actions: 17
action_count: 17
confidence: medium
summary: "All 17 spec actions matched literal FourCC codes in source; transport verified; complete coverage of documented command set. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "EU model specification variants not fully enumerated; only general command table provided"
- "no explicit safety interlock procedure stated in source."
- "firmware version compatibility not stated"
- "full EU RED-DA specification variant enumeration not provided"
- "maximum volume level range not stated"
- "command timing / polling interval not specified"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0