Summary

This draft transcribes the manufacturer’s one-page RS-232 control table, revision 10/07/2016. It documents 50 request rows at 9600 baud, 8 data bits, no parity and 1 stop bit. Each listed request consists of ESC (0x1B) followed by the table’s command byte. The firmware query contains conflicting ASCII and HEX entries.

The catalog family targets SB-3220HD and SB-4610 HD. The source gives model-class response templates B3220AHD-X.XX and B4610AHD-X.XX, but no explicit applicability or firmware-version list. Applicability to the catalog family is inferred from this same-class legacy SunBrite source and must be confirmed for the actual display; this is not a manufacturer-wide compatibility claim. The family identifier is retained; its IR suffix does not establish an IR protocol. No IP control is documented by this source.

Transport

protocols:
  - serial
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: UNRESOLVED
auth:
  type: UNRESOLVED
command_encoding: Two byte values per HEX row; see firmware_version_query ambiguity.
command_terminator: UNRESOLVED
response_terminator: UNRESOLVED
notes: The table gives command bytes but does not state whether any extra framing/terminator is required. Do not infer no authentication, no flow control, response timing, pacing, retries or error behavior from silence.

Traits

- powerable
- routable
- levelable
- queryable

Actions

- id: model_class_id_query
  label: Model Class ID
  kind: query
  params: []
  command:
    - 27
    - 63
  command_hex: 1B 3F
  source_ascii: "[ESC]?"
  received_responses:
    - "[B3220AHD-X.XX]"
    - "[B4610AHD-X.XX]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: firmware_version_query
  label: Firmware Version
  kind: query
  params: []
  command:
    - 27
    - 46
  command_hex: 1B 2E
  source_ascii: "[ESC]?"
  received_responses:
    - XXXXX-X.XX
  execution_response_note: The executed-response column says main board followed by version; this is explanatory wording, not an additional literal reply.
  command_status: UNRESOLVED
  notes: "Source contradiction: ASCII column says [ESC]? (bytes 1B 3F), while HEX column says 1B 2E (ESC followed by dot). command reproduces the HEX column only, without claiming it resolves the contradiction. Confirm the correct firmware-query byte before use; 1B 3F is also the Model Class ID query."
- id: power_status_query
  label: Power Status
  kind: query
  params: []
  command:
    - 27
    - 33
  command_hex: 1B 21
  source_ascii: "[ESC]!"
  received_responses:
    - "[PWRON]"
    - "[PWROFF]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: power_toggle
  label: Power Toggle
  kind: action
  params: []
  command:
    - 27
    - 36
  command_hex: 1B 24
  source_ascii: "[ESC]$"
  received_responses:
    - "[$]"
  executed_response: "[PWR]"
  response: "[PWR]"
- id: power_on
  label: Power ON
  kind: action
  params: []
  command:
    - 27
    - 65
  command_hex: 1B 41
  source_ascii: "[ESC]A"
  received_responses:
    - "[A]"
  executed_response: "[PWRON]"
  response: "[PWRON]"
- id: power_off
  label: Power OFF
  kind: action
  params: []
  command:
    - 27
    - 66
  command_hex: 1B 42
  source_ascii: "[ESC]B"
  received_responses:
    - "[B]"
  executed_response: "[PWROFF]"
  response: "[PWROFF]"
- id: select_input_tuner
  label: Input 10 - Tuner
  kind: action
  params: []
  command:
    - 27
    - 67
  command_hex: 1B 43
  source_ascii: "[ESC]C"
  received_responses:
    - "[C]"
  executed_response: "[TN1]"
  response: "[TN1]"
- id: select_input_av
  label: Input 1 - AV
  kind: action
  params: []
  command:
    - 27
    - 68
  command_hex: 1B 44
  source_ascii: "[ESC]D"
  received_responses:
    - "[D]"
  executed_response: "[AV]"
  response: "[AV]"
- id: select_input_na
  label: Input 2 - NA
  kind: action
  params: []
  command:
    - 27
    - 69
  command_hex: 1B 45
  source_ascii: "[ESC]E"
  received_responses:
    - "[E]"
  executed_response: "[N/A]"
  response: "[N/A]"
  notes: "The source labels this input NA and reports [N/A]. Physical availability and intended operation are unresolved; no populated input is inferred."
