Summary

Control spec for SunBriteTV SB-V (Veranda 2) outdoor TVs covering the manufacturer-published RS-232 command set. The product page mentions IP control over Ethernet, but the only first-party protocol document available is the RS-232 control codes table (no separate IP command list published for this generation).

Transport

protocols:
  - serial
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none  # inferred: not stated in source
auth:
  type: none  # inferred: no auth procedure in source

Traits

- powerable       # inferred from power on/off/toggle commands
- routable        # inferred from input selection commands (Tuner/AV1/AV2/Component/HDMI/VGA)
- levelable       # inferred from Vol Up / Vol Down / Mute commands
- queryable       # inferred from ModelClassID, FirmwareVersion, PowerStatus queries

Actions

# Source: "RS 232 Control codes SunbriteTV" (Rev. 10/07/2016)
# Com Spec: 9600,8,1,n. Commands do not require Carriage Return or Line Feed.
# All commands prefixed with ESC (0x1B).

- id: model_class_id_query
  label: Model Class ID Query
  kind: query
  command: "1B 3F"  # [ESC]?
  params: []
  notes: "TV responds with [BXXXXXAHD-X.XX]"

- id: firmware_version_query
  label: Firmware Version Query
  kind: query
  command: "1B 2E"  # [ESC].
  params: []
  notes: "Response format: XXXXX-X.XX, then mainboard info, then version"

- id: power_status_query
  label: Power Status Query
  kind: query
  command: "1B 21"  # [ESC]!
  params: []
  notes: "Response: [PWRON] or [PWROFF]"

- id: power_toggle
  label: Power Toggle
  kind: action
  command: "1B 24"  # [ESC]$
  params: []
  notes: "Command received: [$]. Executed response: [PWR]"

- id: power_on
  label: Power On
  kind: action
  command: "1B 41"  # [ESC]A
  params: []
  notes: "Command received: [A]. Executed response: [PWRON]"

- id: power_off
  label: Power Off
  kind: action
  command: "1B 42"  # [ESC]B
  params: []
  notes: "Command received: [B]. Executed response: [PWROFF]"

- id: select_tuner
  label: Select Tuner Input
  kind: action
  command: "1B 43"  # [ESC]C
  params: []
  notes: "Command received: [C]. Executed response: [TN1]"

- id: select_composite_video_1
  label: Select Composite Video Input 1
  kind: action
  command: "1B 44"  # [ESC]D
  params: []
  notes: "Command received: [D]. Executed response: [AV1(CVBS)]"

- id: select_svideo_1
  label: Select S-Video Input 1
  kind: action
  command: "1B 45"  # [ESC]E
  params: []
  notes: "Command received: [E]. Executed response: [AV1(S-VIDEO)]"

- id: select_composite_video_2
  label: Select Composite Video Input 2
  kind: action
  command: "1B 46"  # [ESC]F
  params: []
  notes: "Command received: [F]. Executed response: [AV2(CVBS)]"

- id: select_svideo_2
  label: Select S-Video Input 2
  kind: action
  command: "1B 47"  # [ESC]G
  params: []
  notes: "Command received: [G]. Executed response: [AV2(S-VIDEO)]"

- id: select_component_1
  label: Select Component 1 Input
  kind: action
  command: "1B 48"  # [ESC]H
  params: []
  notes: "Command received: [H]. Executed response: [YpbPr1]"

- id: select_component_2
  label: Select Component 2 Input
  kind: action
  command: "1B 49"  # [ESC]I
  params: []
  notes: "Command received: [I]. Executed response: [YpbPr2]"

- id: select_hdmi_1
  label: Select HDMI Input 1
  kind: action
  command: "1B 4A"  # [ESC]J
  params: []
  notes: "Command received: [J]. Executed response: [HDMI1]"

- id: select_vga
  label: Select VGA Input
  kind: action
  command: "1B 4B"  # [ESC]K
  params: []
  notes: "Command received: [K]. Executed response: [VGA]"

