Summary
RS-232 control protocol for the Vaddio ClearVIEW HD-18 camera (the camera module used in the WallVIEW HD-18 family). Protocol is VISCA-like — "similar, but not identical to the Sony VISCA command set" — carried over an RJ-45 RS-232 port at 9600 bps 8N1, no flow control. Covers power, zoom, focus, white balance, gain/iris, presets, pan/tilt drive, tally, and image enhancement commands plus a full inquiry (query) set.
Transport
protocols:
- serial
serial:
baud_rate: 9600 # stated as "(default)"
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # source: "No Flow control"
auth:
type: none # inferred: no auth procedure in source
Traits
# - powerable (CAM_Power On/Off commands)
# - queryable (full inquiry command list)
# - levelable (gain, iris, aperture, gamma, chroma, knee direct-set commands)
traits:
- powerable # inferred from CAM_Power command examples
- queryable # inferred from inquiry command examples
- levelable # inferred from gain/iris/aperture/enhancement set commands
Actions
# Protocol: VISCA-like hex byte sequences over RS-232, terminated with FF.
# "8x" header: x = camera address (source notation kept verbatim).
# Hex strings copied verbatim from source, including apparent source typos
# (noted in Notes). Parameterized nibbles shown as in source (p, q, r, s, V, WW, VV, etc.).
actions:
# --- System ---
- id: address_set
label: Address Set (Broadcast)
kind: action
command: "88 30 01 FF"
params: []
- id: if_clear
label: Interface Clear (Broadcast)
kind: action
command: "88 01 00 01 FF"
params: []
- id: command_cancel
label: Command Cancel
kind: action
command: "8x 2p FF"
params:
- name: p
type: integer
description: "Socket number (1 to 2)"
# --- Power ---
- id: power_on
label: Power On
kind: action
command: "8x 01 04 00 02 FF"
params: []
- id: power_off
label: Power Off
kind: action
command: "8x 01 04 00 03 FF"
params: []
# --- Zoom ---
- id: zoom_stop
label: Zoom Stop
kind: action
command: "8x 01 04 07 00 FF"
params: []
- id: zoom_tele_standard
label: Zoom Tele (Standard)
kind: action
command: "8x 01 04 07 02 FF"
params: []
- id: zoom_wide_standard
label: Zoom Wide (Standard)
kind: action
command: "8x 01 04 07 03 FF"
params: []
- id: zoom_tele_variable
label: Zoom Tele (Variable)
kind: action
command: "8x 01 04 07 2p FF"
params:
- name: p
type: integer
description: "Speed, 0 (Slow) to 7 (Fast)"
- id: zoom_wide_variable
label: Zoom Wide (Variable)
kind: action
command: "8x 01 04 07 3p FF"
params:
- name: p
type: integer
description: "Speed, 0 (Slow) to 7 (Fast)"
- id: zoom_direct
label: Zoom Direct (Absolute)
kind: action
command: "8x 01 04 47 0p 0q 0r 0s FF"
params:
- name: pqrs
type: string
description: "Zoom position, 4 hex nibbles (see zoom position inquiry for range)"
- id: zoom_direct_variable
label: Zoom Direct (Variable Speed)
kind: action
command: "8x 01 7E 01 4A 0V 0p0q0r 0s FF"
params:
- name: V
type: integer
description: "Speed, 0-7"
- name: pqrs
type: string
description: "Zoom position, 4 hex nibbles"
# --- Focus ---
- id: focus_stop
label: Focus Stop
kind: action
command: "8x 01 04 08 00 FF"
params: []
- id: focus_far_standard
label: Focus Far (Standard)
kind: action
command: "8x 01 04 08 02 FF"
params: []
- id: focus_near_standard
label: Focus Near (Standard)
kind: action
command: "8x 01 04 08 03 FF"
params: []
- id: focus_far_variable
label: Focus Far (Variable)
kind: action
command: "8x 01 04 08 2p FF"
params:
- name: p
type: integer
description: "Speed, 0 (Slow) to 7 (Fast)"
- id: focus_near_variable
label: Focus Near (Variable)
kind: action
command: "8x 01 04 08 3p FF"
params:
- name: p
type: integer
description: "Speed, 0 (Slow) to 7 (Fast)"
- id: autofocus_on
label: Auto Focus
kind: action
command: "8x 01 04 38 02 FF"
params: []
- id: manual_focus_on
label: Manual Focus
kind: action
command: "8x 01 04 38 03 FF"
params: []
- id: focus_auto_manual_toggle
label: Focus Auto/Manual Toggle
kind: action
command: "8x 01 04 38 10 FF"
params: []
# --- White Balance ---
- id: wb_auto
label: White Balance Auto
kind: action
command: "8x 01 04 35 00 FF"
params: []
- id: wb_manual
label: White Balance Manual
kind: action
command: "8x 01 04 35 05 FF"
params: []
# --- Red Gain ---
- id: r_gain_reset
label: Red Gain Reset
kind: action
command: "8x 01 04 03 00 FF"
params: []
- id: r_gain_up
label: Red Gain Up
kind: action
command: "8x 01 04 03 02 FF"
params: []
- id: r_gain_down
label: Red Gain Down
kind: action
command: "81 01 04 03 03 FF"
params: []
- id: r_gain_direct
label: Red Gain Direct
kind: action
command: "81 01 04 43 00 0p0q0r FF"
params:
- name: pqr
type: string
description: "Red gain, 000-1FF (3 hex nibbles)"
# --- Blue Gain ---
- id: b_gain_reset
label: Blue Gain Reset
kind: action
command: "8x 01 04 04 00 FF"
params: []
- id: b_gain_up
label: Blue Gain Up
kind: action
command: "8x 01 04 04 02 FF"
params: []
- id: b_gain_down
label: Blue Gain Down
kind: action
command: "81 01 04 04 03 FF"
params: []
- id: b_gain_direct
label: Blue Gain Direct
kind: action
command: "81 01 04 44 00 0p0q0r FF"
params:
- name: pqr
type: string
description: "Blue gain, 000-1FF (3 hex nibbles)"
# --- Auto Exposure / Iris / Gain ---
- id: ae_full_auto
label: Auto Exposure Full Auto
kind: action
command: "81 01 04 39 00 FF"
params: []
- id: ae_manual
label: Auto Exposure Manual Control Mode
kind: action
command: "81 01 04 39 03 FF"
params: []
- id: iris_reset
label: Iris Reset
kind: action
command: "81 01 04 0B 00 FF"
params: []
- id: iris_up
label: Iris Up
kind: action
command: "81 01 04 0B 02 FF"
params: []
- id: iris_down
label: Iris Down
kind: action
command: "81 01 04 0B 03 FF"
params: []
- id: iris_direct
label: Iris Direct
kind: action
command: "81 01 04 4B 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Iris value, 0x00-0x11 (2 hex nibbles)"
- id: gain_reset
label: Gain Reset
kind: action
command: "81 01 04 0C 00 FF"
params: []
- id: gain_up
label: Gain Up
kind: action
command: "81 01 04 0C 02 FF"
params: []
- id: gain_down
label: Gain Down
kind: action
command: "81 01 04 0C 03 FF"
params: []
- id: gain_direct
label: Gain Direct
kind: action
command: "81 01 04 4C 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Gain value, 0x00-0x1E (2 hex nibbles)"
# --- Backlight / Aperture ---
- id: backlight_on
label: Backlight On
kind: action
command: "81 01 04 33 02 FF"
params: []
- id: backlight_off
label: Backlight Off
kind: action
command: "81 01 04 33 03 FF"
params: []
- id: aperture_reset
label: Aperture Reset
kind: action
command: "81 01 04 02 00 FF"
params: []
- id: aperture_up
label: Aperture Up
kind: action
command: "81 01 04 02 02 FF"
params: []
- id: aperture_down
label: Aperture Down
kind: action
command: "81 01 04 02 03 FF"
params: []
- id: aperture_direct
label: Aperture Direct
kind: action
command: "81 01 04 42 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Aperture value, 0x00-0x3F (2 hex nibbles)"
# --- Preset Memory ---
- id: memory_reset
label: Preset Memory Reset
kind: action
command: "81 01 04 3F 00 0p FF"
params:
- name: p
type: string
description: "Memory number, 0-0xF (1 hex nibble)"
- id: memory_set
label: Preset Memory Set
kind: action
command: "81 01 04 3F 01 0p FF"
params:
- name: p
type: string
description: "Memory number, 0-0xF (1 hex nibble)"
- id: memory_recall
label: Preset Memory Recall
kind: action
command: "81 01 04 3F 02 0p FF"
params:
- name: p
type: string
description: "Memory number, 0-0xF (1 hex nibble)"
# --- Camera ID ---
- id: camera_id_write
label: Camera ID Write
kind: action
command: "81 01 04 22 0p 0q 0r 0s FF"
params:
- name: pqrs
type: string
description: "Camera ID, 0000-FFFF (4 hex nibbles)"
# --- IR Receive ---
- id: ir_receive_on
label: IR Receive On
kind: action
command: "81 01 06 08 02 FF"
params: []
- id: ir_receive_off
label: IR Receive Off
kind: action
command: "81 01 06 08 03 FF"
params: []
- id: ir_receive_toggle
label: IR Receive On/Off Toggle
kind: action
command: "81 01 06 08 10 FF"
params: []
- id: ir_receive_return_on
label: IR Receive Return On
kind: action
command: "81 01 7D 01 03 00 00 FF"
params: []
- id: ir_receive_return_off
label: IR Receive Return Off
kind: action
command: "81 01 7D 01 13 00 00 FF"
params: []
# --- Pan/Tilt Drive ---
- id: ptz_up
label: Pan-Tilt Up
kind: action
command: "81 01 06 01 VV WW 03 01 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_down
label: Pan-Tilt Down
kind: action
command: "81 01 06 01 VV WW 03 02 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_left
label: Pan-Tilt Left
kind: action
command: "81 01 06 01 VV WW 01 03 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_right
label: Pan-Tilt Right
kind: action
command: "81 01 06 01 VV WW 02 03 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_up_left
label: Pan-Tilt Up-Left
kind: action
command: "81 01 06 01 VV WW 01 01 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_up_right
label: Pan-Tilt Up-Right
kind: action
command: "81 01 06 01 VV WW 02 01 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_down_left
label: Pan-Tilt Down-Left
kind: action
command: "81 01 06 01 VV WW 01 02 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_down_right
label: Pan-Tilt Down-Right
kind: action
command: "81 01 06 01 VV WW 02 02 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_stop
label: Pan-Tilt Stop
kind: action
command: "81 01 06 01 VV WW 03 03 FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- id: ptz_absolute_position
label: Pan-Tilt Absolute Position
kind: action
command: "81 01 06 02 VV WW 0Y 0Y 0Y 0Y 0Z 0Z 0Z 0Z FF"
params:
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- name: YYYY
type: string
description: "Pan position (4 hex nibbles); range defined in inquiry list"
- name: ZZZZ
type: string
description: "Tilt position (4 hex nibbles); range defined in inquiry list"
- id: ptz_home
label: Pan-Tilt Home
kind: action
command: "81 01 06 04 FF"
params: []
- id: ptz_reset
label: Pan-Tilt Reset
kind: action
command: "81 01 06 05 FF"
params: []
# --- Tally ---
- id: tally_on
label: Tally On
kind: action
command: "81 01 7E 01 0A 00 02 FF"
params: []
- id: tally_off
label: Tally Off
kind: action
command: "81 01 7E 01 0A 00 03 FF"
params: []
# --- Preset Speed / Motor Config ---
- id: preset_speed_set
label: Preset Pan/Tilt Speed Set
kind: action
command: "81 01 7E 01 0B WW VV ZZ FF"
params:
- name: WW
type: string
description: "Pan speed, 0x01-0x18"
- name: VV
type: string
description: "Tilt speed, 0x01-0x14"
- name: ZZ
type: integer
description: "Zoom speed, 0-7"
- id: motor_config_hard_stops
label: Motor Config Hard Motor Stops
kind: action
command: "81 01 7E 01 70 00 00 FF"
params: []
- id: motor_config_soft_stops
label: Motor Config Soft Motor Stops
kind: action
command: "81 01 7E 01 70 00 01 FF"
params: []
# --- Image Enhancement ---
- id: black_level_set
label: Black Level (Pedestal) Set
kind: action
command: "81 01 7E 53 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Black level, 0x01-0xFD (2 hex nibbles)"
- id: gamma_set
label: Gamma Set
kind: action
command: "81 01 7E 54 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Gamma, 0x00-0x8F (2 hex nibbles)"
- id: chroma_set
label: Chroma Set
kind: action
command: "81 01 7E 55 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Chroma, 0x08-0x1F (2 hex nibbles)"
- id: knee_set
label: Knee Set
kind: action
command: "81 01 7E 55 00 00 0p0q FF"
params:
- name: pq
type: string
description: "Knee, 0x00-0x7F (2 hex nibbles); NOTE packet in source duplicates Chroma packet (byte 55) - kept verbatim"
# --- Inquiry (query) commands ---
- id: power_query
label: Power Status Query
kind: query
command: "8x 09 04 00 FF"
params: []
- id: zoom_position_query
label: Zoom Position Query
kind: query
command: "8x 09 04 47 FF"
params: []
- id: wb_mode_query
label: White Balance Mode Query
kind: query
command: "8x 09 04 35 FF"
params: []
- id: r_gain_query
label: Red Gain Query
kind: query
command: "8x 09 04 43 FF"
params: []
- id: b_gain_query
label: Blue Gain Query
kind: query
command: "8x 09 04 44 FF"
params: []
- id: ae_mode_query
label: Auto Exposure Mode Query
kind: query
command: "8x 09 04 39 FF"
params: []
- id: iris_query
label: Iris Query
kind: query
command: "81 09 04 4B FF"
params: []
- id: gain_query
label: Gain Query
kind: query
command: "81 09 04 4C FF"
params: []
- id: backlight_mode_query
label: Backlight Mode Query
kind: query
command: "81 09 04 33 FF"
params: []
- id: aperture_query
label: Aperture Query
kind: query
command: "81 09 04 42 FF"
params: []
- id: memory_query
label: Preset Memory Query
kind: query
command: "81 09 04 3F FF"
params: []
- id: camera_id_query
label: Camera ID Query
kind: query
command: "81 09 04 3F FF"
params: [] # NOTE: source lists same packet as MemoryInq; response differs (see Feedbacks)
- id: ir_receive_query
label: IR Receive Query
kind: query
command: "81 09 06 08 FF"
params: []
- id: pan_tilt_max_speed_query
label: Pan-Tilt Max Speed Query
kind: query
command: "81 09 06 11 FF"
params: []
- id: pan_tilt_position_query
label: Pan-Tilt Position Query
kind: query
command: "81 09 06 12 FF"
params: []
- id: tally_query
label: Tally Query
kind: query
command: "81 09 7E 01 0A FF"
params: []
- id: preset_speed_query
label: Preset Speed Query
kind: query
command: "81 09 7E 01 0B FF"
params: []
- id: motor_config_query
label: Motor Config Query
kind: query
command: "81 09 7E 01 70 FF"
params: []
- id: black_level_query
label: Black Level Query
kind: query
command: "81 01 7E 53 FF"
params: [] # NOTE: source uses 01 not 09 in class byte - kept verbatim
- id: gamma_query
label: Gamma Query
kind: query
command: "81 01 7E 54 FF"
params: [] # NOTE: source uses 01 not 09 in class byte - kept verbatim
- id: chroma_query
label: Chroma Query
kind: query
command: "81 01 7E 55 FF"
params: [] # NOTE: source uses 01 not 09 in class byte - kept verbatim
- id: knee_query
label: Knee Query
kind: query
command: "81 01 7E 56 FF"
params: [] # NOTE: source uses 01 not 09 in class byte - kept verbatim
Feedbacks
# Response prefix "y0 50" per source notation (y = response address nibble).
# Response packets verbatim from the HD-18 Inquiry List.
feedbacks:
- id: power_state
type: enum
query: power_query
values:
- { value: "y0 50 02 FF", label: "on" }
- { value: "y0 50 03 FF", label: "off (standby)" }
- id: zoom_position
type: integer
query: zoom_position_query
response_format: "y0 50 0p0q0r 0s FF"
description: "Zoom position, 4 hex nibbles pqrs"
- id: wb_mode
type: enum
query: wb_mode_query
values:
- { value: "y0 50 00 FF", label: "auto" }
- { value: "y0 50 05 FF", label: "manual" }
- id: r_gain
type: integer
query: r_gain_query
response_format: "y0 50 00 0p0q0r FF"
description: "Red gain, 000-1FF"
- id: b_gain
type: integer
query: b_gain_query
response_format: "y0 50 00 0p0q0r FF"
description: "Blue gain, 000-1FF"
- id: ae_mode
type: enum
query: ae_mode_query
values:
- { value: "y0 50 00 FF", label: "auto exposure mode" }
- { value: "y0 50 03 FF", label: "manual control mode" }
- id: iris
type: integer
query: iris_query
response_format: "y0 50 00 00 0p0q FF"
description: "Iris, 0x00-0x11"
- id: gain
type: integer
query: gain_query
response_format: "y0 50 00 00 0p0q FF"
description: "Gain, 0x00-0x1E"
- id: backlight_mode
type: enum
query: backlight_mode_query
values:
- { value: "y0 50 02 FF", label: "on" }
- { value: "y0 50 03 FF", label: "off" }
- id: aperture
type: integer
query: aperture_query
response_format: "y0 50 00 00 0p0q FF"
description: "Aperture, 0x00-0x3F"
- id: memory
type: integer
query: memory_query
response_format: "y0 50 0p FF"
description: "Memory number, 0-0xF"
- id: camera_id
type: integer
query: camera_id_query
response_format: "y0 50 0p0q0r 0s FF"
description: "Camera ID, 0000-FFFF"
- id: ir_receive_state
type: enum
query: ir_receive_query
values:
- { value: "y0 50 02 FF", label: "on" }
- { value: "y0 50 03 FF", label: "off" }
- id: pan_tilt_max_speed
type: string
query: pan_tilt_max_speed_query
response_format: "y0 50 WW VV FF"
description: "WW pan speed (0x01-0x18), VV tilt speed (0x01-0x14)"
- id: pan_tilt_position
type: string
query: pan_tilt_position_query
response_format: "y0 50 0Y 0Y 0Y 0Y 0Z 0Z 0Z 0Z FF"
description: "YYYY pan, ZZZZ tilt positions"
- id: tally_state
type: enum
query: tally_query
values:
- { value: "y0 50 02 FF", label: "on" }
- { value: "y0 50 03 FF", label: "off" }
- id: preset_speed
type: string
query: preset_speed_query
response_format: "y0 50 WW VV ZZ FF"
description: "WW pan (0x01-0x18), VV tilt (0x01-0x14), ZZ zoom (0-7)"
- id: motor_config
type: enum
query: motor_config_query
values:
- { value: "y0 50 00 FF", label: "hard motor stops" }
- { value: "y0 50 01 FF", label: "soft motor stops" }
- id: black_level
type: integer
query: black_level_query
response_format: "y0 50 00 00 0p0q FF"
description: "Black level, 0x01-0xFD"
- id: gamma
type: integer
query: gamma_query
response_format: "y0 50 00 00 0p0q FF"
description: "Gamma, 0x00-0x8F"
- id: chroma
type: integer
query: chroma_query
response_format: "y0 50 00 00 0p0q FF"
description: "Chroma, 0x08-0x1F"
- id: knee
type: integer
query: knee_query
response_format: "y0 50 00 00 0p0q FF"
description: "Knee, 0x00-0x7F"
Variables
# All settable parameters in this source are exposed as discrete direct-set
# commands (see Actions: iris_direct, gain_direct, r_gain_direct, b_gain_direct,
# aperture_direct, black_level_set, gamma_set, chroma_set, knee_set).
# No separate non-command variables documented.
variables: []
Events
# No unsolicited notification messages documented in source.
# UNRESOLVED: VISCA-like protocols commonly emit completion/error socket
# acknowledgements, but this source documents none.
events: []
Macros
# No multi-step sequences documented in source.
macros: []
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or
# power-on sequencing requirements.
Notes
- Protocol is "similar, but not identical to the Sony VISCA command set"; not all VISCA commands supported, and many HD-18-specific commands exist. Some commands in other VISCA dialects (e.g. focus one-push) may not work.
- RJ-45 RS-232 pinout per source: pin 3 = IR Out (TTL), pin 4/5 = IR differential pair to HD-18 Quick-Connect, pin 6 = IR ground, pin 7 = RXD (from TXD of control source), pin 8 = TXD (to RXD of control source). Pins 1, 2 unused.
- Header notation: commands written
8xare address-parameterized (x = camera address); response prefix writteny0 50in the inquiry list. Hardcoded81headers in some rows kept verbatim from source. - Pan range: 8044 – 7FBC (-32,700 to +32,700). Tilt range: E891 – 4C2B (-5,999 to +19,499). Source notes actual pan/tilt ranges are defined in the inquiry list, and ranges marked
+are "supported in future release". - Source anomalies kept verbatim, flagged for verification against device: (1) KNE.Enhance command packet uses byte
55, identical to CRM.Enhance — likely should be56; (2) CAM_IDInq packet81 09 04 3F FFduplicates CAM_MemoryInq; (3) BLK/GMA/CRM/KNE inquiry rows use class byte01instead of09used by all other inquiries; (4) KNE range printed "0x0-07F". - No acknowledgment/error response packets (other than inquiry replies) documented in source.
## Provenance
```yaml
source_domains:
- web.archive.org
- res.cloudinary.com
- manualshelf.com
- fullcompass.com
source_urls:
- "https://web.archive.org/web/20130516083824/http://www.vaddio.com/images/downloads/HD-18%20Command%20List%209-10-09.pdf"
- "https://res.cloudinary.com/iwh/image/upload/q_auto,g_center/assets/1/26/998-6900-007_Manual.pdf"
- https://www.manualshelf.com/manual/vaddio/wallview-ccu-hd-19/user-guide-english.html
- https://www.fullcompass.com/common/files/36364-RoboSHOTHDBTCompleteManual.pdf
- "https://res.cloudinary.com/iwh/image/upload/q_auto,g_center/assets/1/26/Vaddio_ClearVIEW_HD-20_Manual.pdf"
retrieved_at: 2026-09-05T00:13:44.799Z
last_checked_at: 2026-09-22T11:49:37.052Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-09-22T11:49:37.052Z
matched_actions: 98
action_count: 98
confidence: medium
summary: "All 75 command rows and 20 inquiry rows from source appear verbatim in spec; transport parameters all match. (6 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "source document is titled \"ClearVIEW HD-18 Command List\"; explicit confirmation that HD-19/HD-20 share this command set is not in the source text. Model list populated from source title only."
- "VISCA-like protocols commonly emit completion/error socket"
- "source contains no safety warnings, interlock procedures, or"
- "no TCP/IP control documented; RS-232 only per this source."
- "firmware version compatibility not stated in source."
- "HD-19 / HD-20 model applicability not stated in source text."
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0