Summary
The ReQuest F3 is an F-Series multi-zone digital music system controlled through IR, rear-port RS-232, or Ethernet. This spec covers the Serial/Ethernet protocol from Multi-Zone Communication Protocol Guide version 2.2.0, including command bytes, zone framing, feedback data, and initialization.
Transport
protocols:
- serial
- tcp
serial:
baud_rate: 57600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
port: null # UNRESOLVED: TCP port number not stated in source
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from power commands
- routable # inferred from active-zone commands
- queryable # inferred from feedback and query commands
- levelable # inferred from analog volume commands
Actions
# Connection and active-zone control
- id: init_connection
label: Initialize Connection
kind: action
command: "5F A1"
params: []
- id: get_current_active_zone
label: Get Current Active Zone
kind: query
command: "4C 00"
params: []
- id: set_zone_1_active
label: Set Zone 1 Active
kind: action
command: "4C 01"
params: []
- id: set_zone_2_active
label: Set Zone 2 Active
kind: action
command: "4C 02"
params: []
- id: set_zone_3_active
label: Set Zone 3 Active
kind: action
command: "4C 03"
params: []
- id: set_zone_4_active
label: Set Zone 4 Active
kind: action
command: "4C 04"
params: []
- id: set_previous_zone_active
label: Set Previous Zone Active
kind: action
command: "4C FE"
params: []
- id: set_next_zone_active
label: Set Next Zone Active
kind: action
command: "4C FF"
params: []
# Power
- id: power_toggle
label: Power Toggle
kind: action
command: "30 03"
params: []
- id: power_on
label: Power ON
kind: action
command: "30 73"
params: []
- id: power_off
label: Power OFF
kind: action
command: "30 74"
params: []
# Transport and playback
- id: pause_toggle
label: Pause Toggle
kind: action
command: "30 0F"
params: []
- id: pause_on
label: Pause ON
kind: action
command: "30 84"
params: []
- id: pause_off
label: Pause OFF
kind: action
command: "30 81"
params: []
- id: stop
label: Stop
kind: action
command: "30 0E"
params: []
- id: play
label: Play
kind: action
command: "30 8C"
params: []
- id: play_pause_toggle
label: Play/Pause Toggle
kind: action
command: "30 B2"
params: []
- id: enter_pause
label: Enter / Pause
kind: action
command: "30 19"
params: []
- id: enter_no_flip
label: Enter - No Flip
kind: action
command: "30 8D"
params: []
- id: next_song
label: Next Song
kind: action
command: "30 89"
params: []
- id: previous_song
label: Previous Song
kind: action
command: "30 87"
params: []
- id: fast_forward
label: Fast Forward
kind: action
command: "30 88"
params: []
- id: rewind
label: Rewind
kind: action
command: "30 8A"
params: []
- id: forward_right
label: Forward / Right
kind: action
command: "30 16"
params: []
- id: rewind_left
label: Rewind / Left
kind: action
command: "30 18"
params: []
- id: seek
label: Seek to Time
kind: action
command: "44 {byte_1} {byte_2}"
params:
- name: seconds
type: integer
description: Target time encoded in two bytes using source-documented seek calculation
# Volume
- id: volume_up
label: Volume Up
kind: action
command: "30 1A"
params: []
- id: volume_down
label: Volume Down
kind: action
command: "30 1B"
params: []
- id: set_volume_level
label: Set Volume Level
kind: action
command: "49 {level}"
params:
- name: level
type: integer
description: "00h-64h for 0-100, FFh for mute, or FEh for unmute"
# Playback modes
- id: shuffle_toggle
label: Shuffle Toggle
kind: action
command: "30 11"
params: []
- id: shuffle_on
label: Shuffle ON
kind: action
command: "30 85"
params: []
- id: shuffle_off
label: Shuffle OFF
kind: action
command: "30 82"
params: []
- id: repeat_toggle
label: Repeat Toggle
kind: action
command: "30 12"
params: []
- id: repeat_continuous_toggle
label: Repeat/Continuous/Normal Toggle
kind: action
command: "30 B0"
params: []
- id: repeat_continuous_off
label: Repeat/Continuous OFF
kind: action
command: "30 83"
params: []
- id: repeat_on
label: Repeat ON
kind: action
command: "30 86"
params: []
- id: continuous_toggle
label: Continuous Toggle
kind: action
command: "30 AF"
params: []
- id: continuous_on
label: Continuous ON
kind: action
command: "30 3C"
params: []
- id: random_in
label: Random IN
kind: action
command: "30 80"
params: []
- id: random_out
label: Random OUT
kind: action
command: "30 7F"
params: []
- id: intro_toggle
label: Intro Toggle
kind: action
command: "30 5F"
params: []
# Navigation
- id: mode
label: Mode
kind: action
command: "30 01"
params: []
- id: menu
label: Menu
kind: action
command: "30 02"
params: []
- id: cancel
label: Cancel
kind: action
command: "30 13"
params: []
- id: next_down
label: Next / Down
kind: action
command: "30 17"
params: []
- id: previous_up
label: Previous / Up
kind: action
command: "30 15"
params: []
- id: jump_down
label: Jump Down
kind: action
command: "30 1D"
params: []
- id: jump_up
label: Jump Up
kind: action
command: "30 1C"
params: []
- id: jump_down_x
label: Jump Down X Lines
kind: action
command: "46 {lines}"
params:
- name: lines
type: integer
description: "01h-08h"
- id: jump_up_x
label: Jump Up X Lines
kind: action
command: "45 {lines}"
params:
- name: lines
type: integer
description: "01h-08h"
- id: move_to_top
label: Move to Top of List
kind: action
command: "30 B3"
params: []
- id: move_to_bottom
label: Move to Bottom of List
kind: action
command: "30 B4"
params: []
- id: move_to_line_x
label: Move to Line X
kind: action
command: "3D {line}"
params:
- name: line
type: integer
description: Target line
- id: jump_to_line_x_flip
label: Jump to Line X - Flip
kind: action
command: "5D {line}"
params:
- name: line
type: integer
description: Target line; issues Enter and may switch to Player
- id: jump_to_line_x_noflip
label: Jump to Line X - No Flip
kind: action
command: "3E {line}"
params:
- name: line
type: integer
description: Target line; issues Enter without switching to Player
- id: go_to_albums
label: Go to Albums
kind: action
command: "30 21"
params: []
- id: go_to_all_songs
label: Go to All Songs
kind: action
command: "30 1F"
params: []
- id: go_to_artists
label: Go to Artists
kind: action
command: "30 20"
params: []
- id: go_to_cd
label: Go to CD
kind: action
command: "30 1E"
params: []
- id: go_to_genres
label: Go to Genres
kind: action
command: "30 6A"
params: []
- id: go_to_now_playing
label: Go to Now Playing
kind: action
command: "30 22"
params: []
- id: go_to_playlists
label: Go to Playlists
kind: action
command: "30 69"
params: []
- id: go_to_selected_songs
label: Go to Selected Songs
kind: action
command: "30 A6"
params: []
- id: go_to_navigator
label: Go to Navigator
kind: action
command: "30 8E"
params: []
- id: go_to_player
label: Go to Player
kind: action
command: "30 8F"
params: []
- id: go_to_current_album
label: Go to Current Playing Album
kind: action
command: "30 BA"
params: []
- id: go_to_current_artist
label: Go to Current Playing Artist
kind: action
command: "30 B9"
params: []
- id: go_to_current_genre
label: Go to Current Playing Genre
kind: action
command: "30 79"
params: []
- id: go_to_current_playlist
label: Go to Current Playing Playlist
kind: action
command: "30 7A"
params: []
- id: go_to_current_song
label: Go to Current Playing Song
kind: action
command: "30 B8"
params: []
- id: next_album
label: Next Album
kind: action
command: "30 AC"
params: []
- id: previous_album
label: Previous Album
kind: action
command: "30 AD"
params: []
- id: next_artist
label: Next Artist
kind: action
command: "30 AA"
params: []
- id: previous_artist
label: Previous Artist
kind: action
command: "30 AB"
params: []
- id: next_genre
label: Next Genre
kind: action
command: "30 6C"
params: []
- id: previous_genre
label: Previous Genre
kind: action
command: "30 6B"
params: []
- id: next_playlist
label: Next Playlist
kind: action
command: "30 9E"
params: []
- id: previous_playlist
label: Previous Playlist
kind: action
command: "30 9F"
params: []
- id: info
label: Info
kind: action
command: "30 5E"
params: []
- id: search
label: Search
kind: action
command: "30 64"
params: []
- id: themes
label: Themes
kind: action
command: "30 5C"
params: []
- id: visuals
label: Visuals
kind: action
command: "30 5B"
params: []
# Playlist operations
- id: queue
label: Queue
kind: action
command: "30 68"
params: []
- id: play_now
label: Play Now - Flip
kind: action
command: "30 AE"
params: []
- id: play_now_noflip
label: Play Now - No Flip
kind: action
command: "30 6E"
params: []
- id: select_toggle
label: Select Toggle
kind: action
command: "30 14"
params: []
- id: deselect
label: Deselect All
kind: action
command: "30 76"
params: []
- id: clear_now_playing
label: Clear Now Playing
kind: action
command: "30 A0"
params: []
- id: copy
label: Copy
kind: action
command: "30 66"
params: []
- id: delete
label: Delete
kind: action
command: "30 65"
params: []
- id: delete_from_playlist
label: Delete from Playlist
kind: action
command: "30 B1"
params: []
- id: edit
label: Edit
kind: action
command: "30 7D"
params: []
- id: edit_genre
label: Edit Genre
kind: action
command: "30 6D"
params: []
- id: create_empty_playlist
label: Create Empty Playlist
kind: action
command: "30 A7"
params: []
- id: create_now_playing_playlist
label: Create Playlist from Now Playing
kind: action
command: "30 A8"
params: []
- id: create_selected_songs_playlist
label: Create Playlist from Selected Songs
kind: action
command: "30 A9"
params: []
- id: play_playlist_1
label: Play Playlist 1
kind: action
command: "30 94"
params: []
- id: play_playlist_2
label: Play Playlist 2
kind: action
command: "30 95"
params: []
- id: play_playlist_3
label: Play Playlist 3
kind: action
command: "30 96"
params: []
- id: play_playlist_4
label: Play Playlist 4
kind: action
command: "30 97"
params: []
- id: play_playlist_5
label: Play Playlist 5
kind: action
command: "30 98"
params: []
- id: play_playlist_6
label: Play Playlist 6
kind: action
command: "30 99"
params: []
- id: play_playlist_7
label: Play Playlist 7
kind: action
command: "30 9A"
params: []
- id: play_playlist_8
label: Play Playlist 8
kind: action
command: "30 9B"
params: []
- id: play_playlist_9
label: Play Playlist 9
kind: action
command: "30 9C"
params: []
- id: play_playlist_10
label: Play Playlist 10
kind: action
command: "30 9D"
params: []
- id: direct_playlist_access_flip
label: Direct Playlist Access - Flip
kind: action
command: "42 {n}"
params:
- name: n
type: integer
description: "Playlist number 01h-FFh"
- id: direct_playlist_access_noflip
label: Direct Playlist Access - No Flip
kind: action
command: "43 {n}"
params:
- name: n
type: integer
description: "Playlist number 01h-FFh"
- id: queue_by_song_id
label: Queue by Song ID
kind: action
command: "4B {id_byte_1} {id_byte_2} {id_byte_3} {id_byte_4}"
params:
- name: song_id
type: integer
description: Song ID starting at 1001, encoded LSBF in four bytes
- id: queue_by_song_path
label: Queue by Song Path
kind: action
command: "4D {path_length} {path}"
params:
- name: path
type: string
description: Path of up to 255 bytes beginning with /MP3
# CD and recording
- id: eject
label: Eject
kind: action
command: "30 8B"
params: []
- id: record
label: Record
kind: action
command: "30 10"
params: []
- id: record_no_edit
label: Record - No Edit
kind: action
command: "30 90"
params: []
- id: line_in_play
label: Line-In Play
kind: action
command: "30 B5"
params: []
- id: line_in_record
label: Line-In Record
kind: action
command: "30 B6"
params: []
- id: auto_rip_on
label: Auto Rip ON
kind: action
command: "30 92"
params: []
- id: auto_rip_off
label: Auto Rip OFF
kind: action
command: "30 93"
params: []
- id: freedb_reset
label: FreeDB Reset
kind: action
command: "30 75"
params: []
# Text input
- id: back_space
label: Back Space
kind: action
command: "30 3F"
params: []
- id: space
label: Space
kind: action
command: "30 3D"
params: []
- id: letter_a
label: Letter "a"
kind: action
command: "30 23"
params: []
- id: letter_b
label: Letter "b"
kind: action
command: "30 24"
params: []
- id: letter_c
label: Letter "c"
kind: action
command: "30 25"
params: []
- id: letter_d
label: Letter "d"
kind: action
command: "30 26"
params: []
- id: letter_e
label: Letter "e"
kind: action
command: "30 27"
params: []
- id: letter_f
label: Letter "f"
kind: action
command: "30 28"
params: []
- id: letter_g
label: Letter "g"
kind: action
command: "30 29"
params: []
- id: letter_h
label: Letter "h"
kind: action
command: "30 2A"
params: []
- id: letter_i
label: Letter "i"
kind: action
command: "30 2B"
params: []
- id: letter_j
label: Letter "j"
kind: action
command: "30 2C"
params: []
- id: letter_k
label: Letter "k"
kind: action
command: "30 2D"
params: []
- id: letter_l
label: Letter "l"
kind: action
command: "30 2E"
params: []
- id: letter_m
label: Letter "m"
kind: action
command: "30 2F"
params: []
- id: letter_n
label: Letter "n"
kind: action
command: "30 30"
params: []
- id: letter_o
label: Letter "o"
kind: action
command: "30 31"
params: []
- id: letter_p
label: Letter "p"
kind: action
command: "30 32"
params: []
- id: letter_q
label: Letter "q"
kind: action
command: "30 33"
params: []
- id: letter_r
label: Letter "r"
kind: action
command: "30 34"
params: []
- id: letter_s
label: Letter "s"
kind: action
command: "30 35"
params: []
- id: letter_t
label: Letter "t"
kind: action
command: "30 36"
params: []
- id: letter_u
label: Letter "u"
kind: action
command: "30 37"
params: []
- id: letter_v
label: Letter "v"
kind: action
command: "30 38"
params: []
- id: letter_w
label: Letter "w"
kind: action
command: "30 39"
params: []
- id: letter_x
label: Letter "x"
kind: action
command: "30 3A"
params: []
- id: letter_y
label: Letter "y"
kind: action
command: "30 3B"
params: []
- id: letter_z
label: Letter "z"
kind: action
command: "30 3E"
params: []
- id: letter_A
label: Letter "A"
kind: action
command: "30 41"
params: []
- id: letter_B
label: Letter "B"
kind: action
command: "30 42"
params: []
- id: letter_C
label: Letter "C"
kind: action
command: "30 43"
params: []
- id: letter_D
label: Letter "D"
kind: action
command: "30 44"
params: []
- id: letter_E
label: Letter "E"
kind: action
command: "30 45"
params: []
- id: letter_F
label: Letter "F"
kind: action
command: "30 46"
params: []
- id: letter_G
label: Letter "G"
kind: action
command: "30 47"
params: []
- id: letter_H
label: Letter "H"
kind: action
command: "30 48"
params: []
- id: letter_I
label: Letter "I"
kind: action
command: "30 49"
params: []
- id: letter_J
label: Letter "J"
kind: action
command: "30 4A"
params: []
- id: letter_K
label: Letter "K"
kind: action
command: "30 4B"
params: []
- id: letter_L
label: Letter "L"
kind: action
command: "30 4C"
params: []
- id: letter_M
label: Letter "M"
kind: action
command: "30 4D"
params: []
- id: letter_N
label: Letter "N"
kind: action
command: "30 4E"
params: []
- id: letter_O
label: Letter "O"
kind: action
command: "30 4F"
params: []
- id: letter_P
label: Letter "P"
kind: action
command: "30 50"
params: []
- id: letter_Q
label: Letter "Q"
kind: action
command: "30 51"
params: []
- id: letter_R
label: Letter "R"
kind: action
command: "30 52"
params: []
- id: letter_S
label: Letter "S"
kind: action
command: "30 53"
params: []
- id: letter_T
label: Letter "T"
kind: action
command: "30 54"
params: []
- id: letter_U
label: Letter "U"
kind: action
command: "30 55"
params: []
- id: letter_V
label: Letter "V"
kind: action
command: "30 56"
params: []
- id: letter_W
label: Letter "W"
kind: action
command: "30 57"
params: []
- id: letter_X
label: Letter "X"
kind: action
command: "30 58"
params: []
- id: letter_Y
label: Letter "Y"
kind: action
command: "30 59"
params: []
- id: letter_Z
label: Letter "Z"
kind: action
command: "30 5A"
params: []
- id: number_0
label: Number "0"
kind: action
command: "30 0D"
params: []
- id: number_1
label: Number "1"
kind: action
command: "30 04"
params: []
- id: number_2
label: Number "2"
kind: action
command: "30 05"
params: []
- id: number_3
label: Number "3"
kind: action
command: "30 06"
params: []
- id: number_4
label: Number "4"
kind: action
command: "30 07"
params: []
- id: number_5
label: Number "5"
kind: action
command: "30 08"
params: []
- id: number_6
label: Number "6"
kind: action
command: "30 09"
params: []
- id: number_7
label: Number "7"
kind: action
command: "30 0A"
params: []
- id: number_8
label: Number "8"
kind: action
command: "30 0B"
params: []
- id: number_9
label: Number "9"
kind: action
command: "30 0C"
params: []
# Source-listed symbol entries sharing bytes with contextual commands
- id: symbol_double_quote
label: Symbol Double Quote
kind: action
command: "30 75"
params: []
- id: symbol_exclamation
label: Symbol Exclamation Mark
kind: action
command: "30 79"
params: []
- id: symbol_hash
label: Symbol Number Sign
kind: action
command: "30 6A"
params: []
- id: symbol_dollar
label: Symbol Dollar Sign
kind: action
command: "30 6B"
params: []
- id: symbol_ampersand
label: Symbol Ampersand
kind: action
command: "30 78"
params: []
- id: symbol_left_parenthesis
label: Symbol Left Parenthesis
kind: action
command: "30 6E"
params: []
- id: symbol_right_parenthesis
label: Symbol Right Parenthesis
kind: action
command: "30 6F"
params: []
- id: symbol_asterisk
label: Symbol Asterisk
kind: action
command: "30 6C"
params: []
- id: symbol_comma
label: Symbol Comma
kind: action
command: "30 7B"
params: []
- id: symbol_period
label: Symbol Period
kind: action
command: "30 7C"
params: []
- id: symbol_slash
label: Symbol Slash
kind: action
command: "30 6D"
params: []
- id: symbol_colon
label: Symbol Colon
kind: action
command: "30 74"
params: []
- id: symbol_question
label: Symbol Question Mark
kind: action
command: "30 7A"
params: []
- id: symbol_at
label: Symbol At Sign
kind: action
command: "30 69"
params: []
- id: symbol_underscore
label: Symbol Underscore
kind: action
command: "30 70"
params: []
- id: symbol_tilde
label: Symbol Tilde
kind: action
command: "30 73"
params: []
- id: symbol_hyphen
label: Symbol Hyphen
kind: action
command: "30 71"
params: []
- id: symbol_plus
label: Symbol Plus Sign
kind: action
command: "30 72"
params: []
- id: symbol_equals
label: Symbol Equals Sign
kind: action
command: "30 77"
params: []
- id: symbol_apostrophe
label: Symbol Apostrophe
kind: action
command: "30 76"
params: []
# System and advanced
- id: reboot
label: Reboot
kind: action
command: "30 B7"
params: []
- id: refresh
label: Refresh
kind: query
command: "48"
params: []
- id: lcd_gui_data_request
label: LCD/GUI Data Request
kind: query
command: "3F"
params: []
- id: ethernet_ping_request
label: Ethernet Ping Request
kind: query
command: "47"
params: []
- id: start_tv_out
label: Restart TV Out
kind: action
command: "30 77"
params: []
- id: start_netsync
label: Start Netsync
kind: action
command: "30 BD"
params: []
- id: cancel_netsync
label: Cancel Netsync
kind: action
command: "30 BE"
params: []
- id: set_pro_as_pro_only
label: Set Pro as "Pro Only"
kind: action
command: "30 BB"
params: []
- id: set_pro_as_zone
label: Set Pro as "Pro as Zone"
kind: action
command: "30 BC"
params: []
# Feedback control
- id: feedback_off
label: Feedback OFF
kind: action
command: "6E"
params: []
- id: compressed_lcd_on
label: Compressed LCD ON
kind: action
command: "4C 66"
params: []
- id: lcd_off
label: LCD OFF
kind: action
command: "4C 30"
params: []
- id: compressed_gui_on
label: Compressed GUI ON
kind: action
command: "47 63"
params: []
- id: gui_off
label: GUI OFF
kind: action
command: "47 30"
params: []
- id: elapsed_time_on
label: Elapsed Time ON
kind: action
command: "2B 74"
params: []
- id: elapsed_time_off
label: Elapsed Time OFF
kind: action
command: "2D 74"
params: []
- id: constant_player_data_on
label: Constant Player Data ON
kind: action
command: "6D 2B"
params: []
- id: constant_player_data_off
label: Constant Player Data OFF
kind: action
command: "6D 2D"
params: []
- id: status_messages_on
label: Status Messages ON
kind: action
command: "73 2B"
params: []
- id: status_messages_off
label: Status Messages OFF
kind: action
command: "73 2D"
params: []
- id: active_zone_feedback_on
label: Active Zone Feedback ON
kind: action
command: "33 7A 2B"
params: []
- id: active_zone_feedback_off
label: Active Zone Feedback OFF
kind: action
command: "33 7A 2D"
params: []
- id: ir_action_feedback_on
label: IR Action Feedback ON
kind: action
command: "3B 00"
params: []
- id: ir_action_feedback_off
label: IR Action Feedback OFF
kind: action
command: "3B 01"
params: []
- id: reset_ir
label: Reset IR
kind: action
command: "3B FF"
params: []
# Path requests
- id: path_request
label: Path Request
kind: query
command: "4A {path_type}"
params:
- name: path_type
type: integer
description: "01h-0Bh"
- id: path_request_player_current_image_large
label: Request Player Current Song Image - Large
kind: query
command: "4A 01"
params: []
- id: path_request_player_current_image_small
label: Request Player Current Song Image - Small
kind: query
command: "4A 02"
params: []
- id: path_request_player_current_song_path
label: Request Player Current Song Path
kind: query
command: "4A 03"
params: []
- id: path_request_navigator_image_large
label: Request Navigator Image - Large
kind: query
command: "4A 04"
params: []
- id: path_request_navigator_image_small
label: Request Navigator Image - Small
kind: query
command: "4A 05"
params: []
- id: path_request_navigator_song_path
label: Request Navigator Song Path
kind: query
command: "4A 06"
params: []
- id: path_request_current_song_id
label: Request Player Current Song ID
kind: query
command: "4A 07"
params: []
- id: path_request_next_song_id
label: Request Player Next Song ID
kind: query
command: "4A 08"
params: []
- id: path_request_next_song_image_large
label: Request Player Next Song Image - Large
kind: query
command: "4A 09"
params: []
- id: path_request_next_song_image_small
label: Request Player Next Song Image - Small
kind: query
command: "4A 0A"
params: []
- id: path_request_next_song_path
label: Request Player Next Song Path
kind: query
command: "4A 0B"
params: []
Feedbacks
- id: lcd_data
type: object
description: "Data type 31h: unused byte, cursor X, cursor Y, line number, and up to 32 bytes of text."
- id: gui_data_player
type: object
description: "Data type 32h, screen type 11h: Player data."
- id: gui_data_navigator
type: object
description: "Data type 32h, screen type 12h: Navigator data."
- id: status_message
type: object
description: "Data type 36h: two-byte LSBF state plus NetSync, software-update, search, screen-saver, and volume bytes."
- id: cover_art_stream_path
type: object
description: "Data type 37h: path type followed by up to 255 bytes of path data."
- id: timed_dialog_message
type: object
description: "Data type 38h: title, null delimiter, message, null delimiter, and four-byte LSBF display time."
- id: player_song_changed
type: object
description: "Data type 39h."
- id: navigator_selection_changed
type: object
description: "Data type 3Ah."
- id: ir_action_feedback
type: object
description: "Data type 3Bh followed by the two-byte command of the received IR action."
- id: ethernet_ping_response
type: object
description: "Data type 47h; returned only to TCP/IP connections."
- id: zone_active_feedback
type: object
description: "Data type 4Ch followed by active-zone number and ASCII zone name."
- id: power_state
type: enum
description: "Status state 101 indicates soft power off."
values: [soft_off, on]
- id: player_state
type: enum
description: "GUI Player header 05h: 1=Stopped, 2=Playing, 3=Paused."
values: [stopped, playing, paused]
- id: shuffle_state
type: enum
description: "GUI Player header 02h: 0=OFF, 1=ON."
values: [off, on]
- id: repeat_continuous_state
type: enum
description: "GUI Player header 03h: 0=OFF, 1=Repeat, 2=Continuous."
values: [off, repeat, continuous]
- id: intro_state
type: enum
description: "GUI Player header 04h: 0=OFF, 1=ON."
values: [off, on]
- id: current_song_selected
type: enum
description: "GUI Player header 08h: 0=not selected, 1=selected."
values: [not_selected, selected]
- id: next_song_selected
type: enum
description: "GUI Player header 0Ah: 0=not selected, 1=selected."
values: [not_selected, selected]
- id: navigator_scroll_state
type: object
description: "GUI Navigator header 03h: one up-arrow byte and one down-arrow byte; each is 0 when no additional lines exist and 1 when additional lines exist."
- id: netsync_state
type: enum
description: "Status NetSync byte: 1 means NetSyncing to master."
values: [idle, netsyncing]
- id: sw_update_state
type: enum
description: "Status software-update byte: 1 means downloading an update."
values: [idle, downloading]
- id: search_state
type: enum
description: "Status Search byte: 1 means Extended Search mode."
values: [idle, extended_search]
- id: screen_saver_state
type: enum
description: "Status Screen Saver byte: 1 means Screen Saver active."
values: [idle, screen_saver]
- id: volume_level
type: integer
description: "Status volume byte: 00h-64h for 0-100 or FFh for mute; valid only for analog audio output."
range: [0, 100]
Variables
- id: volume_level
type: integer
range: [0, 100]
description: "Analog output volume; FFh mutes and FEh unmutes."
- id: elapsed_time
type: integer
description: "Current playback position in seconds, returned LSBF in four bytes."
- id: total_time
type: integer
description: "Total song time in seconds, returned LSBF in four bytes."
- id: current_track_number
type: integer
description: "Current track number, returned LSBF in four bytes."
- id: total_tracks
type: integer
description: "Total tracks, returned LSBF in four bytes."
- id: cursor_x
type: integer
description: "LCD cursor X position."
- id: cursor_y
type: integer
description: "LCD cursor Y position."
- id: navigator_cursor_position
type: integer
description: "Two-byte Navigator cursor-position bitmap with one bit for each of eight lines."
- id: list_item_count
type: integer
description: "Number of items in current Navigator list, returned LSBF in four bytes."
- id: playlist_name
type: string
description: "Current Player playlist name, up to 32 bytes."
- id: next_song_title
type: string
description: "Next song title, up to 32 bytes."
- id: current_song_title
type: string
description: "Current song title, up to 32 bytes."
- id: current_artist_name
type: string
description: "Current artist name, up to 32 bytes."
- id: current_album_name
type: string
description: "Current album name, up to 32 bytes."
- id: current_genre
type: string
description: "Current genre, up to 32 bytes."
- id: next_track_artist
type: string
description: "Next track artist, up to 32 bytes."
- id: next_track_album
type: string
description: "Next track album, up to 32 bytes."
- id: next_track_genre
type: string
description: "Next track genre, up to 32 bytes."
- id: navigator_window_title
type: string
description: "Navigator window title, up to 32 bytes."
- id: navigator_line_1
type: string
description: "Navigator line 1, up to 32 bytes."
- id: navigator_line_2
type: string
description: "Navigator line 2, up to 32 bytes."
- id: navigator_line_3
type: string
description: "Navigator line 3, up to 32 bytes."
- id: navigator_line_4
type: string
description: "Navigator line 4, up to 32 bytes."
- id: navigator_line_5
type: string
description: "Navigator line 5, up to 32 bytes."
- id: navigator_line_6
type: string
description: "Navigator line 6, up to 32 bytes."
- id: navigator_line_7
type: string
description: "Navigator line 7, up to 32 bytes."
- id: navigator_line_8
type: string
description: "Navigator line 8, up to 32 bytes."
- id: selected_artist
type: string
description: "Navigator selected artist, up to 32 bytes."
- id: selected_album
type: string
description: "Navigator selected album, up to 32 bytes."
- id: selected_genre
type: string
description: "Navigator selected genre, up to 32 bytes."
- id: selected_playlist
type: string
description: "Navigator selected playlist, up to 32 bytes."
Events
- id: player_song_changed_event
data_type: "39h"
description: "Sent when current song changes."
- id: navigator_selection_changed_event
data_type: "3Ah"
description: "Sent when highlighted Navigator item changes."
- id: ir_action_event
data_type: "3Bh"
description: "Carries two-byte command of received IR action when IR feedback is enabled."
- id: timed_dialog_event
data_type: "38h"
description: "Sent for timed dialog messages."
- id: status_change_event
data_type: "36h"
description: "Carries state, NetSync, update, search, screen-saver, and analog-volume status."
- id: lcd_update_event
data_type: "31h"
description: "Carries LCD update data."
- id: gui_update_event
data_type: "32h"
description: "Carries Player or Navigator GUI update data."
- id: zone_active_change_event
data_type: "4Ch"
description: "Carries active-zone number and name."
- id: cover_art_event
data_type: "37h"
description: "Response to Path Request."
- id: ethernet_ping_response_event
data_type: "47h"
description: "Response to Ethernet Ping Request on TCP/IP connections."
Macros
- id: enable_all_feedback_zone1
label: Enable Recommended Feedback for Zone 1
kind: macro
description: Enable Compressed GUI, Elapsed Time, Constant Player Data, and Status Messages.
steps:
- { send: "33 47 63 F1 FF FB" }
- { send: "33 2B 74 F1 FF FB" }
- { send: "33 6D 2B F1 FF FB" }
- { send: "33 73 2B F1 FF FB" }
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source gives no explicit command-safety interlocks or confirmation requirements.
Notes
Every Serial/Ethernet command is followed by a three-byte zone footer: F1 FF FB through F4 FF FB select Zones 1–4, while F0 FF FB selects the currently active zone.
5F A1 MUST be the first string sent on every connection. Omitting it selects the older protocol and prevents access to Zones 2–4 on F-Series systems.
Serial and Ethernet use identical commands and feedback. Multi-zone units use 57600 baud, 8 data bits, no parity, 1 stop bit, and no flow control. Control requires the rear male RS-232 port and a female-to-female null-modem cable; the front serial port cannot control the unit.
Feedback is opt-in. Feedback initialization commands use command header 33h and the destination zone footer. Every feedback item is delimited by the same three-byte zone footer.
Status state values are: 100 Navigator, 101 soft power off, 102 Edit, 103 Info, 105 Day/Time, 106 Line In Recording, 107 Line In Info, 108 Edit list box, 240/241 Player, 303 Non-Timed Dialog, 400 Menu, 500/502 Encoder, 501 Encoder Edit, 503 Genre Lookup, 504 Transcode, 600 Visuals, 700 unusable during software update, and 701 Safe Mode after hardware or software failure.
The analog volume feedback byte is invalid for digital outputs, which remain at maximum.
The Ethernet Ping response is returned only on TCP/IP connections. Serial connections receive no response.
Provenance
source_domains:
- request.com
source_urls:
- "http://www.request.com/downloads/Integration%20-%20ReQuest%20Communication%20Protocol%20Guide%20v220.pdf"
retrieved_at: 2026-08-11T04:36:15.169Z
last_checked_at: 2026-08-19T09:42:49.232Z
Verification Summary
verdict: verified
checked_at: 2026-08-19T09:42:49.232Z
matched_actions: 239
action_count: 239
confidence: medium
summary: "All 239 spec actions match source hex bytes verbatim; transport matches source COM settings for multi-zone units; no fabricated actions and no missing source tokens. (3 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "TCP port number is not stated in source."
- "TCP port number not stated in source"
- "source gives no explicit command-safety interlocks or confirmation requirements."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0