Summary
Sony KDXG8505 Series BRAVIA television controlled via Simple IP Control protocol over TCP. Binary fixed-length 24-byte messages with FourCC command identifiers. Supports power, volume, mute, input selection, picture mute, scene setting, IR remote emulation, and network info queries. Device also sends unsolicited notify messages for state changes.
Transport
protocols:
- tcp
addressing:
port: 20060
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # setPowerStatus, togglePowerStatus
- queryable # getPowerStatus, getAudioVolume, getAudioMute, getInput, getPictureMute, getSceneSetting, getBroadcastAddress, getMacAddress
- levelable # setAudioVolume with numeric level
- routable # setInput with connector type and index
Actions
actions:
- id: set_ircc_code
label: Send IR Remote Code
kind: action
fourcc: IRCC
message_type: C
description: Sends IR remote control command. Parameter is a zero-padded decimal code from the IR command table.
params:
- name: ir_code
type: string
description: "Zero-padded 16-char decimal code. E.g. '0000000000000005' for Display, '0000000000000013' for Confirm. Full list in IR Commands table."
values:
- "0000000000000005": Display
- "0000000000000006": Home
- "0000000000000007": Options
- "0000000000000008": Return
- "0000000000000009": Up
- "0000000000000010": Down
- "0000000000000011": Right
- "0000000000000012": Left
- "0000000000000013": Confirm
- "0000000000000014": Red
- "0000000000000015": Green
- "0000000000000016": Yellow
- "0000000000000017": Blue
- "0000000000000018": Num1
- "0000000000000019": Num2
- "0000000000000020": Num3
- "0000000000000021": Num4
- "0000000000000022": Num5
- "0000000000000023": Num6
- "0000000000000024": Num7
- "0000000000000025": Num8
- "0000000000000026": Num9
- "0000000000000027": Num0
- "0000000000000030": Volume Up
- "0000000000000031": Volume Down
- "0000000000000032": Mute
- "0000000000000033": Channel Up
- "0000000000000034": Channel Down
- "0000000000000035": Subtitle
- "0000000000000038": DOT
- "0000000000000050": Picture Off
- "0000000000000061": Wide
- "0000000000000062": Jump
- "0000000000000076": Sync Menu
- "0000000000000077": Forward
- "0000000000000078": Play
- "0000000000000079": Rewind
- "0000000000000080": Prev
- "0000000000000081": Stop
- "0000000000000082": Next
- "0000000000000084": Pause
- "0000000000000086": Flash Plus
- "0000000000000087": Flash Minus
- "0000000000000098": TV Power
- "0000000000000099": Audio
- "0000000000000101": Input
- "0000000000000104": Sleep
- "0000000000000105": Sleep Timer
- "0000000000000108": Video 2
- "0000000000000110": Picture Mode
- "0000000000000121": Demo Surround
- "0000000000000124": HDMI 1
- "0000000000000125": HDMI 2
- "0000000000000126": HDMI 3
- "0000000000000127": HDMI 4
- "0000000000000129": Action Menu
- "0000000000000130": Help
- id: set_power_status
label: Set Power Status
kind: action
fourcc: POWR
message_type: C
description: "Set power state. Parameter '0000000000000000' = Standby (Off), '0000000000000001' = Active (On)."
params:
- name: status
type: enum
values:
- standby
- active
- id: get_power_status
label: Get Power Status
kind: query
fourcc: POWR
message_type: E
description: Query current power status. Answer returns standby or active.
params: []
- id: toggle_power_status
label: Toggle Power Status
kind: action
fourcc: TPOW
message_type: C
description: Toggles the power status between standby and active.
params: []
- id: set_audio_volume
label: Set Audio Volume
kind: action
fourcc: VOLU
message_type: C
description: "Set volume. Value is zero-padded 16-char decimal string. E.g. '0000000000000029' for volume 29."
params:
- name: volume
type: integer
description: "Volume level as zero-padded decimal in 16-char parameter field."
- id: get_audio_volume
label: Get Audio Volume
kind: query
fourcc: VOLU
message_type: E
description: Retrieves current audio volume value.
params: []
- id: set_audio_mute
label: Set Audio Mute
kind: action
fourcc: AMUT
message_type: C
description: "Enable or disable audio mute. '0000000000000000' = Unmute, '0000000000000001' = Mute."
params:
- name: state
type: enum
values:
- unmute
- mute
- id: get_audio_mute
label: Get Audio Mute
kind: query
fourcc: AMUT
message_type: E
description: Retrieves current audio mute status.
params: []
- id: set_input
label: Set Input
kind: action
fourcc: INPT
message_type: C
description: "Changes input source. Connector type byte followed by zero-padded index (1-9999)."
params:
- name: connector
type: enum
description: Connector type identifier
values:
- hdmi
- composite
- component
- screen_mirroring
- name: index
type: integer
description: "Connector index (1-9999)."
- id: get_input
label: Get Input
kind: query
fourcc: INPT
message_type: E
description: Get current input source and connector index.
params: []
- id: set_picture_mute
label: Set Picture Mute
kind: action
fourcc: PMUT
message_type: C
description: "Enable or disable picture mute (black screen). '0000000000000000' = Disable, '0000000000000001' = Enable."
params:
- name: state
type: enum
values:
- disable
- enable
- id: get_picture_mute
label: Get Picture Mute
kind: query
fourcc: PMUT
message_type: E
description: Checks if picture mute is enabled.
params: []
- id: toggle_picture_mute
label: Toggle Picture Mute
kind: action
fourcc: TPMU
message_type: C
description: Toggles picture mute state.
params: []
- id: set_scene_setting
label: Set Scene Setting
kind: action
fourcc: SCEN
message_type: C
description: "Changes scene setting. Parameter string is case-sensitive, right-padded with '#'. E.g. 'auto24pSync#####'."
params:
- name: mode
type: enum
values:
- auto
- auto24pSync
- general
- id: get_scene_setting
label: Get Scene Setting
kind: query
fourcc: SCEN
message_type: E
description: Retrieves current scene setting.
params: []
- id: get_broadcast_address
label: Get Broadcast Address
kind: query
fourcc: BADR
message_type: E
description: "Retrieves broadcast IPv4 address of specified interface. Parameter includes interface identifier (e.g. 'eth0')."
params:
- name: interface
type: string
description: "Network interface name (e.g. 'eth0'), right-padded with '#'."
- id: get_mac_address
label: Get MAC Address
kind: query
fourcc: MADR
message_type: E
description: "Retrieves MAC address of specified interface. Parameter includes interface identifier (e.g. 'eth0')."
params:
- name: interface
type: string
description: "Network interface name (e.g. 'eth0'), right-padded with '#'."
Feedbacks
feedbacks:
- id: power_state
type: enum
description: Power status returned by getPowerStatus
values:
- standby
- active
- id: audio_volume
type: integer
description: Current volume level returned by getAudioVolume
- id: audio_mute_state
type: enum
description: Audio mute status returned by getAudioMute
values:
- not_muted
- muted
- id: input_source
type: composite
description: Current input source returned by getInput
values:
- connector: hdmi
- connector: composite
- connector: component
- connector: screen_mirroring
- id: picture_mute_state
type: enum
description: Picture mute status returned by getPictureMute
values:
- disabled
- enabled
- id: scene_setting
type: enum
description: Current scene setting returned by getSceneSetting
values:
- auto
- auto24pSync
- general
- id: broadcast_address
type: string
description: Broadcast IPv4 address returned by getBroadcastAddress
- id: mac_address
type: string
description: MAC address returned by getMacAddress
- id: command_success
type: boolean
description: "Control command success indicated by answer parameter '0000000000000000'. Error indicated by 'FFFFFFFFFFFFFFFF'."
Variables
# UNRESOLVED: no settable continuous variables beyond volume (covered as action)
Events
events:
- id: power_change
label: Power Change Notification
fourcc: POWR
message_type: N
description: "Unsolicited notify when power state changes. '0000000000000000' = powering off, '0000000000000001' = powering on."
params:
- name: status
type: enum
values:
- standby
- active
- id: input_change
label: Input Change Notification
fourcc: INPT
message_type: N
description: "Unsolicited notify when input changes. Includes connector type and index."
params:
- name: connector
type: enum
values:
- hdmi
- composite
- component
- screen_mirroring
- name: index
type: integer
- id: volume_change
label: Volume Change Notification
fourcc: VOLU
message_type: N
description: Unsolicited notify when volume changes. Contains new volume value.
params:
- name: volume
type: integer
- id: mute_change
label: Mute Change Notification
fourcc: AMUT
message_type: N
description: "Unsolicited notify when mute state changes. '0000000000000000' = unmuting, '0000000000000001' = muting."
params:
- name: state
type: enum
values:
- unmute
- mute
- id: picture_mute_change
label: Picture Mute Change Notification
fourcc: PMUT
message_type: N
description: "Unsolicited notify when picture mute changes. '0000000000000000' = enabled, '0000000000000001' = disabled."
params:
- name: state
type: enum
values:
- enabled
- disabled
Macros
# UNRESOLVED: no multi-step sequences described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no explicit safety warnings or interlock procedures in source
# Note: EU models may have RED-DA compliance restrictions on available commands
Notes
- All messages are fixed 24 bytes. Header:
0x2A 0x53(bytes 0-1). Footer:0x0A(byte 23). Message type at byte 2. FourCC at bytes 3-6. Parameters at bytes 7-22. - Message types:
C(0x43) = Control,E(0x45) = Enquiry,A(0x41) = Answer,N(0x4E) = Notify. - Control answer success = 16 x
0(0x30). Control answer error = 16 xF(0x46). Enquiry with no params = 16 x#(0x23). - Volume parameter is a left-zero-padded decimal string in 16-char field (e.g.
0000000000000029). - Scene setting parameter is right-
#-padded, case-sensitive (e.g.auto24pSync#####). - Input connector byte mapping:
1= HDMI,3= Composite,4= Component,5= Screen Mirroring. Input index range 1-9999. - EU area models have 3 specifications based on RED-DA compliance; settings and available commands may differ.
- Simple IP Control and Remote Device Control must both be enabled in monitor settings.
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/ircc-ip/
- 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/
retrieved_at: 2026-05-26T12:17:34.890Z
last_checked_at: 2026-06-12T19:52:56.837Z
Verification Summary
verdict: verified
checked_at: 2026-06-12T19:52:56.837Z
matched_actions: 17
action_count: 17
confidence: medium
summary: "All 17 spec actions matched wire-level commands in source; transport port verified. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no settable continuous variables beyond volume (covered as action)"
- "no multi-step sequences described in source"
- "no explicit safety warnings or interlock procedures in source"
- "firmware version compatibility not stated in source"
- "maximum volume level not stated in source"
- "number of simultaneous TCP connections supported not stated in source"
- "response timeout values not stated in source"
- "whether keep-alive or heartbeat mechanism exists not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0