- id: select_input_hdbaset
  label: Input 3 - HDBaseT
  kind: action
  params: []
  command:
    - 27
    - 70
  command_hex: 1B 46
  source_ascii: "[ESC]F"
  received_responses:
    - "[F]"
  executed_response: "[HDBaseT]"
  response: "[HDBaseT]"
- id: select_input_usb
  label: Input 4 - USB
  kind: action
  params: []
  command:
    - 27
    - 71
  command_hex: 1B 47
  source_ascii: "[ESC]G"
  received_responses:
    - "[G]"
  executed_response: "[USB]"
  response: "[USB]"
- id: select_input_component1
  label: Input 5 - Component1
  kind: action
  params: []
  command:
    - 27
    - 72
  command_hex: 1B 48
  source_ascii: "[ESC]H"
  received_responses:
    - "[H]"
  executed_response: "[Component 1]"
  response: "[Component 1]"
- id: select_input_component2
  label: Input 6 - Component2
  kind: action
  params: []
  command:
    - 27
    - 73
  command_hex: 1B 49
  source_ascii: "[ESC]I"
  received_responses:
    - "[I]"
  executed_response: "[Component2]"
  response: "[Component2]"
- id: select_input_vga
  label: Input 7 -VGA
  kind: action
  params: []
  command:
    - 27
    - 75
  command_hex: 1B 4B
  source_ascii: "[ESC]K"
  received_responses:
    - "[K]"
  executed_response: "[VGA]"
  response: "[VGA]"
- id: select_input_hdmi1
  label: Input 8 - HDMI1
  kind: action
  params: []
  command:
    - 27
    - 74
  command_hex: 1B 4A
  source_ascii: "[ESC]J"
  received_responses:
    - "[J]"
  executed_response: "[HDMI1]"
  response: "[HDMI1]"
- id: select_input_hdmi2
  label: Input 9 - HDMI2
  kind: action
  params: []
  command:
    - 27
    - 76
  command_hex: 1B 4C
  source_ascii: "[ESC]L"
  received_responses:
    - "[L]"
  executed_response: "[HDMI2]"
  response: "[HDMI2]"
- id: mute
  label: Mute
  kind: action
  params: []
  command:
    - 27
    - 88
  command_hex: 1B 58
  source_ascii: "[ESC]X"
  received_responses:
    - "[X]"
  executed_response: "[MUTE]"
  response: "[MUTE]"
- id: volume_up
  label: Vol Up
  kind: action
  params: []
  command:
    - 27
    - 89
  command_hex: 1B 59
  source_ascii: "[ESC]Y"
  received_responses:
    - "[Y]"
  executed_response: "[VOL+]"
  response: "[VOL+]"
- id: volume_down
  label: Vol Down
  kind: action
  params: []
  command:
    - 27
    - 90
  command_hex: 1B 5A
  source_ascii: "[ESC]Z"
  received_responses:
    - "[Z]"
  executed_response: "[VOL-]"
  response: "[VOL-]"
- id: channel_up
  label: Channel Up
  kind: action
  params: []
  command:
    - 27
    - 86
  command_hex: 1B 56
  source_ascii: "[ESC]V"
  received_responses:
    - "[V]"
  executed_response: "[CH+]"
  response: "[CH+]"
- id: channel_down
  label: Channel Down
  kind: action
  params: []
  command:
    - 27
    - 87
  command_hex: 1B 57
  source_ascii: "[ESC]W"
  received_responses:
    - "[W]"
  executed_response: "[CH-]"
  response: "[CH-]"
