Summary
Sony BRAVIA KDX79 series displays (KD-55X79J, KD-65X79J, KD-75X79J) support the Simple IP Control protocol over TCP. The protocol uses a 24-byte fixed-size binary message format with a header *S, FourCC function codes, and 16-byte parameter fields. Port 20060. No authentication required. 30-second idle timeout.
Transport
protocols:
- tcp
addressing:
port: 20060
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # inferred: setPowerStatus / getPowerStatus commands
- queryable # inferred: enquiry commands returning state
- routable # inferred: setInput / setInputSource commands
- levelable # inferred: setAudioVolume command
Actions
actions:
- id: set_power_status_off
label: Power Standby (Off)
kind: action
command: "2A 53 43 50 4F 57 52 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: set_power_status_on
label: Power Active (On)
kind: action
command: "2A 53 43 50 4F 57 52 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 0A"
params: []
- id: get_power_status
label: Get Power Status
kind: query
command: "2A 53 45 50 4F 57 52 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_audio_volume
label: Set Audio Volume
kind: action
command: "2A 53 43 56 4F 4C 55 {level_pad16} 0A"
params:
- name: level
type: integer
description: "Volume level as 16-char left-zero-padded decimal string e.g. 0000000000000029"
- id: get_audio_volume
label: Get Audio Volume
kind: query
command: "2A 53 45 56 4F 4C 55 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_audio_mute_off
label: Audio Unmute
kind: action
command: "2A 53 43 41 4D 55 54 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: set_audio_mute_on
label: Audio Mute
kind: action
command: "2A 53 43 41 4D 55 54 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 0A"
params: []
- id: get_audio_mute
label: Get Audio Mute Status
kind: query
command: "2A 53 45 41 4D 55 54 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_channel
label: Set Channel (Preset Number)
kind: action
command: "2A 53 43 43 48 4E 4E {channel_pad16} 0A"
params:
- name: channel
type: string
description: "Preset number as 16-char padded string with decimal point e.g. 00000050.1000000 for ch 50.1, 00000006.0000000 for ch 6"
- id: get_channel
label: Get Current Channel
kind: query
command: "2A 53 45 43 48 4E 4E 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_triplet_channel
label: Set Triplet Channel
kind: action
command: "2A 53 43 54 43 48 4E {triplet_pad16} 0A"
params:
- name: triplet
type: string
description: "Channel triplet in hexadecimal e.g. 7FE07FE00400 means 32736.32736.1024"
- id: get_triplet_channel
label: Get Triplet Channel
kind: query
command: "2A 53 45 54 43 48 4E 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_input_source
label: Set Input Source
kind: action
command: "2A 53 43 49 53 52 43 {source_pad16} 0A"
params:
- name: source
type: string
description: "Source name right-padded with # e.g. dvbt############, dvbc, dvbs, isdbt, isdbbs, isdbcs, antenna, cable, isdbgt"
- id: get_input_source
label: Get Input Source
kind: query
command: "2A 53 45 49 53 52 43 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_input_tv
label: Set Input to TV
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: set_input_hdmi
label: Set Input to HDMI
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 31 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "HDMI port number (1-9999), 4-char zero-padded"
- id: set_input_scart
label: Set Input to SCART
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 32 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "SCART port number (1-9999), 4-char zero-padded"
- id: set_input_composite
label: Set Input to Composite
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 33 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "Composite port number (1-9999), 4-char zero-padded"
- id: set_input_component
label: Set Input to Component
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 34 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "Component port number (1-9999), 4-char zero-padded"
- id: set_input_screen_mirroring
label: Set Input to Screen Mirroring
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 35 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "Screen Mirroring port number (1-9999), 4-char zero-padded"
- id: set_input_pc_rgb
label: Set Input to PC RGB
kind: action
command: "2A 53 43 49 4E 50 54 30 30 30 30 30 30 30 36 30 30 30 30 {port_pad4} 0A"
params:
- name: port
type: integer
description: "PC RGB port number (1-9999), 4-char zero-padded"
- id: get_input
label: Get Current Input
kind: query
command: "2A 53 45 49 4E 50 54 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_picture_mute_off
label: Disable Picture Mute
kind: action
command: "2A 53 43 50 4D 55 54 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: set_picture_mute_on
label: Enable Picture Mute
kind: action
command: "2A 53 43 50 4D 55 54 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 0A"
params: []
- id: get_picture_mute
label: Get Picture Mute Status
kind: query
command: "2A 53 45 50 4D 55 54 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: toggle_picture_mute
label: Toggle Picture Mute
kind: action
command: "2A 53 43 54 50 4D 55 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: set_pip_off
label: Disable PIP
kind: action
command: "2A 53 43 50 49 50 49 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: set_pip_on
label: Enable PIP
kind: action
command: "2A 53 43 50 49 50 49 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 0A"
params: []
- id: get_pip
label: Get PIP Status
kind: query
command: "2A 53 45 50 49 50 49 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: toggle_pip
label: Toggle PIP
kind: action
command: "2A 53 43 54 50 49 50 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: toggle_pip_position
label: Toggle PIP Position
kind: action
command: "2A 53 43 54 50 50 50 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params: []
- id: get_broadcast_address
label: Get Broadcast IPv4 Address
kind: query
command: "2A 53 45 42 41 44 52 65 74 68 30 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params:
- name: interface
type: string
description: "Interface identifier, e.g. eth0 (padded with #)"
- id: get_mac_address
label: Get MAC Address
kind: query
command: "2A 53 45 4D 41 44 52 65 74 68 30 23 23 23 23 23 23 23 23 23 23 23 23 0A"
params:
- name: interface
type: string
description: "Interface identifier, e.g. eth0 (padded with #)"
- id: ircc_power_off
label: IR Power Off
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A"
params: []
- id: ircc_input
label: IR Input
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 0A"
params: []
- id: ircc_gguide
label: IR GGuide
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 0A"
params: []
- id: ircc_epg
label: IR EPG
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 0A"
params: []
- id: ircc_favorites
label: IR Favorites
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 0A"
params: []
- id: ircc_display
label: IR Display
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 0A"
params: []
- id: ircc_home
label: IR Home
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 0A"
params: []
- id: ircc_options
label: IR Options
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 0A"
params: []
- id: ircc_return
label: IR Return
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 0A"
params: []
- id: ircc_up
label: IR Up
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 0A"
params: []
- id: ircc_down
label: IR Down
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 0A"
params: []
- id: ircc_right
label: IR Right
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 31 0A"
params: []
- id: ircc_left
label: IR Left
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 32 0A"
params: []
- id: ircc_confirm
label: IR Confirm
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 33 0A"
params: []
- id: ircc_red
label: IR Red
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 34 0A"
params: []
- id: ircc_green
label: IR Green
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 35 0A"
params: []
- id: ircc_yellow
label: IR Yellow
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 36 0A"
params: []
- id: ircc_blue
label: IR Blue
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 37 0A"
params: []
- id: ircc_num1
label: IR Num1
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 38 0A"
params: []
- id: ircc_num2
label: IR Num2
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 39 0A"
params: []
- id: ircc_num3
label: IR Num3
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 0A"
params: []
- id: ircc_num4
label: IR Num4
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 31 0A"
params: []
- id: ircc_num5
label: IR Num5
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 32 0A"
params: []
- id: ircc_num6
label: IR Num6
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 0A"
params: []
- id: ircc_num7
label: IR Num7
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 0A"
params: []
- id: ircc_num8
label: IR Num8
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 35 0A"
params: []
- id: ircc_num9
label: IR Num9
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 36 0A"
params: []
- id: ircc_num0
label: IR Num0
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 37 0A"
params: []
- id: ircc_num11
label: IR Num11
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 38 0A"
params: []
- id: ircc_num12
label: IR Num12
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 39 0A"
params: []
- id: ircc_volume_up
label: IR Volume Up
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 30 0A"
params: []
- id: ircc_volume_down
label: IR Volume Down
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 31 0A"
params: []
- id: ircc_mute
label: IR Mute
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 32 0A"
params: []
- id: ircc_channel_up
label: IR Channel Up
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 33 0A"
params: []
- id: ircc_channel_down
label: IR Channel Down
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 34 0A"
params: []
- id: ircc_subtitle
label: IR Subtitle
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 35 0A"
params: []
- id: ircc_closed_caption
label: IR Closed Caption
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 36 0A"
params: []
- id: ircc_enter
label: IR Enter
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 37 0A"
params: []
- id: ircc_dot
label: IR DOT
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 38 0A"
params: []
- id: ircc_analog
label: IR Analog
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 39 0A"
params: []
- id: ircc_teletext
label: IR Teletext
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 30 0A"
params: []
- id: ircc_exit
label: IR Exit
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 31 0A"
params: []
- id: ircc_analog2
label: IR Analog2
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 32 0A"
params: []
- id: ircc_ad
label: IR AD
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 33 0A"
params: []
- id: ircc_digital
label: IR Digital
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 34 0A"
params: []
- id: ircc_analog_q
label: IR Analog?
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 35 0A"
params: []
- id: ircc_bs
label: IR BS
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 36 0A"
params: []
- id: ircc_cs
label: IR CS
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 37 0A"
params: []
- id: ircc_bscs
label: IR BS/CS
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 38 0A"
params: []
- id: ircc_ddata
label: IR Ddata
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 39 0A"
params: []
- id: ircc_pic_off
label: IR Pic Off
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30 0A"
params: []
- id: ircc_tv_radio
label: IR Tv/Radio
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 31 0A"
params: []
- id: ircc_theater
label: IR Theater
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 32 0A"
params: []
- id: ircc_sen
label: IR SEN
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 33 0A"
params: []
- id: ircc_internet_widgets
label: IR Internet Widgets
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 34 0A"
params: []
- id: ircc_internet_video
label: IR Internet Video
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 35 0A"
params: []
- id: ircc_netflix
label: IR Netflix
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 36 0A"
params: []
- id: ircc_scene_select
label: IR Scene Select
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 37 0A"
params: []
- id: ircc_mode3d
label: IR Mode3D
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 38 0A"
params: []
- id: ircc_imanual
label: IR iManual
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 39 0A"
params: []
- id: ircc_audio
label: IR Audio
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 30 0A"
params: []
- id: ircc_wide
label: IR Wide
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 31 0A"
params: []
- id: ircc_jump
label: IR Jump
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 32 0A"
params: []
- id: ircc_pap
label: IR PAP
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 33 0A"
params: []
- id: ircc_myepg
label: IR MyEPG
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 34 0A"
params: []
- id: ircc_program_description
label: IR Program Description
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 35 0A"
params: []
- id: ircc_write_chapter
label: IR Write Chapter
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 36 0A"
params: []
- id: ircc_trackid
label: IR TrackID
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 37 0A"
params: []
- id: ircc_ten_key
label: IR Ten Key
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 38 0A"
params: []
- id: ircc_applicast
label: IR AppliCast
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 36 39 0A"
params: []
- id: ircc_actvila
label: IR acTVila
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 30 0A"
params: []
- id: ircc_delete_video
label: IR Delete Video
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 31 0A"
params: []
- id: ircc_photo_frame
label: IR Photo Frame
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 32 0A"
params: []
- id: ircc_tv_pause
label: IR TV Pause
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 33 0A"
params: []
- id: ircc_keypad
label: IR KeyPad
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 34 0A"
params: []
- id: ircc_media
label: IR Media
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 35 0A"
params: []
- id: ircc_sync_menu
label: IR Sync Menu
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 36 0A"
params: []
- id: ircc_forward
label: IR Forward
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 37 0A"
params: []
- id: ircc_play
label: IR Play
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 38 0A"
params: []
- id: ircc_rewind
label: IR Rewind
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 37 39 0A"
params: []
- id: ircc_prev
label: IR Prev
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 30 0A"
params: []
- id: ircc_stop
label: IR Stop
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 31 0A"
params: []
- id: ircc_next
label: IR Next
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 32 0A"
params: []
- id: ircc_rec
label: IR Rec
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 33 0A"
params: []
- id: ircc_pause
label: IR Pause
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 34 0A"
params: []
- id: ircc_eject
label: IR Eject
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 35 0A"
params: []
- id: ircc_flash_plus
label: IR Flash Plus
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 36 0A"
params: []
- id: ircc_flash_minus
label: IR Flash Minus
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 37 0A"
params: []
- id: ircc_topmenu
label: IR TopMenu
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 38 0A"
params: []
- id: ircc_popupmenu
label: IR PopupMenu
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 39 0A"
params: []
- id: ircc_rakuraku_start
label: IR Rakuraku Start
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 30 0A"
params: []
- id: ircc_one_touch_time_rec
label: IR One Touch Time Rec
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 31 0A"
params: []
- id: ircc_one_touch_view
label: IR One Touch View
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 32 0A"
params: []
- id: ircc_one_touch_rec
label: IR One Touch Rec
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 33 0A"
params: []
- id: ircc_one_touch_stop
label: IR One Touch Stop
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 34 0A"
params: []
- id: ircc_dux
label: IR DUX
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 35 0A"
params: []
- id: ircc_football_mode
label: IR Football Mode
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 36 0A"
params: []
- id: ircc_social
label: IR Social
kind: action
command: "2A 53 43 49 52 43 43 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 37 0A"
params: []
Feedbacks
feedbacks:
- id: power_state
type: enum
values: ["off", "on"]
description: "Answer to getPowerStatus: 0000000000000000 = Standby, 0000000000000001 = Active"
- id: audio_volume
type: integer
description: "Answer to getAudioVolume: 16-char left-zero-padded decimal"
- id: audio_mute_state
type: enum
values: ["off", "on"]
description: "Answer to getAudioMute: 0000000000000000 = Not Muted, 0000000000000001 = Muted"
- id: channel_preset
type: string
description: "Answer to getChannel: preset number with decimal point e.g. 00000050.1000000"
- id: triplet_channel
type: string
description: "Answer to getTripletChannel: hexadecimal triplet"
- id: input_source
type: string
description: "Answer to getInputSource: source name right-padded with #"
- id: current_input
type: string
description: "Answer to getInput: TV, HDMI(n), SCART(n), Composite(n), Component(n), Screen Mirroring(n), PC RGB Input(n)"
- id: picture_mute_state
type: enum
values: ["off", "on"]
description: "Answer to getPictureMute: 0000000000000000 = Disabled, 0000000000000001 = Enabled"
- id: pip_state
type: enum
values: ["off", "on"]
description: "Answer to getPip: 0000000000000000 = Disabled, 0000000000000001 = Enabled"
- id: broadcast_address
type: string
description: "Answer to getBroadcastAddress: IPv4 address right-padded with #"
- id: mac_address
type: string
description: "Answer to getMacAddress: MAC address right-padded with #"
- id: command_result
type: enum
values: ["success", "error"]
description: "Answer to control commands: all zeros = success, all Fs = error"
Variables
# UNRESOLVED: no settable continuous variables beyond those covered by parameterized actions
Events
events:
- id: power_change
description: "Notify (type N) sent when power state changes. FourCC POWR. Param 0=off, 1=on."
command: "2A 53 4E 50 4F 57 52 {state:0000000000000000|0000000000000001} 0A"
- id: channel_change
description: "Notify sent on channel change. FourCC CHNN. Param = preset channel number."
command: "2A 53 4E 43 48 4E 4E {channel_pad16} 0A"
- id: input_change
description: "Notify sent on input change. FourCC INPT. Param = input type + port."
command: "2A 53 4E 49 4E 50 54 {input_param} 0A"
- id: volume_change
description: "Notify sent on volume change. FourCC VOLU. Param = volume value."
command: "2A 53 4E 56 4F 4C 55 {level_pad16} 0A"
- id: mute_change
description: "Notify sent on mute toggle. FourCC AMUT. Param 0=unmuted, 1=muted."
command: "2A 53 4E 41 4D 55 54 {state:0000000000000000|0000000000000001} 0A"
- id: pip_change
description: "Notify sent on PIP state change. FourCC PIPI. Param 0=disabled, 1=enabled."
command: "2A 53 4E 50 49 50 49 {state:0000000000000000|0000000000000001} 0A"
- id: picture_mute_change
description: "Notify sent on picture mute change. FourCC PMUT. Param 0=disabled, 1=enabled."
command: "2A 53 4E 50 4D 55 54 {state:0000000000000000|0000000000000001} 0A"
Macros
# UNRESOLVED: no multi-step sequences described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings, interlock procedures, or power-on sequencing in source
Notes
- 24-byte fixed-size binary message format: header
*S(0x2A 0x53), type byte (C/E/A/N), 4-byte FourCC function, 16-byte parameter, footer LF (0x0A). - 4 message types: Control (C=0x43) controller→TV, Enquiry (E=0x45) controller→TV, Answer (A=0x41) TV→controller, Notify (N=0x4E) TV→controller.
- TCP connection kept alive between requests; server disconnects after 30 seconds idle.
- Success answer: 16 bytes of
0(0x30). Error answer: 16 bytes ofF(0x46). - Parameters padded:
#(0x23) for wildcard/query,0(0x30) for zeros,Xfor variable digits. - Volume parameter is 16-char left-zero-padded decimal (e.g.
0000000000000029for level 29). - setInputSource uses source name right-padded with
#to fill 16 bytes. - IR commands sent via setIrccCode (FourCC
IRCC), each with a unique 16-byte parameter from Table 5. - Simple IP Control must be enabled in TV menu: Network > Home Network Setup > IP Control > Simple IP Control (Normal Mode) or Hotel/Pro Mode > IP Control > Simple IP Control.
Provenance
source_domains:
- aca.im
- pro.sony
source_urls:
- "https://aca.im/driver_docs/Sony/sony%20bravia%20simple%20ip%20control.pdf"
- "https://pro.sony/ue_US/search?q=IP+control"
retrieved_at: 2026-06-12T04:36:03.419Z
last_checked_at: 2026-06-12T19:50:54.074Z
Verification Summary
verdict: verified
checked_at: 2026-06-12T19:50:54.074Z
matched_actions: 131
action_count: 131
confidence: medium
summary: "All 131 spec actions (non-IR commands plus all 97 IR IRCC code variants) verified against source Table 4 and Table 5; transport port 20060 confirmed; bidirectional coverage complete. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Source document dated 2014; X79J is a 2021 model. Applicability assumed but not confirmed by source."
- "Protocol version 0.6 stated; unknown if newer firmware uses a revised version."
- "no settable continuous variables beyond those covered by parameterized actions"
- "no multi-step sequences described in source"
- "no safety warnings, interlock procedures, or power-on sequencing in source"
- "Source protocol version 0.6 dated 2014; X79J models are 2021. Protocol compatibility assumed but unverified."
- "Volume range not stated (max level unknown)."
- "Maximum number of concurrent TCP connections not stated."
- "Whether the High Level Protocol (HTTP JSON-RPC) is also available on X79J is not stated in this source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0