- id: select_hdmi_2
  label: Select HDMI Input 2
  kind: action
  command: "1B 4C"  # [ESC]L
  params: []
  notes: "Command received: [L]. Executed response: [HDMI2]"

- id: mute
  label: Mute
  kind: action
  command: "1B 58"  # [ESC]X
  params: []
  notes: "Command received: [X]. Executed response: [MUTE]"

- id: volume_up
  label: Volume Up
  kind: action
  command: "1B 59"  # [ESC]Y
  params: []
  notes: "Command received: [Y]. Executed response: [VOL+]"

- id: volume_down
  label: Volume Down
  kind: action
  command: "1B 5A"  # [ESC]Z
  params: []
  notes: "Command received: [Z]. Executed response: [VOL-]"

- id: channel_up
  label: Channel Up
  kind: action
  command: "1B 56"  # [ESC]V
  params: []
  notes: "Command received: [V]. Executed response: [CH+]"

- id: channel_down
  label: Channel Down
  kind: action
  command: "1B 57"  # [ESC]W
  params: []
  notes: "Command received: [W]. Executed response: [CH-]"

- id: digit_1
  label: Digit 1
  kind: action
  command: "1B 31"  # [ESC]1
  params: []
  notes: "Command received: [1]"

- id: digit_2
  label: Digit 2
  kind: action
  command: "1B 32"  # [ESC]2
  params: []
  notes: "Command received: [2]"

- id: digit_3
  label: Digit 3
  kind: action
  command: "1B 33"  # [ESC]3
  params: []
  notes: "Command received: [3]"

- id: digit_4
  label: Digit 4
  kind: action
  command: "1B 34"  # [ESC]4
  params: []
  notes: "Command received: [4]"

- id: digit_5
  label: Digit 5
  kind: action
  command: "1B 35"  # [ESC]5
  params: []
  notes: "Command received: [5]"

- id: digit_6
  label: Digit 6
  kind: action
  command: "1B 36"  # [ESC]6
  params: []
  notes: "Command received: [6]"

- id: digit_7
  label: Digit 7
  kind: action
  command: "1B 37"  # [ESC]7
  params: []
  notes: "Command received: [7]"

- id: digit_8
  label: Digit 8
  kind: action
  command: "1B 38"  # [ESC]8
  params: []
  notes: "Command received: [8]"

- id: digit_9
  label: Digit 9
  kind: action
  command: "1B 39"  # [ESC]9
  params: []
  notes: "Command received: [9]"

- id: digit_0
  label: Digit 0
  kind: action
  command: "1B 30"  # [ESC]0
  params: []
  notes: "Command received: [0]"

- id: dash
  label: Dash (-)
  kind: action
  command: "1B 2D"  # [ESC]-
  params: []
  notes: "Command received: [-]"

- id: channel_return
  label: Channel Return (Previous Channel)
  kind: action
  command: "1B 72"  # [ESC]r
  params: []
  notes: "Command received: [r]"

- id: source_toggle
  label: Source Toggle
  kind: action
  command: "1B 62"  # [ESC]b
  params: []
  notes: "Command received: [SRC]"

- id: aspect
  label: Aspect
  kind: action
  command: "1B 61"  # [ESC]a
  params: []
  notes: "Command received: [ASPECT]"

- id: enter
  label: Enter
  kind: action
  command: "1B 65"  # [ESC]e
  params: []
  notes: "Command received: [ENTER]"

- id: info
  label: Info
  kind: action
  command: "1B 69"  # [ESC]i
  params: []
  notes: "Command received: [INFO]"

- id: cc
  label: CC (Closed Caption)
  kind: action
  command: "1B 63"  # [ESC]c
  params: []
  notes: "Command received: [CC]"

- id: sleep
  label: Sleep
  kind: action
  command: "1B 7A"  # [ESC]z
  params: []
  notes: "Command received: [SLEEP]"

- id: picture
  label: Picture
  kind: action
  command: "1B 70"  # [ESC]p
  params: []
  notes: "Command received: [PICT]"

- id: sound
  label: Sound
  kind: action
  command: "1B 73"  # [ESC]s
  params: []
  notes: "Command received: [SND]"

