Summary
Sony BRAVIA Professional Display Simple IP Control protocol over TCP. Controls monitor over local network via fixed-size 24-byte messages on port 20060. Supports power, volume, mute, input selection, picture mute, and scene settings.
Transport
protocols:
- tcp
addressing:
port: 20060
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable
- queryable
- levelable
- routable
Actions
- id: set_power_status
label: Set Power Status
kind: action
params:
- name: power
type: integer
description: 0 = Standby (Off), 1 = Active (On)
enum: [0, 1]
- id: get_power_status
label: Get Power Status
kind: action
params: []
- id: toggle_power_status
label: Toggle Power Status
kind: action
params: []
- id: set_audio_volume
label: Set Audio Volume
kind: action
params:
- name: volume
type: integer
description: Volume level as decimal string padded left with zeros (e.g., 0000000000000029)
- id: get_audio_volume
label: Get Audio Volume
kind: action
params: []
- id: set_audio_mute
label: Set Audio Mute
kind: action
params:
- name: mute
type: integer
description: 0 = Unmute, 1 = Mute
enum: [0, 1]
- id: get_audio_mute
label: Get Audio Mute
kind: action
params: []
- id: set_input
label: Set Input
kind: action
params:
- name: input_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: get_input
label: Get Input
kind: action
params: []
- id: set_picture_mute
label: Set Picture Mute
kind: action
params:
- name: mute
type: integer
description: 0 = Disabled (picture mute off), 1 = Enabled (picture mute on)
enum: [0, 1]
- id: get_picture_mute
label: Get Picture Mute
kind: action
params: []
- id: toggle_picture_mute
label: Toggle Picture Mute
kind: action
params: []
- id: set_scene_setting
label: Set Scene Setting
kind: action
params:
- name: scene
type: string
description: Scene name (auto, auto24pSync, general). Case-sensitive, padded right with "#"
- id: get_scene_setting
label: Get Scene Setting
kind: action
params: []
- id: set_ircc_code
label: Send IR Command
kind: action
params:
- name: code
type: integer
description: IR command code (0-999). See IR Commands table for mapping.
- id: get_broadcast_address
label: Get Broadcast Address
kind: action
params:
- name: interface
type: string
description: Network interface name (e.g., eth0), padded right with "#" to fill 16-byte parameter field
- id: get_mac_address
label: Get Mac Address
kind: action
params:
- name: interface
type: string
description: Network interface name (e.g., eth0), padded right with "#" to fill 16-byte parameter field
Feedbacks
- id: power_status_response
type: enum
values:
- 0: Standby (Off)
- 1: Active (On)
- FFFF: Error
- id: audio_volume_response
type: integer
description: Volume value as decimal string
- id: audio_mute_response
type: enum
values:
- 0: Not Muted
- 1: Muted
- FFFF: Error
- id: input_response
type: object
properties:
input_type:
type: integer
enum: [1, 3, 4, 5]
index:
type: integer
values:
- error: Not Found (NNNN...N)
- success: Success (0000...0)
- error: Error (FFFF...F)
- id: picture_mute_response
type: enum
values:
- 0: Disabled (Picture mute off)
- 1: Enabled (Picture mute on)
- FFFF: Error
- id: scene_setting_response
type: string
description: Scene setting value or NNNNNNNN if not available for current input
- id: ircc_response
type: enum
values:
- 0000...0: Success
- FFFF...F: Error
Variables
# UNRESOLVED: no discrete settable parameters outside action commands
Events
- id: fire_power_change
label: Power Change Event
params:
- name: state
type: integer
description: 0 = Powering off, 1 = Powering on
- id: fire_input_change
label: Input Change Event
params:
- name: input_type
type: integer
description: 1=HDMI, 3=Composite, 4=Component, 5=Screen Mirroring
- name: index
type: integer
- id: fire_volume_change
label: Volume Change Event
params:
- name: volume
type: string
description: Current volume value
- id: fire_mute_change
label: Mute Change Event
params:
- name: state
type: integer
description: 0 = Unmuting, 1 = Muting
- id: fire_picture_mute_change
label: Picture Mute Change Event
params:
- name: state
type: integer
description: 0 = Picture mute enabled (screen black), 1 = Picture mute disabled
Macros
# UNRESOLVED: no multi-step macro sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
The protocol uses 24-byte fixed-size messages with header 0x2A 0x53 (ASCII *S) and footer 0x0A (LF). Message types: Control (0x43/C), Enquiry (0x45/E), Answer (0x41/A), Notify (0x4E/N). Commands use FourCC format (4 ASCII chars). EU models have variant specs per RED-DA compliance — available commands differ by specification type.
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/reference/
- https://pro-bravia.sony.net/remote-display-control/ircc-ip/
- https://pro-bravia.sony.net/remote-display-control/serial-control/command/
retrieved_at: 2026-05-26T09:24:48.371Z
last_checked_at: 2026-06-10T01:22:28.628Z
Verification Summary
verdict: verified
checked_at: 2026-06-10T01:22:28.628Z
matched_actions: 17
action_count: 17
confidence: medium
summary: "All 17 action-units match source commands exactly; FourCC codes, message types, parameter ranges, and enum values verified (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "EU models have variant specifications per RED-DA compliance; commands differ by region"
- "no discrete settable parameters outside action commands"
- "no multi-step macro sequences documented in source"
- "no safety warnings or interlock procedures in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0