Summary
Kaleidescape 1080p Player with TCP/IP and RS-232 control interfaces. TCP/IP on port 10000 (up to 20 simultaneous connections). RS-232 serial at 19200 baud default (players support up to 57600), 8 data bits, no parity, 1 stop bit, no flow control (hardware RTS/CTS optional). ASCII text-based control protocol with slash-delimited message segments (device_id/seq/message_body[/checksum]). Covers power, navigation, browsing, playback (movie and music), screen masking/CinemaScape, video mode/color, network settings, and system capability queries. No authentication required.
Transport
protocols:
- tcp
- serial
addressing:
port: 10000
serial:
baud_rate: 19200 # player default (Table 1); players support up to 57600, servers up to 115200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # hardware RTS/CTS optional; software flow control not supported
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # inferred: ENTER_STANDBY / LEAVE_STANDBY / GET_DEVICE_POWER_STATE present
- queryable # inferred: GET_UI_STATE, GET_SYSTEM_VERSION, GET_DEVICE_TYPE_NAME, GET_NUM_ZONES, GET_PLAY_STATUS, GET_MUSIC_TITLE, GET_VIDEO_MODE, GET_NETWORK_SETTINGS, etc.
- routable # inferred: CPDID-based command routing described
Actions
# Connection / Power
- id: get_device_power_state
label: Get Device Power State
kind: action
command: "GET_DEVICE_POWER_STATE:"
params: []
- id: enter_standby
label: Enter Standby
kind: action
command: "ENTER_STANDBY:"
params: []
- id: leave_standby
label: Leave Standby
kind: action
command: "LEAVE_STANDBY:"
params: []
# System Info / Verification
- id: get_system_readiness_state
label: Get System Readiness State
kind: action
command: "GET_SYSTEM_READINESS_STATE:"
params: []
- id: leave_idle_mode
label: Leave Idle Mode
kind: action
command: "LEAVE_IDLE_MODE:"
params: []
- id: get_available_devices
label: Get Available Devices
kind: action
command: "GET_AVAILABLE_DEVICES:"
params: []
- id: get_available_devices_by_serial_number
label: Get Available Devices by Serial Number
kind: action
command: "GET_AVAILABLE_DEVICES_BY_SERIAL_NUMBER:"
params: []
- id: get_device_type_name
label: Get Device Type Name
kind: action
command: "GET_DEVICE_TYPE_NAME:"
params: []
- id: get_num_zones
label: Get Number of Zones
kind: action
command: "GET_NUM_ZONES:"
params: []
- id: get_system_version
label: Get System Version
kind: action
command: "GET_SYSTEM_VERSION:"
params: []
- id: get_protocol
label: Get Protocol
kind: action
command: "GET_PROTOCOL:"
params: []
- id: get_protocol_version
label: Get Protocol Version
kind: action
command: "GET_PROTOCOL_VERSION:"
params: []
notes: "Deprecated; superseded by GET_PROTOCOL but still available. Returns only the version number without the PROTOCOL message wrapper."
- id: set_protocol_settings
label: Set Protocol Settings
kind: action
command: "SET_PROTOCOL_SETTINGS:{delimiter_type}:{character_set}:"
params:
- name: delimiter_type
type: enum
description: "PRINTABLE_DELIMITERS or BINARY_DELIMITERS (binary not supported over RS-232)"
- name: character_set
type: enum
description: LATIN-1
- id: set_supported_protocol
label: Set Supported Protocol
kind: action
command: "SET_SUPPORTED_PROTOCOL:{version}:"
params:
- name: version
type: integer
description: Protocol version number (zero-padded two-digit)
- id: get_active_protocol
label: Get Active Protocol
kind: action
command: "GET_ACTIVE_PROTOCOL:"
params: []
- id: get_device_info
label: Get Device Info
kind: action
command: "GET_DEVICE_INFO:"
params: []
- id: send_to_syslog
label: Send to Syslog
kind: action
command: "SEND_TO_SYSLOG:INFORMATION:{message}:"
params:
- name: level
type: string
description: Log level (e.g., INFORMATION)
- name: message
type: string
description: Message to log
- id: get_friendly_name
label: Get Friendly Name
kind: action
command: "GET_FRIENDLY_NAME:"
params: []
- id: set_friendly_name
label: Set Friendly Name
kind: action
command: "SET_FRIENDLY_NAME:{name}:"
params:
- name: name
type: string
description: Friendly name to assign
- id: get_friendly_system_name
label: Get Friendly System Name
kind: action
command: "GET_FRIENDLY_SYSTEM_NAME:"
params: []
# Event registration
- id: enable_events
label: Enable Events
kind: action
command: "ENABLE_EVENTS:{target_device_id}:"
params:
- name: target_device_id
type: string
description: CPDID or serial number of target device
- id: disable_events
label: Disable Events
kind: action
command: "DISABLE_EVENTS:{target_device_id}:"
params:
- name: target_device_id
type: string
description: CPDID or serial number of target device
# Navigation - bare arrow forms
- id: up
label: Up
kind: action
command: "UP:"
params: []
- id: down
label: Down
kind: action
command: "DOWN:"
params: []
- id: left
label: Left
kind: action
command: "LEFT:"
params: []
- id: right
label: Right
kind: action
command: "RIGHT:"
params: []
- id: child_up
label: Child Up
kind: action
command: "CHILD_UP:"
params: []
- id: child_down
label: Child Down
kind: action
command: "CHILD_DOWN:"
params: []
- id: child_left
label: Child Left
kind: action
command: "CHILD_LEFT:"
params: []
- id: child_right
label: Child Right
kind: action
command: "CHILD_RIGHT:"
params: []
- id: page_up
label: Page Up
kind: action
command: "PAGE_UP:"
params: []
- id: page_down
label: Page Down
kind: action
command: "PAGE_DOWN:"
params: []
# Navigation - press/release pairs
- id: up_press
label: Up Press
kind: action
command: "UP_PRESS:"
params: []
- id: up_release
label: Up Release
kind: action
command: "UP_RELEASE:"
params: []
- id: down_press
label: Down Press
kind: action
command: "DOWN_PRESS:"
params: []
- id: down_release
label: Down Release
kind: action
command: "DOWN_RELEASE:"
params: []
- id: left_press
label: Left Press
kind: action
command: "LEFT_PRESS:"
params: []
- id: left_release
label: Left Release
kind: action
command: "LEFT_RELEASE:"
params: []
- id: right_press
label: Right Press
kind: action
command: "RIGHT_PRESS:"
params: []
- id: right_release
label: Right Release
kind: action
command: "RIGHT_RELEASE:"
params: []
- id: child_up_press
label: Child Up Press
kind: action
command: "CHILD_UP_PRESS:"
params: []
- id: child_up_release
label: Child Up Release
kind: action
command: "CHILD_UP_RELEASE:"
params: []
- id: child_down_press
label: Child Down Press
kind: action
command: "CHILD_DOWN_PRESS:"
params: []
- id: child_down_release
label: Child Down Release
kind: action
command: "CHILD_DOWN_RELEASE:"
params: []
- id: child_left_press
label: Child Left Press
kind: action
command: "CHILD_LEFT_PRESS:"
params: []
- id: child_left_release
label: Child Left Release
kind: action
command: "CHILD_LEFT_RELEASE:"
params: []
- id: child_right_press
label: Child Right Press
kind: action
command: "CHILD_RIGHT_PRESS:"
params: []
- id: child_right_release
label: Child Right Release
kind: action
command: "CHILD_RIGHT_RELEASE:"
params: []
- id: page_up_press
label: Page Up Press
kind: action
command: "PAGE_UP_PRESS:"
params: []
- id: page_up_release
label: Page Up Release
kind: action
command: "PAGE_UP_RELEASE:"
params: []
- id: page_down_press
label: Page Down Press
kind: action
command: "PAGE_DOWN_PRESS:"
params: []
- id: page_down_release
label: Page Down Release
kind: action
command: "PAGE_DOWN_RELEASE:"
params: []
# Paging and skipping (each listed as distinct in source)
- id: page_down_or_next
label: Page Down Or Next
kind: action
command: "PAGE_DOWN_OR_NEXT:"
params: []
- id: page_down_or_next_press
label: Page Down Or Next Press
kind: action
command: "PAGE_DOWN_OR_NEXT_PRESS:"
params: []
- id: page_down_or_next_release
label: Page Down Or Next Release
kind: action
command: "PAGE_DOWN_OR_NEXT_RELEASE:"
params: []
- id: page_down_or_previous
label: Page Down Or Previous
kind: action
command: "PAGE_DOWN_OR_PREVIOUS:"
params: []
- id: page_down_or_previous_press
label: Page Down Or Previous Press
kind: action
command: "PAGE_DOWN_OR_PREVIOUS_PRESS:"
params: []
- id: page_down_or_previous_release
label: Page Down Or Previous Release
kind: action
command: "PAGE_DOWN_OR_PREVIOUS_RELEASE:"
params: []
- id: page_up_or_next
label: Page Up Or Next
kind: action
command: "PAGE_UP_OR_NEXT:"
params: []
- id: page_up_or_next_press
label: Page Up Or Next Press
kind: action
command: "PAGE_UP_OR_NEXT_PRESS:"
params: []
- id: page_up_or_next_release
label: Page Up Or Next Release
kind: action
command: "PAGE_UP_OR_NEXT_RELEASE:"
params: []
- id: page_up_or_previous
label: Page Up Or Previous
kind: action
command: "PAGE_UP_OR_PREVIOUS:"
params: []
- id: page_up_or_previous_press
label: Page Up Or Previous Press
kind: action
command: "PAGE_UP_OR_PREVIOUS_PRESS:"
params: []
- id: page_up_or_previous_release
label: Page Up Or Previous Release
kind: action
command: "PAGE_UP_OR_PREVIOUS_RELEASE:"
params: []
# Selection
- id: select
label: Select
kind: action
command: "SELECT:"
params: []
- id: back
label: Back
kind: action
command: "BACK:"
params: []
- id: position_select
label: Position Select
kind: action
command: "POSITION_SELECT:{x_loc}:{y_loc}:"
params:
- name: x_loc
type: integer
description: X coordinate (0 to 2 billion)
- name: y_loc
type: integer
description: Y coordinate (0 to 2 billion)
- id: child_select
label: Child Select
kind: action
command: "CHILD_SELECT:"
params: []
# Menu
- id: kaleidescape_menu_on
label: Kaleidescape Menu On
kind: action
command: "KALEIDESCAPE_MENU_ON:"
params: []
- id: kaleidescape_menu_off
label: Kaleidescape Menu Off
kind: action
command: "KALEIDESCAPE_MENU_OFF:"
params: []
- id: kaleidescape_menu_toggle
label: Kaleidescape Menu Toggle
kind: action
command: "KALEIDESCAPE_MENU_TOGGLE:"
params: []
# Views
- id: get_ui_state
label: Get UI State
kind: action
command: "GET_UI_STATE:"
params: []
- id: go_movies
label: Go Movies
kind: action
command: "GO_MOVIES:"
params: []
- id: go_movie_list
label: Go Movie List
kind: action
command: "GO_MOVIE_LIST:"
params: []
- id: go_movie_covers
label: Go Movie Covers
kind: action
command: "GO_MOVIE_COVERS:"
params: []
- id: go_movie_collections
label: Go Movie Collections
kind: action
command: "GO_MOVIE_COLLECTIONS:"
params: []
- id: go_movie_collection
label: Go Movie Collection
kind: action
command: "GO_MOVIE_COLLECTION:{collection_name}:"
params:
- name: collection_name
type: string
description: Name of the collection
- id: go_music
label: Go Music
kind: action
command: "GO_MUSIC:"
params: []
- id: go_music_list
label: Go Music List
kind: action
command: "GO_MUSIC_LIST:"
params: []
- id: go_music_covers
label: Go Music Covers
kind: action
command: "GO_MUSIC_COVERS:"
params: []
- id: go_music_collections
label: Go Music Collections
kind: action
command: "GO_MUSIC_COLLECTIONS:"
params: []
- id: go_music_collection
label: Go Music Collection
kind: action
command: "GO_MUSIC_COLLECTION:{collection_name}:"
params:
- name: collection_name
type: string
description: Name of the collection
- id: go_now_playing
label: Go Now Playing
kind: action
command: "GO_NOW_PLAYING:"
params: []
- id: go_movie_store
label: Go Movie Store
kind: action
command: "GO_MOVIE_STORE:"
params: []
- id: go_system_status
label: Go System Status
kind: action
command: "GO_SYSTEM_STATUS:"
params: []
- id: go_parental_control
label: Go Parental Control
kind: action
command: "GO_PARENTAL_CONTROL:"
params: []
- id: go_vault_summary
label: Go Vault Summary
kind: action
command: "GO_VAULT_SUMMARY:"
params: []
# User Input
- id: get_user_input
label: Get User Input
kind: action
command: "GET_USER_INPUT:"
params: []
- id: keyboard_character
label: Keyboard Character
kind: action
command: "KEYBOARD_CHARACTER:{character}:"
params:
- name: character
type: string
description: Character to send (colon must be escaped as \:)
- id: keyboard_literal
label: Keyboard Literal
kind: action
command: "KEYBOARD_LITERAL:{character}:"
params:
- name: character
type: string
description: ASCII character >=32 (colon/slash must be escaped)
- id: backspace
label: Backspace
kind: action
command: "BACKSPACE:"
params: []
- id: get_user_input_prompt
label: Get User Input Prompt
kind: action
command: "GET_USER_INPUT_PROMPT:"
params: []
- id: set_user_input_entry
label: Set User Input Entry
kind: action
command: "SET_USER_INPUT_ENTRY:{string}:"
params:
- name: string
type: string
description: Input string
- id: filter_list
label: Filter List
kind: action
command: "FILTER_LIST:"
params: []
- id: go_search
label: Go Search
kind: action
command: "GO_SEARCH:"
params: []
# Screen Saver
- id: go_screen_saver
label: Go Screen Saver
kind: action
command: "GO_SCREEN_SAVER:"
params: []
- id: stop_screen_saver
label: Stop Screen Saver
kind: action
command: "STOP_SCREEN_SAVER:"
params: []
# Cover Art
- id: shuffle_cover_art
label: Shuffle Cover Art
kind: action
command: "SHUFFLE_COVER_ART:"
params: []
- id: child_shuffle_cover_art
label: Child Shuffle Cover Art
kind: action
command: "CHILD_SHUFFLE_COVER_ART:"
params: []
- id: alphabetize_cover_art
label: Alphabetize Cover Art
kind: action
command: "ALPHABETIZE_COVER_ART:"
params: []
- id: default_level
label: Default Level
kind: action
command: "DEFAULT_LEVEL:"
params: []
- id: safe_level
label: Safe Level
kind: action
command: "SAFE_LEVEL:"
params: []
# Page and content details
- id: details
label: Details
kind: action
command: "DETAILS:"
params: []
- id: disc_in_tray_toggle
label: Disc In Tray Toggle
kind: action
command: "DISC_IN_TRAY_TOGGLE:"
params: []
- id: get_content_details
label: Get Content Details
kind: action
command: "GET_CONTENT_DETAILS:{handle}:{passcode}:"
params:
- name: handle
type: string
description: Content handle from HIGHLIGHTED_SELECTION, BROWSE_RESPONSE, or MUSIC_TITLE
- name: passcode
type: string
description: Passcode to access content above current parental level
- id: get_highlighted_selection
label: Get Highlighted Selection
kind: action
command: "GET_HIGHLIGHTED_SELECTION:"
params: []
# Playback - movie
- id: play
label: Play
kind: action
command: "PLAY:"
params: []
- id: pause
label: Pause
kind: action
command: "PAUSE:"
params: []
- id: pause_on
label: Pause On
kind: action
command: "PAUSE_ON:"
params: []
- id: pause_off
label: Pause Off
kind: action
command: "PAUSE_OFF:"
params: []
- id: play_or_pause
label: Play Or Pause
kind: action
command: "PLAY_OR_PAUSE:"
params: []
- id: stop
label: Stop
kind: action
command: "STOP:"
params: []
- id: next
label: Next
kind: action
command: "NEXT:"
params: []
- id: previous
label: Previous
kind: action
command: "PREVIOUS:"
params: []
- id: scan_forward
label: Scan Forward
kind: action
command: "SCAN_FORWARD:"
params: []
- id: scan_reverse
label: Scan Reverse
kind: action
command: "SCAN_REVERSE:"
params: []
- id: replay
label: Replay
kind: action
command: "REPLAY:"
params: []
- id: child_play
label: Child Play
kind: action
command: "CHILD_PLAY:"
params: []
- id: child_pause
label: Child Pause
kind: action
command: "CHILD_PAUSE:"
params: []
- id: child_pause_on
label: Child Pause On
kind: action
command: "CHILD_PAUSE_ON:"
params: []
- id: child_pause_off
label: Child Pause Off
kind: action
command: "CHILD_PAUSE_OFF:"
params: []
- id: child_stop
label: Child Stop
kind: action
command: "CHILD_STOP:"
params: []
- id: stop_or_cancel
label: Stop Or Cancel
kind: action
command: "STOP_OR_CANCEL:"
params: []
- id: disc_or_kaleidescape_menu
label: Disc Or Kaleidescape Menu
kind: action
command: "DISC_OR_KALEIDESCAPE_MENU:"
params: []
- id: disc_menu
label: Disc Menu
kind: action
command: "DISC_MENU:"
params: []
- id: disc_top_menu
label: Disc Top Menu
kind: action
command: "DISC_TOP_MENU:"
params: []
- id: disc_resume
label: Disc Resume
kind: action
command: "DISC_RESUME:"
params: []
- id: show_navigation_overlay
label: Show Navigation Overlay
kind: action
command: "SHOW_NAVIGATION_OVERLAY:"
params: []
- id: status_and_settings
label: Status And Settings
kind: action
command: "STATUS_AND_SETTINGS:"
params: []
- id: start_chapter_entry
label: Start Chapter Entry
kind: action
command: "START_CHAPTER_ENTRY:"
params: []
- id: start_disc_title_entry
label: Start Disc Title Entry
kind: action
command: "START_DISC_TITLE_ENTRY:"
params: []
- id: start_send_number_to_disc_entry
label: Start Send Number To Disc Entry
kind: action
command: "START_SEND_NUMBER_TO_DISC_ENTRY:"
params: []
- id: intermission_on
label: Intermission On
kind: action
command: "INTERMISSION_ON:"
params: []
- id: intermission_off
label: Intermission Off
kind: action
command: "INTERMISSION_OFF:"
params: []
- id: intermission_toggle
label: Intermission Toggle
kind: action
command: "INTERMISSION_TOGGLE:"
params: []
- id: set_favorite_scene_start
label: Set Favorite Scene Start
kind: action
command: "SET_FAVORITE_SCENE_START:"
params: []
- id: set_favorite_scene_end
label: Set Favorite Scene End
kind: action
command: "SET_FAVORITE_SCENE_END:"
params: []
- id: angle_next
label: Angle Next
kind: action
command: "ANGLE_NEXT:"
params: []
- id: angle_previous
label: Angle Previous
kind: action
command: "ANGLE_PREVIOUS:"
params: []
- id: audio_next
label: Audio Next
kind: action
command: "AUDIO_NEXT:"
params: []
- id: subtitles_next
label: Subtitles Next
kind: action
command: "SUBTITLES_NEXT:"
params: []
- id: get_camera_angle
label: Get Camera Angle
kind: action
command: "GET_CAMERA_ANGLE:"
params: []
- id: get_movie_media_type
label: Get Movie Media Type
kind: action
command: "GET_MOVIE_MEDIA_TYPE:"
params: []
- id: get_movie_location
label: Get Movie Location
kind: action
command: "GET_MOVIE_LOCATION:"
params: []
- id: get_play_status
label: Get Play Status
kind: action
command: "GET_PLAY_STATUS:"
params: []
- id: get_playing_title_name
label: Get Playing Title Name
kind: action
command: "GET_PLAYING_TITLE_NAME:"
params: []
- id: bluray_special_stop
label: Blu-ray Special Stop
kind: action
command: "BLURAY_SPECIAL_STOP:"
params: []
- id: bluray_popup_menu_toggle
label: Blu-ray Popup Menu Toggle
kind: action
command: "BLURAY_POPUP_MENU_TOGGLE:"
params: []
- id: play_script
label: Play Script
kind: action
command: "PLAY_SCRIPT:{script_name}:"
params:
- name: script_name
type: string
description: Name of the Kaleidescape script to play
# Blu-ray color buttons (each press/release/bare listed as distinct in source)
- id: red_press
label: Red Press
kind: action
command: "RED_PRESS:"
params: []
- id: red_release
label: Red Release
kind: action
command: "RED_RELEASE:"
params: []
- id: red
label: Red
kind: action
command: "RED:"
params: []
- id: green_press
label: Green Press
kind: action
command: "GREEN_PRESS:"
params: []
- id: green_release
label: Green Release
kind: action
command: "GREEN_RELEASE:"
params: []
- id: green
label: Green
kind: action
command: "GREEN:"
params: []
- id: blue_press
label: Blue Press
kind: action
command: "BLUE_PRESS:"
params: []
- id: blue_release
label: Blue Release
kind: action
command: "BLUE_RELEASE:"
params: []
- id: blue
label: Blue
kind: action
command: "BLUE:"
params: []
- id: yellow_press
label: Yellow Press
kind: action
command: "YELLOW_PRESS:"
params: []
- id: yellow_release
label: Yellow Release
kind: action
command: "YELLOW_RELEASE:"
params: []
- id: yellow
label: Yellow
kind: action
command: "YELLOW:"
params: []
# Status cue
- id: set_status_cue_period
label: Set Status Cue Period
kind: action
command: "SET_STATUS_CUE_PERIOD:{period}:"
params:
- name: period
type: enum
description: "0 = no location updates; 1 = update every second"
# Music playback (Premiere music zones)
- id: get_music_now_playing_status
label: Get Music Now Playing Status
kind: action
command: "GET_MUSIC_NOW_PLAYING_STATUS:"
params: []
- id: get_music_play_status
label: Get Music Play Status
kind: action
command: "GET_MUSIC_PLAY_STATUS:"
params: []
- id: get_music_title
label: Get Music Title
kind: action
command: "GET_MUSIC_TITLE:"
params: []
- id: get_playing_music_information
label: Get Playing Music Information
kind: action
command: "GET_PLAYING_MUSIC_INFORMATION:"
params: []
- id: music_random_on
label: Music Random On
kind: action
command: "MUSIC_RANDOM_ON:"
params: []
- id: music_random_off
label: Music Random Off
kind: action
command: "MUSIC_RANDOM_OFF:"
params: []
- id: music_random_toggle
label: Music Random Toggle
kind: action
command: "MUSIC_RANDOM_TOGGLE:"
params: []
- id: music_repeat_on
label: Music Repeat On
kind: action
command: "MUSIC_REPEAT_ON:"
params: []
- id: music_repeat_off
label: Music Repeat Off
kind: action
command: "MUSIC_REPEAT_OFF:"
params: []
- id: music_repeat_toggle
label: Music Repeat Toggle
kind: action
command: "MUSIC_REPEAT_TOGGLE:"
params: []
- id: play_first_in_music_collection
label: Play First In Music Collection
kind: action
command: "PLAY_FIRST_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
description: Music collection name
- id: play_next_in_music_collection
label: Play Next In Music Collection
kind: action
command: "PLAY_NEXT_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
description: Music collection name
- id: play_previous_in_music_collection
label: Play Previous In Music Collection
kind: action
command: "PLAY_PREVIOUS_IN_MUSIC_COLLECTION:{collection}:"
params:
- name: collection
type: string
description: Music collection name
- id: assign_playing_music_to_preset
label: Assign Playing Music To Preset
kind: action
command: "ASSIGN_PLAYING_MUSIC_TO_PRESET:{tag}:"
params:
- name: tag
type: string
description: Preset tag/name
- id: play_music_preset
label: Play Music Preset
kind: action
command: "PLAY_MUSIC_PRESET:{tag}:"
params:
- name: tag
type: string
description: Preset tag/name to play
- id: get_music_preset_information
label: Get Music Preset Information
kind: action
command: "GET_MUSIC_PRESET_INFORMATION:{tag}:"
params:
- name: tag
type: string
description: Preset tag/name
# Browse (Premiere music zones)
- id: browse
label: Browse
kind: action
command: "BROWSE:{browse_handle}:{passcode}:{lines}:{flags}:"
params:
- name: browse_handle
type: string
description: Handle of the node being requested
- name: passcode
type: string
description: Passcode for restricted content
- name: lines
type: string
description: Line range to request (e.g. 1-5)
- name: flags
type: string
description: "Modifiers: filter=\"searchstring\" and/or suggest"
- id: perform_action
label: Perform Action
kind: action
command: "PERFORM_ACTION:{handle}:{passcode}:{action}:"
params:
- name: handle
type: string
description: Content handle for the item to act on
- name: passcode
type: string
description: Passcode for restricted content
- name: action
type: string
description: Action identifier (from BROWSE_RESULT action fields)
# Controlled zone
- id: get_controlled_zone
label: Get Controlled Zone
kind: action
command: "GET_CONTROLLED_ZONE:"
params: []
- id: set_controlled_zone
label: Set Controlled Zone
kind: action
command: "SET_CONTROLLED_ZONE:#{sn}.{zn}:"
params:
- name: sn
type: string
description: Serial number of the component with the music zone
- name: zn
type: integer
description: Music zone number (01-04)
# Child mode
- id: get_child_mode_state
label: Get Child Mode State
kind: action
command: "GET_CHILD_MODE_STATE:"
params: []
- id: enter_child_mode
label: Enter Child Mode
kind: action
command: "ENTER_CHILD_MODE:"
params: []
- id: leave_child_mode
label: Leave Child Mode
kind: action
command: "LEAVE_CHILD_MODE:"
params: []
# Screen masking / CinemaScape / scaling
- id: go_calibrate_masking
label: Go Calibrate Masking
kind: action
command: "GO_CALIBRATE_MASKING:"
params: []
- id: go_calibrate_masking_overscan
label: Go Calibrate Masking Overscan
kind: action
command: "GO_CALIBRATE_MASKING_OVERSCAN:"
params: []
- id: get_cinemascape_mask
label: Get CinemaScape Mask
kind: action
command: "GET_CINEMASCAPE_MASK:"
params: []
- id: get_screen_mask
label: Get Screen Mask
kind: action
command: "GET_SCREEN_MASK:"
params: []
- id: get_screen_mask2
label: Get Screen Mask2
kind: action
command: "GET_SCREEN_MASK2:"
params: []
- id: set_screen_mask
label: Set Screen Mask
kind: action
command: "SET_SCREEN_MASK:{flag}:"
params:
- name: flag
type: enum
description: "0 = do not compensate for masking; 1 = compensate for masking"
- id: get_cinemascape_mode
label: Get CinemaScape Mode
kind: action
command: "GET_CINEMASCAPE_MODE:"
params: []
- id: set_cinemascape_mode
label: Set CinemaScape Mode
kind: action
command: "SET_CINEMASCAPE_MODE:{mode}:"
params:
- name: mode
type: enum
description: "0=off, 1=2.35 Anamorphic, 2=2.35 Letterbox, 3=Native 2.35 Display"
- id: get_scale_mode
label: Get Scale Mode
kind: action
command: "GET_SCALE_MODE:"
params: []
# Video mode / color
- id: get_video_mode
label: Get Video Mode
kind: action
command: "GET_VIDEO_MODE:"
params: []
- id: get_video_color
label: Get Video Color
kind: action
command: "GET_VIDEO_COLOR:"
params: []
- id: get_content_color
label: Get Content Color
kind: action
command: "GET_CONTENT_COLOR:"
params: []
# Network / capabilities / time
- id: get_network_settings
label: Get Network Settings
kind: action
command: "GET_NETWORK_SETTINGS:"
params: []
- id: set_network_settings
label: Set Network Settings
kind: action
command: "SET_NETWORK_SETTINGS:{static}:{ip_address}:{subnet}:{gateway}:{dns1}:{dns2}:"
params:
- name: static
type: enum
description: "0 = DHCP, 1 = static IP"
- name: ip_address
type: string
description: Static IP address (ignored when DHCP)
- name: subnet
type: string
description: Subnet mask (ignored when DHCP)
- name: gateway
type: string
description: Default gateway (ignored when DHCP)
- name: dns1
type: string
description: Primary DNS server (ignored when DHCP)
- name: dns2
type: string
description: Secondary DNS server (ignored when DHCP)
- id: get_system_capabilities
label: Get System Capabilities
kind: action
command: "GET_SYSTEM_CAPABILITIES:"
params: []
- id: get_zone_capabilities
label: Get Zone Capabilities
kind: action
command: "GET_ZONE_CAPABILITIES:"
params: []
- id: get_time
label: Get Time
kind: action
command: "GET_TIME:"
params: []
# Custom events
- id: send_event
label: Send Event
kind: action
command: "SEND_EVENT:{message}:"
params:
- name: message
type: string
description: Custom event message text to emit as USER_DEFINED_EVENT
Feedbacks
# Power state: 0=standby, 1=powered on
- id: device_power_state
type: enum
values:
- "0"
- "1"
description: Device power state
# Zone availability: 0=disabled, 1=available
- id: zone_state
type: enum
values:
- "0"
- "1"
description: Zone availability state
# System readiness: 0=ready, 1=becoming ready, 2=idle
- id: system_readiness_state
type: enum
values:
- "0"
- "1"
- "2"
description: System idle/ready state
# UI state fields: screen, popup, dialog, saver
- id: ui_state
type: object
fields:
- name: screen
type: integer
description: "Active screen ID (00=Unknown,01=Movie List,02=Movie Collections,03=Movie Covers,04=Parental Control,07=Playing movie,08=System Status,09=Music List,10=Music Covers,11=Music Collections,12=Music Now Playing,14=Vault Summary,15=System Settings,16=Movie Store,18=Library search results)"
- name: popup
type: integer
description: "Popup/menu ID (00=none,01=Details,02=Movie status overlay,03=Movie non-status overlay)"
- name: dialog
type: integer
description: "Dialog box ID (00-10: none/Kaleidescape menu/passcode/question/info/warning/error/preplay/import_warranty/keyboard/IP config)"
- name: saver
type: integer
description: "Screen saver active: 0=inactive, 1=active"
# Available devices list (CPDID format)
- id: available_devices
type: array
description: List of available CPDID numbers
# Available devices by serial number
- id: available_devices_by_serial_number
type: array
description: List of available device serial numbers (zero-padded 12 hex)
# Device type name
- id: device_type_name
type: enum
values: [Server, Cinema One, Strato, Strato V, Alto, Terra Movie Server, Player, Music Player, Disc Vault]
description: Kaleidescape component type name
# Number of zones
- id: num_zones
type: object
fields:
- name: num_movie_zones
type: integer
description: "01 if onscreen display present, 00 if not"
- name: num_music_zones
type: integer
description: Number of music zones
# System version
- id: system_version
type: object
fields:
- name: control_protocol_version
type: string
description: Zero-padded two-digit protocol version (source documents v18)
- name: kos_version
type: string
description: kOS version string
# Active protocol version
- id: active_protocol
type: string
description: Currently active protocol version
# Device info
- id: device_info
type: object
fields:
- name: device_type
type: string
description: Device type identifier (deprecated; use GET_NUM_ZONES / GET_DEVICE_TYPE_NAME)
- name: serial_num
type: string
description: Serial number (zero-padded 16 hex)
- name: cpdid
type: string
description: Assigned CPDID
- name: ip_address
type: string
description: Network IP address
# Friendly name
- id: friendly_name
type: string
description: Zone or component friendly name
# Friendly system name
- id: friendly_system_name
type: string
description: System name the zone belongs to
# User input
- id: user_input
type: object
fields:
- name: type
type: string
description: "Prompt type: 00=none, 01=alphanumeric, 02=numeric"
- name: prompt
type: string
description: Query/prompt text
- name: entry
type: string
description: User-entered text
# User input prompt details
- id: user_input_prompt
type: object
fields:
- name: type
type: string
- name: icon
type: string
- name: prompt
type: string
- name: displayed
type: string
description: "0=not displayed, 1=displayed"
- name: char_limit
type: string
- name: valid
type: string
description: "0=invalid, 1=valid"
# Highlighted selection
- id: highlighted_selection
type: string
description: Currently highlighted content identifier
# Child mode state
- id: child_mode_state
type: enum
values:
- "0"
- "1"
description: "0=child UI inactive, 1=child UI active"
# Video mode event
- id: video_mode
type: string
description: Video mode parameters
# Video color event
- id: video_color
type: string
description: Video color parameters
# Music now playing status
- id: music_now_playing_status
type: string
description: Music playback status
# Title name event
- id: title_name
type: string
description: Currently playing title name
# Movie media type
- id: movie_media_type
type: string
description: Movie media type identifier
# Movie location
- id: movie_location
type: string
description: Movie location identifier
# System readiness state event
- id: system_readiness_state_event
type: enum
values:
- "0"
- "1"
- "2"
# Player restart event
- id: player_restart
type: null
description: Component restart notification (no status code in event)
# User defined event
- id: user_defined_event
type: string
description: "Custom user-defined event name. Documented message values include: SELECT_KALEIDESCAPE_INPUT, VOLUME_DOWN_PRESS, VOLUME_UP_PRESS, VOLUME_DOWN_RELEASE, VOLUME_UP_RELEASE, TOGGLE_MUTE, VOLUME_QUERY, VOLUME_UP, VOLUME_DOWN (volume values emitted by Kaleidescape Remote / Apps, not standalone commands)."
# Movie play status (response to GET_PLAY_STATUS / event)
- id: play_status
type: object
fields:
- name: mode
type: enum
description: "0=nothing playing, 1=paused, 2=playing, 4=forward scan, 6=reverse scan"
- name: speed
type: integer
description: Scan speed (1-3); applies to mode 4 or 6
- name: title_num
type: string
description: Zero-padded two-digit current title number
- name: title_length
type: integer
description: Total title length in seconds
- name: title_loc
type: integer
description: Current position within title in seconds
- name: chap_num
type: string
description: Zero-padded three-digit current chapter number
- name: chap_length
type: integer
description: Total chapter length in seconds
- name: chap_loc
type: integer
description: Current position within chapter in seconds
# Title name (response to GET_PLAYING_TITLE_NAME)
- id: title_name_response
type: string
description: Title of the movie currently playing
# Music play status
- id: music_play_status
type: object
fields:
- name: mode
type: enum
description: "1=paused, 2=normal play, 4=fast forward, 6=fast reverse"
- name: speed
type: integer
description: "FF/REV speed; normally 0"
- name: length
type: integer
description: Length of current track in seconds
- name: position
type: string
description: Position within track in seconds, prepended with + or -
- name: progress
type: string
description: Percentage through track (000.00 to 100.00)
# Music title (response to GET_MUSIC_TITLE)
- id: music_title
type: object
fields:
- name: track
type: string
- name: artist
type: string
- name: album
type: string
- name: track_handle
type: string
- name: album_handle
type: string
- name: now_playing_handle
type: string
# Playing music information
- id: playing_music_information
type: object
fields:
- name: handle
type: string
- name: label
type: string
# Music preset information
- id: music_preset_information
type: object
fields:
- name: tag
type: string
- name: handle
type: string
- name: label
type: string
# Movie media type
- id: movie_media_type_response
type: enum
values: ["00", "01", "02", "03"]
description: "00=none, 01=DVD, 02=Video stream, 03=Blu-ray Disc"
# Movie location
- id: movie_location_response
type: enum
values: ["00", "03", "04", "05", "06"]
description: "00=interface/unknown, 03=main content, 04=intermission, 05=end credits, 06=disc menu"
# Camera angle
- id: camera_angle
type: object
fields:
- name: cur_angle
type: integer
description: Currently active angle (1-9)
- name: num_angles
type: integer
description: Number of angles available (1-9)
- name: in_angle_block
type: enum
values: ["0", "1"]
description: "0=no extra angles, 1=multiple angles available"
# Status cue period
- id: status_cue_period
type: integer
description: Seconds between PLAY_STATUS / MUSIC_PLAY_STATUS updates
# Controlled zone
- id: controlled_zone
type: string
description: "#serial.zone of the controlled music zone"
# CinemaScape mask
- id: cinemascape_mask
type: enum
values: ["133", "166", "178", "237", "240"]
description: Frame ratio in hundredths (CinemaScape mode only)
# CinemaScape mode
- id: cinemascape_mode
type: enum
values: ["0", "1", "2", "3"]
description: "0=off, 1=2.35 Anamorphic, 2=2.35 Letterbox, 3=Native 2.35"
# Scale mode
- id: scale_mode
type: enum
values: ["0", "1", "2", "3"]
description: "0=no scaling, 1=anamorphic, 2=reserved, 3=zoom"
# Screen mask
- id: screen_mask
type: object
fields:
- name: image_ratio
type: enum
values: ["00", "01", "02", "03", "04", "05"]
description: "00=none,01=1.33,02=1.66,03=1.78,04=1.85,05=2.35"
- name: top_trim_rel
type: string
- name: bottom_trim_rel
type: string
- name: conservative_ratio
type: string
- name: top_mask_abs
type: string
description: Zero-padded four-digit, tenths of a percent of screen height
- name: bottom_mask_abs
type: string
# Screen mask2
- id: screen_mask2
type: object
fields:
- name: top_mask_abs
type: string
- name: bottom_mask_abs
type: string
- name: top_calibrated
type: string
- name: bottom_calibrated
type: string
# Video mode
- id: video_mode_response
type: object
fields:
- name: composite
type: string
description: Composite/S-Video mode code (00-57)
- name: component
type: string
description: Component analog mode code (00-57)
- name: HDMI
type: string
description: HDMI mode code (00-57)
# Video color
- id: video_color_response
type: object
fields:
- name: EOTF
type: enum
description: "00=unknown,01=SDR,03=HDR10,05=Dolby Vision std,06=DV low-latency"
- name: color_space
type: enum
description: "00=default,01=RGB,02=BT.601,03=BT.709,04=BT.2020"
- name: color_depth
type: enum
values: ["24", "30", "36"]
- name: color_sampling
type: enum
description: "00=NONE,01=RGB,02=4:2:2,03=4:4:4,04=4:2:0"
# Content color
- id: content_color
type: object
fields:
- name: EOTF
type: enum
- name: color_space
type: enum
- name: color_depth
type: enum
- name: color_sampling
type: enum
# Network settings
- id: network_settings
type: object
fields:
- name: static
type: enum
values: ["0", "1"]
description: "0=DHCP, 1=static"
- name: ip_address
type: string
- name: subnet_mask
type: string
- name: gateway
type: string
- name: dns1
type: string
- name: dns2
type: string
# System capabilities
- id: system_capabilities
type: object
fields:
- name: movies
type: enum
values: ["Y", "N"]
- name: music
type: enum
values: ["Y", "N"]
- name: product_line
type: enum
values: ["Y", "N"]
description: "Y=Premiere, N=Strato"
# Zone capabilities
- id: zone_capabilities
type: object
fields:
- name: osd
type: enum
values: ["Y", "N"]
- name: movies
type: enum
values: ["Y", "N"]
- name: music
type: enum
values: ["Y", "N"]
- name: store
type: enum
values: ["Y", "N"]
- name: search
type: enum
values: ["Y", "N"]
- name: library_type
type: enum
values: ["Y", "N"]
- name: osd_generation
type: enum
values: ["00", "01", "02", "03"]
description: "00=none,01=OSDv1,02=OSDv2 classic,03=OSDv2 row"
# Time
- id: time
type: object
fields:
- name: yyyy
type: string
- name: mm
type: string
- name: dd
type: string
- name: hh
type: string
- name: min
type: string
- name: ss
type: string
- name: timezone
type: string
# Content details (multi-line response)
- id: content_details
type: array
description: Lines of CONTENT_DETAILS name/value pairs (TITLE:GET_CONTENT_DETAILS)
# Browse results
- id: browse_results
type: array
description: BROWSE_RESULT rows from a BROWSE command
# Action performed (PERFORM_ACTION response)
- id: action_performed
type: string
description: Result text from PERFORM_ACTION
# Response status code (every response/event begins with zero-padded 3-digit code)
- id: status_code
type: enum
values:
- "000"
- "001"
- "002"
- "003"
- "004"
- "005"
- "006"
- "007"
- "010"
- "011"
- "012"
- "013"
- "014"
- "015"
- "016"
- "017"
- "018"
- "028"
description: "000=Success,001=Message too long,002=Invalid character,003=Checksum error,004=Invalid device,005=Device unavailable,006=Invalid zone syntax,007=Invalid zone,010=Invalid request,011=Invalid number of parameters,012=Invalid parameter,013=Device identifier conflict,014=Invalid sequence number,015=Unused,016=Invalid passcode,017=Invalid content handle,018=(see Appendix A),028=Incompatible video configuration"
Variables
# No settable parameters that are discrete variables (all settable params are actions)
# UNRESOLVED: populate from source if applicable, or remove section
Events
# Unsolicited notifications
- id: device_power_state_event
description: Generated when power state changes
- id: player_restart
description: Generated after component powers up or receives LEAVE_STANDBY
- id: ui_state_event
description: Generated when UI state changes
- id: highlighted_selection_event
description: Generated when highlighted selection changes
- id: child_mode_state_event
description: Generated when child mode state changes
- id: video_mode_event
description: Generated when video mode changes
- id: video_color_event
description: Generated when video color changes
- id: music_now_playing_status_event
description: Generated when music playback status changes
- id: title_name_event
description: Generated when title name changes
- id: movie_media_type_event
description: Generated when movie media type changes
- id: movie_location_event
description: Generated when movie location changes
- id: system_readiness_state_event
description: Generated when idle mode changes
- id: available_devices_event
description: Generated when available components list changes
- id: user_defined_event
description: Custom events from the system (script steps, child UI activation, remote volume buttons, app volume capabilities, SEND_EVENT)
- id: user_input_event
description: Generated during user input interaction
- id: user_input_prompt_event
description: Generated when input prompt changes
- id: play_status_event
description: Generated during playback as title/chapter locations change (rate set by SET_STATUS_CUE_PERIOD)
- id: music_play_status_event
description: Generated during music playback as position/progress change
- id: music_title_event
description: Generated when the playing music track changes
- id: playing_music_information_event
description: Generated when playing music handle/label changes
- id: music_preset_information_event
description: Generated when a music preset is assigned
- id: screen_mask_event
description: Generated when screen mask values change; can indicate a component restart
- id: screen_mask2_event
description: Generated in response to GET_SCREEN_MASK2 / when mask2 values change (Response/Event per source)
- id: cinemascape_mask_event
description: Generated when the CinemaScape frame ratio changes (CinemaScape mode only)
- id: cinemascape_mode_event
description: Generated when CinemaScape mode changes (Response/Event per GET_CINEMASCAPE_MODE / SET_CINEMASCAPE_MODE)
- id: scale_mode_event
description: Generated when scale mode changes (Response/Event per GET_SCALE_MODE)
- id: content_color_event
description: Generated when content color changes (Response/Event per GET_CONTENT_COLOR)
- id: action_performed_event
description: Generated in response to PERFORM_ACTION
Macros
# UNRESOLVED: no explicit multi-step sequences described as macros in source
Safety
confirmation_required_for:
- bluray_special_stop
interlocks:
- description: "1080p Player drops TCP/IP connection on enter/leave standby; reconnect and wait 15s before sending commands (source: LEAVE_STANDBY / ENTER_STANDBY docs)"
- description: "On LEAVE_STANDBY, if DEVICE_POWER_STATE event does not appear within 1s, drop connection, wait >=30s, then reconnect; component may take several minutes to reboot"
- description: "BLURAY_SPECIAL_STOP can trap the user on non-Kaleidescape disc menus depending on disc authoring; controller must provide another mechanism to return to the Kaleidescape menu or a movie view"
# Safety warning verbatim from source (BLURAY_SPECIAL_STOP):
# "CAUTION: USING THIS COMMAND CAN TRAP THE USER. Depending on how the disc was authored,
# this command does not always return the user to a Kaleidescape movie view."
Notes
TCP/IP connection uses port 10000 (up to 20 simultaneous connections). RS-232 uses 19200 baud default for players (players support up to 57600, servers up to 115200); supports optional hardware RTS/CTS flow control but not software flow control. Message format: device_id/seq/message_body[/checksum]. Checksum is optional for commands, required for responses/events; not applicable over TCP/IP. Sequence number 0-9 for commands/responses, ! for events, # followed by serial (leading zeros optional). Music zone suffix: .xx appended to CPDID. Binary delimiters (SOH/STX/EOT) not supported over RS-232. GET_TIME command can test if TCP/IP connection is still active (no side effects). Component may take several minutes to reboot after power on. Characters must be printable Latin-1 (decimal 32-255); colon, slash, and backslash must be backslash-escaped in data fields. The full status-code table is in Appendix A (page 198); refined excerpt covers codes 000-018 and 028, remainder UNRESOLVED.
Volume-related USER_DEFINED_EVENT message names (VOLUME_UP_PRESS, VOLUME_DOWN_PRESS, VOLUME_UP_RELEASE, VOLUME_DOWN_RELEASE, TOGGLE_MUTE, VOLUME_QUERY, VOLUME_UP, VOLUME_DOWN) are emitted by the system via USER_DEFINED_EVENT when a Kaleidescape Remote or App volume control is used; they are not documented as standalone command rows in the source.
Provenance
source_domains:
- kaleidescape.com
source_urls:
- https://www.kaleidescape.com/wp-content/uploads/kaleidescape-system-control-protocol-reference-manual.pdf
- https://www.kaleidescape.com/wp-content/uploads/2019/07/Kaleidescape-Programming-Manual-for-Crestron.pdf
- https://www.kaleidescape.com/support/article/Kaleidescape-Control-Commands
retrieved_at: 2026-05-21T02:49:59.969Z
last_checked_at: 2026-07-22T07:41:59.038Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T07:41:59.038Z
matched_actions: 203
action_count: 203
confidence: medium
summary: "All 203 spec actions match literal Kaleidescape command tokens 1:1 in the source's per-command sections; transport (port 10000, 19200 baud 8N1) verified verbatim. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "binary command byte encodings not provided; only printable delimiter format documented (BINARY_DELIMITERS selectable but byte tables not enumerated here)"
- "status codes beyond 028 not in refined excerpt (Appendix A page 198 was truncated)"
- "populate from source if applicable, or remove section"
- "no explicit multi-step sequences described as macros in source"
- "voltage/current/power specifications not provided in source"
- "firmware version compatibility ranges not stated in source"
- "fault behavior and error recovery sequences not explicitly documented"
- "binary command byte encodings not provided (only printable delimiter format documented)"
- "full status-code table beyond 018/028 truncated in source excerpt (Appendix A page 198)"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0