- id: menu
  label: Menu
  kind: action
  command: "1B 6D"  # [ESC]m
  params: []
  notes: "Command received: [MENU]"

- id: up_arrow
  label: Up Arrow
  kind: action
  command: "1B 5E"  # [ESC]^
  params: []
  notes: "Command received: [^]"

- id: down_arrow
  label: Down Arrow
  kind: action
  command: "1B 76"  # [ESC]v
  params: []
  notes: "Command received: [v]"

- id: left_arrow
  label: Left Arrow
  kind: action
  command: "1B 3E"  # [ESC]>
  params: []
  notes: "Command received: [<]"

- id: right_arrow
  label: Right Arrow
  kind: action
  command: "1B 3C"  # [ESC]<
  params: []
  notes: "Command received: [>]"

Feedbacks

- id: power_state
  type: enum
  values: [on, off]
  source: "Response to Power Status query [ESC]! : [PWRON] or [PWROFF]"

- id: model_class_id
  type: string
  source: "Response to [ESC]? : [BXXXXXAHD-X.XX]"

- id: firmware_version
  type: string
  source: "Response to [ESC]. : XXXXX-X.XX (then mainboard id, then version)"

- id: current_input
  type: enum
  values: [TN1, AV1_CVBS, AV1_SVIDEO, AV2_CVBS, AV2_SVIDEO, YpbPr1, YpbPr2, HDMI1, VGA, HDMI2]
  source: "Inferred from executed response tokens on input select commands"

Variables

# UNRESOLVED: source describes only discrete action opcodes, no continuous settable parameters

Events

# UNRESOLVED: source does not document unsolicited notifications

Macros

# UNRESOLVED: source does not document multi-step sequences

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or power-on sequencing requirements

Notes

  • All commands prefixed with ESC (0x1B). Per source, commands do NOT require Carriage Return or Line Feed.
  • Com spec: 9600 baud, 8 data bits, 1 stop bit, no parity.
  • Source document title is "RS 232 Control codes SunbriteTV" (Rev. 10/07/2016). Origin: https://www.manualslib.com/manual/734396/Sunbritetv-3220hd.html (Appendix B style table, applied across SB-V series chassis).
  • Operator's manual for SB-V-43/55/65/75-4KHDR exists at Google Drive ID 1kXj3SCfQNm5uZ4312XGMpXyZve7kczNT (54 pages) but does not enumerate the IP control command set.
  • Veranda 3 (SB-V3) IP control exists on TCP port 60028 with CR-terminated ASCII commands, but SunBriteTV explicitly states those commands are NOT compatible with SB-V — do not apply here.
  • Source product page lists "ETHERNET (RJ 45 for IP Control)" as a control input, but the command set for IP control of SB-V is not published in the first-party manual reviewed.

Provenance

source_domains:
  - snapav.com
  - weatherprooftelevisions.com
source_urls:
  - https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/SunBrite/ManualsAndGuides/SunBriteTV_Codes_RS232.pdf
  - "https://www.weatherprooftelevisions.com/downloads/SunBriteTV-Veranda-Series-43-55-65-User's-Manual.pdf"
retrieved_at: 2026-06-08T19:07:45.123Z
last_checked_at: 2026-06-09T07:24:28.670Z

Verification Summary

verdict: verified
checked_at: 2026-06-09T07:24:28.670Z
matched_actions: 46
action_count: 46
confidence: medium
summary: "All 46 spec actions matched verbatim to source hex codes with exact transport parameters. (6 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "dedicated IP/TCP command list for SB-V series not published. Veranda 3 (SB-V3) sibling has port 60028 CR-terminated ASCII commands but is explicitly NOT compatible with SB-V."
- "source describes only discrete action opcodes, no continuous settable parameters"
- "source does not document unsolicited notifications"
- "source does not document multi-step sequences"
- "source contains no safety warnings, interlock procedures, or power-on sequencing requirements"
- "dedicated IP/TCP command catalogue for SB-V series not found in source."

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