- id: numeric_1
  label: '1'
  kind: action
  params: []
  command:
    - 27
    - 49
  command_hex: 1B 31
  source_ascii: "[ESC]1"
  received_responses:
    - "[1]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_2
  label: '2'
  kind: action
  params: []
  command:
    - 27
    - 50
  command_hex: 1B 32
  source_ascii: "[ESC]2"
  received_responses:
    - "[2]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_3
  label: '3'
  kind: action
  params: []
  command:
    - 27
    - 51
  command_hex: 1B 33
  source_ascii: "[ESC]3"
  received_responses:
    - "[3]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_4
  label: '4'
  kind: action
  params: []
  command:
    - 27
    - 52
  command_hex: 1B 34
  source_ascii: "[ESC]4"
  received_responses:
    - "[4]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_5
  label: '5'
  kind: action
  params: []
  command:
    - 27
    - 53
  command_hex: 1B 35
  source_ascii: "[ESC]5"
  received_responses:
    - "[5]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_6
  label: '6'
  kind: action
  params: []
  command:
    - 27
    - 54
  command_hex: 1B 36
  source_ascii: "[ESC]6"
  received_responses:
    - "[6]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_7
  label: '7'
  kind: action
  params: []
  command:
    - 27
    - 55
  command_hex: 1B 37
  source_ascii: "[ESC]7"
  received_responses:
    - "[7]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_8
  label: '8'
  kind: action
  params: []
  command:
    - 27
    - 56
  command_hex: 1B 38
  source_ascii: "[ESC]8"
  received_responses:
    - "[8]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_9
  label: '9'
  kind: action
  params: []
  command:
    - 27
    - 57
  command_hex: 1B 39
  source_ascii: "[ESC]9"
  received_responses:
    - "[9]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_0
  label: '0'
  kind: action
  params: []
  command:
    - 27
    - 48
  command_hex: 1B 30
  source_ascii: "[ESC]0"
  received_responses:
    - "[0]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: numeric_minus
  label: '-'
  kind: action
  params: []
  command:
    - 27
    - 45
  command_hex: 1B 2D
  source_ascii: "[ESC]-"
  received_responses:
    - "[-]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: channel_return
  label: Channel Return(Previous Channel)
  kind: action
  params: []
  command:
    - 27
    - 114
  command_hex: 1B 72
  source_ascii: "[ESC]r"
  received_responses:
    - "[r]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: source_toggle
  label: Source Toggle
  kind: action
  params: []
  command:
    - 27
    - 98
  command_hex: 1B 62
  source_ascii: "[ESC]b"
  received_responses:
    - "[b]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: aspect
  label: Aspect
  kind: action
  params: []
  command:
    - 27
    - 97
  command_hex: 1B 61
  source_ascii: "[ESC]a"
  received_responses:
    - "[a]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: enter
  label: Enter
  kind: action
  params: []
  command:
    - 27
    - 101
  command_hex: 1B 65
  source_ascii: "[ESC]e"
  received_responses:
    - "[e]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: info
  label: Info
  kind: action
  params: []
  command:
    - 27
    - 105
  command_hex: 1B 69
  source_ascii: "[ESC]i"
  received_responses:
    - "[i]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: closed_caption
  label: CC
  kind: action
  params: []
  command:
    - 27
    - 99
  command_hex: 1B 63
  source_ascii: "[ESC]c"
  received_responses:
    - "[c]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: sleep
  label: Sleep
  kind: action
  params: []
  command:
    - 27
    - 122
  command_hex: 1B 7A
  source_ascii: "[ESC]z"
  received_responses:
    - "[z]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: picture
  label: Picture
  kind: action
  params: []
  command:
    - 27
    - 112
  command_hex: 1B 70
  source_ascii: "[ESC]p"
  received_responses:
    - "[p]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: sound
  label: Sound
  kind: action
  params: []
  command:
    - 27
    - 115
  command_hex: 1B 73
  source_ascii: "[ESC]s"
  received_responses:
    - "[s]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: menu
  label: Menu
  kind: action
  params: []
  command:
    - 27
    - 109
  command_hex: 1B 6D
  source_ascii: "[ESC]m"
  received_responses:
    - "[m]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: arrow_up
  label: UpArrow
  kind: action
  params: []
  command:
    - 27
    - 94
  command_hex: 1B 5E
  source_ascii: "[ESC]^"
  received_responses:
    - "[^]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: arrow_down
  label: Down Arrow
  kind: action
  params: []
  command:
    - 27
    - 118
  command_hex: 1B 76
  source_ascii: "[ESC]v"
  received_responses:
    - "[v]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: arrow_left
  label: Left Arrow
  kind: action
  params: []
  command:
    - 27
    - 62
  command_hex: 1B 3E
  source_ascii: "[ESC]>"
  received_responses:
    - "[<]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
  notes: 'Source direction/acknowledgement oddity is preserved exactly: the received acknowledgement has the opposite angle bracket from the request. The table does not explain this; do not silently swap request bytes or acknowledgements.'
- id: arrow_right
  label: Right Arrow
  kind: action
  params: []
  command:
    - 27
    - 60
  command_hex: 1B 3C
  source_ascii: "[ESC]<"
  received_responses:
    - "[>]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
  notes: 'Source direction/acknowledgement oddity is preserved exactly: the received acknowledgement has the opposite angle bracket from the request. The table does not explain this; do not silently swap request bytes or acknowledgements.'
- id: picture_mode_personal
  label: Picture Mode 1 - Personal
  kind: action
  params: []
  command:
    - 27
    - 80
  command_hex: 1B 50
  source_ascii: "[ESC]P"
  received_responses:
    - "[P]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: picture_mode_standard
  label: Picture Mode 2 - Standard
  kind: action
  params: []
  command:
    - 27
    - 81
  command_hex: 1B 51
  source_ascii: "[ESC]Q"
  received_responses:
    - "[Q]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: picture_mode_sunbrite_day
  label: Picture Mode 3 - SunBrite Day
  kind: action
  params: []
  command:
    - 27
    - 82
  command_hex: 1B 52
  source_ascii: "[ESC]R"
  received_responses:
    - "[R]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.
- id: picture_mode_sunbrite_night
  label: Picture Mode 4 - Sunbrite Night
  kind: action
  params: []
  command:
    - 27
    - 83
  command_hex: 1B 53
  source_ascii: "[ESC]S"
  received_responses:
    - "[S]"
  execution_response_note: The Command Executed Response column is marked na; the separate Command Received Response remains documented.

Feedbacks

- id: power_state
  type: enum
  values:
    - "[PWRON]"
    - "[PWROFF]"
  description: Both values appear under Command Received Response for the power-status query; no claim of silence while off.
- id: input_state
  type: enum
  values:
    - "[TN1]"
    - "[AV]"
    - "[N/A]"
    - "[HDBaseT]"
    - "[USB]"
    - "[Component 1]"
    - "[Component2]"
    - "[VGA]"
    - "[HDMI1]"
    - "[HDMI2]"
  description: Execution acknowledgements for individual input requests; no separate current-input query is documented.
- id: firmware_version
  type: string
  response_pattern: XXXXX-X.XX
  description: Main board followed by version; firmware-query ASCII/HEX contradiction remains unresolved.
- id: model_class_id
  type: string
  response_examples:
    - "[B3220AHD-X.XX]"
    - "[B4610AHD-X.XX]"
  description: Published model-class response templates, including version placeholders; these are not an exhaustive list of supported models.

Variables

[]

Events

[]

Macros

[]

Safety

confirmation_required_for: []
interlocks: []

Notes

Source: https://www.sunbritetv.com/content/RS232-control-codes.pdf (manufacturer download, 1 page, Rev. 10/07/2016). The command_hex and source_ascii fields reproduce the two source columns. Numeric command arrays are raw byte values, not printable decimal text.

received_responses reproduces the Command Received Response column; executed_response reproduces a distinct Command Executed Response when documented. The compatibility response field repeats that execution reply. The literal na in the execution column does not mean that the separate receipt acknowledgement is absent. No acknowledgement ordering, timing, unsolicited notification or error frame is specified. Numeric/menu commands do have their bracketed receipt acknowledgements.

Firmware query: ASCII [ESC]? conflicts with HEX 1B 2E; the draft exposes both without fixing the manufacturer table. Left Arrow transmits 1B 3E ([ESC]>) and acknowledges [<]; Right Arrow transmits 1B 3C ([ESC]<) and acknowledges [>]. Those unusual source values are not exchanged. Input 7/VGA uses K and Input 8/HDMI1 uses J; the source explicitly attributes that ordering to legacy compatibility. Mute is labelled Mute in the source; toggle semantics are not assumed.

The response template XXXXX-X.XX describes main-board/firmware information. It is not a fixed returned string or a supported firmware range. Connector pinout and a model-specific compatibility list are absent. No hardware test was performed. Solis and Veranda 4 are not covered by this legacy protocol draft.

Provenance

source_domains:
  - sunbritetv.com
source_urls:
  - https://www.sunbritetv.com/content/RS232-control-codes.pdf
retrieved_at: 2026-09-26T14:23:19.336Z
last_checked_at: 2026-09-26T14:23:19.336Z

Verification Summary

verdict: verified
checked_at: 2026-09-26T14:23:19.336Z
matched_actions: 50
action_count: 50
confidence: high
summary: "Independent full one-page primary review:50 request rows, every HEX/ASCII and receipt/execution column match;49 prior IDs retained. Generic legacy same-class model applicability is explicitly caveated; firmware-query contradiction, arrow acknowledgements,NA input and unspecified framing remain unresolved rather than invented."

Known Gaps

[]

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0