Summary

ZeeVee ZvBox/ZvPro encoding appliances (RF-over-coax MPEG2 encoders) controlled via an RS-232C serial console using the ZvCli command language. This spec covers the serial CLI command set: status queries, RF/broadcast configuration, A/V input selection, MPEG2 encoding controls, program (HDTV channel) metadata, and system maintenance commands.

Transport

protocols:
  - serial
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: xon/xoff  # software (Xon / Xoff) flow control
auth:
  type: none  # inferred: no auth procedure in source

Traits

# - queryable       (show commands return state: system-status, av-status, config, analysis, zvcli-info)
# - routable        (video-source / audio-for-* input selection present)
# - levelable       (led-brightness, rf-power enum control present)
traits:
  - queryable
  - routable
  - levelable

Actions

# NOTE: Command strings preserve the source's hyphen glyph (‐, U+2010) verbatim.
# Several commands are USB/ZvCli-only (not on serial) - marked in notes.

# ---- Status Commands ----
- id: show_system_status
  label: Show System Status
  kind: query
  command: "show system‐status"
  params: []
- id: show_av_status
  label: Show Audio/Video Status
  kind: query
  command: "show av‐status"
  params: []
- id: show_config
  label: Show Configuration
  kind: query
  command: "show config"
  params: []
- id: show_analysis
  label: Analyze Current Configuration and Status
  kind: query
  command: "show analysis"
  params: []
- id: show_zvcli_info
  label: Show ZvCli Information
  kind: query
  command: "show zvcli‐info"
  params: []

# ---- RF, Cable and Broadcast Commands ----
- id: system_cable_scan
  label: Cable Scan
  kind: action
  command: "system cable‐scan [ cable‐plan {standard | HRC | IRC | auto‐detect }]"
  params:
    - name: cable_plan
      type: string
      description: "Optional cable plan: standard | HRC | IRC | auto-detect. Omitted = auto-detect."
- id: system_cable_print_last_scan_results
  label: Show Last Cable Scan Results
  kind: query
  command: "system cable‐print‐last‐scan‐results"
  params: []
- id: set_rf_output
  label: Set RF Output On/Off
  kind: action
  command: "set rf‐output {off | on}"
  params:
    - name: state
      type: string
      description: "off | on. Factory default: on."
- id: set_rf_channel
  label: Set RF Channel
  kind: action
  command: "set rf‐channel <2..135>"
  params:
    - name: channel
      type: integer
      description: "RF channel, 2..135. Factory default: 2. Requires RF output off first."
- id: set_cable_plan
  label: Set Cable Plan
  kind: action
  command: "set cable‐plan {standard | hrc | irc}"
  params:
    - name: plan
      type: string
      description: "standard | hrc | irc. Factory default: standard."
- id: set_rf_power
  label: Set RF Output Power
  kind: action
  command: "set rf‐power {1‐lowest | 2‐low | 3‐medium | 4‐high | 5‐highest}"
  params:
    - name: level
      type: string
      description: "1-lowest | 2-low | 3-medium | 4-high | 5-highest. Factory default: 5-highest. ~5 dBmV steps, max +25 dBmV."

# ---- Audio Input Commands ----
- id: set_audio_for_component
  label: Set Audio Input for Component
  kind: action
  command: "set audio‐for‐component {analog | spdif‐optical | spdif‐coax | usb | none}"
  params:
    - name: source
      type: string
      description: "analog | spdif-optical | spdif-coax | usb | none (ZvPro 250); spdif-optical | spdif-coax | usb | none (ZvBox 150)."
- id: set_audio_for_vga
  label: Set Audio Input for VGA
  kind: action
  command: "set audio‐for‐vga {analog | spdif‐optical | spdif‐coax | usb | none}"
  params:
    - name: source
      type: string
      description: "analog | spdif-optical | spdif-coax | usb | none (ZvPro 250); spdif-optical | spdif-coax | usb | none (ZvBox 150)."

# ---- Video Input Commands ----
- id: set_video_source
  label: Select Active Video Source
  kind: action
  command: "set video‐source {component | vga | idle‐screen | test‐image‐1 | test‐image‐2}"
  params:
    - name: source
      type: string
      description: "component | vga | idle-screen | test-image-1 | test-image-2. Factory default: component."
- id: set_vga_edid_underscan_resolution_1080
  label: Set VGA EDID Underscan Resolution (1080)
  kind: action
  command: "set vga‐edid‐underscan‐resolution‐1080 {<resolution>}"
  params:
    - name: resolution
      type: string
      description: "Resolution e.g. 1808x1017 (factory default). See source table for supported enumerations."
- id: set_vga_edid_underscan_resolution_720
  label: Set VGA EDID Underscan Resolution (720)
  kind: action
  command: "set vga‐edid‐underscan‐resolution‐720 {<resolution>}"
  params:
    - name: resolution
      type: string
      description: "Resolution e.g. 1208x679 (factory default). See source table for supported enumerations."
- id: set_custom_idle_screen
  label: Set Custom Idle Screen
  kind: action
  command: "set custom‐idle‐screen \"{filename}\""
  params:
    - name: filename
      type: string
      description: "Image path; <=1280x720, converted to 32-bit PNG. Takes effect after restart."
- id: set_custom_watermark
  label: Set Custom Watermark
  kind: action
  command: "set custom‐watermark \"{filename}\""
  params:
    - name: filename
      type: string
      description: "Image path; <=64x64, converted to 32-bit PNG. Takes effect after restart."
- id: video_calibrate_vga
  label: Calibrate VGA Input
  kind: action
  command: "video calibrate‐vga"
  params: []

# ---- Video Output Commands ----
- id: set_output_frame_rate_for_720p
  label: Set Output Frame Rate for 720p
  kind: action
  command: "set output‐frame‐rate‐for‐720p {30fps | 60fps}"
  params:
    - name: rate
      type: string
      description: "30fps | 60fps. Factory default: 60fps. ZvPro line only."
- id: set_vga_output_resolution
  label: Set Output Resolution for VGA Input
  kind: action
  command: "set vga‐output‐resolution {auto | 720p}"
  params:
    - name: resolution
      type: string
      description: "auto | 720p. Factory default: auto."

# ---- Program (HDTV Channel) Information ----
- id: set_short_channel_name
  label: Set Short Channel Name
  kind: action
  command: "set mpeg2 program {video1} short‐channel‐name \"name\""
  params:
    - name: name
      type: string
      description: "Name <=7 chars. Factory default: ZvCast."
- id: set_long_channel_name
  label: Set Long Channel Name
  kind: action
  command: "set mpeg2 program {video1} long‐channel‐name \"name\""
  params:
    - name: name
      type: string
      description: "Name <=64 chars. Factory default: Welcome to ZeeVee ZvCast."
- id: set_hdtv_channel
  label: Set HDTV Channel Number
  kind: action
  command: "set mpeg2 program {video1} hdtv‐channel <0..1023>.<0..1023>"
  params:
    - name: channel
      type: string
      description: "major.minor, each 0..1023. Factory default: 2.1. Requires RF output off first."
- id: set_eit_name
  label: Set EIT Name
  kind: action
  command: "set mpeg2 program {video1} eit‐name \"name\""
  params:
    - name: name
      type: string
      description: "Program guide name <=132 chars. Factory default: Video Over COAX."
- id: set_eit_tv_rating
  label: Set EIT TV Rating
  kind: action
  command: "set mpeg2 program {video1} eit‐tv‐rating {TV‐Y | TV‐G | TV‐PG | TV‐14 | TV‐MA | TV‐MA‐LSV}"
  params:
    - name: rating
      type: string
      description: "TV-Y | TV-G | TV-PG | TV-14 | TV-MA | TV-MA-LSV. Factory default: TV-G."

# ---- MPEG2 Encoding Control ----
- id: set_output_data_rate
  label: Set Encoding Bit Rate
  kind: action
  command: "set mpeg2 output‐data‐rate {low | normal | high}"
  params:
    - name: rate
      type: string
      description: "low | normal | high. Factory default: high. Low and Normal have same effect."
- id: set_watermark_visual
  label: Set Visual Watermark
  kind: action
  command: "set watermark‐visual {off | on}"
  params:
    - name: state
      type: string
      description: "off | on. Factory default: on."

# ---- Advanced MPEG2 and Transport ----
- id: set_audio_delay
  label: Set Audio Delay
  kind: action
  command: "set mpeg2 audio‐delay <1..10>"
  params:
    - name: delay
      type: integer
      description: "1..10. Factory default: 4. >4 = single frame time per unit; <4 = two frame times per unit."
- id: set_dc_coefficient_size
  label: Set DC Coefficient Precision
  kind: action
  command: "set mpeg2 dc‐coefficient‐size {8‐bit | 9‐bit | 10‐bit | 11‐bit}"
  params:
    - name: size
      type: string
      description: "8-bit | 9-bit | 10-bit | 11-bit. Factory default: 10-bit."
- id: set_program_number
  label: Set Program Number
  kind: action
  command: "set mpeg2 program {video1} program‐number <1..65535>"
  params:
    - name: number
      type: integer
      description: "1..65535. Factory default: 1. Requires system restart after change."
- id: set_starting_pid_number
  label: Set Starting PID Number
  kind: action
  command: "set mpeg2 starting‐pid‐number <32..8190>"
  params:
    - name: pid
      type: integer
      description: "32..8190. Factory default: 256. Four PIDs allocated. Requires system restart after change."

# ---- System Maintenance (USB + ZvCli host; NOT on serial interface) ----
- id: download_check
  label: Download Check
  kind: action
  command: "download check"
  params: []
  notes: "Requires Internet connection. USB/ZvCli only - not available on serial interface."
- id: download_firmware
  label: Download Firmware
  kind: action
  command: "download firmware"
  params: []
  notes: "Requires Internet connection. USB/ZvCli only - not available on serial interface."
- id: download_zvcli
  label: Download ZvCli
  kind: action
  command: "download zvcli"
  params: []
  notes: "Requires Internet connection. USB/ZvCli only - not available on serial interface."
- id: script_write_config_to_file
  label: Write Configuration to File
  kind: action
  command: "script write‐config‐to‐file <file>"
  params:
    - name: file
      type: string
      description: "File path."
  notes: "USB/ZvCli only - not available on serial interface."
- id: script_read_config_from_file
  label: Read Configuration from File
  kind: action
  command: "script read‐config‐from‐file <file>"
  params:
    - name: file
      type: string
      description: "File path."
  notes: "USB/ZvCli only - not available on serial interface."
- id: system_send_troubleshooting_report
  label: Send Troubleshooting Report
  kind: action
  command: "system send‐troubleshooting‐report"
  params: []
  notes: "Requires Internet connection. USB/ZvCli only - not available on serial interface."
- id: system_show_saved_troubleshooting_reports
  label: Show Saved Troubleshooting Reports
  kind: query
  command: "system show‐saved‐troubleshooting‐reports"
  params: []
  notes: "USB/ZvCli only - not available on serial interface."
- id: system_send_saved_troubleshooting_reports
  label: Send Saved Troubleshooting Reports
  kind: action
  command: "system send‐saved‐troubleshooting‐reports"
  params: []
  notes: "Requires Internet connection. USB/ZvCli only - not available on serial interface."

# ---- Advanced Firmware Download and Installation (USB + ZvCli) ----
- id: download_advanced_show_downloadable_firmware
  label: Show Downloadable Firmware
  kind: query
  command: "download advanced show‐downloadable‐firmware [passphrase \"passphrase\"]"
  params:
    - name: passphrase
      type: string
      description: "Optional passphrase."
  notes: "USB/ZvCli only."
- id: download_advanced_get_downloadable_firmware
  label: Get Downloadable Firmware
  kind: action
  command: "download advanced get‐downloadable‐firmware model {ZvPro‐250 | ZvBox‐150} [filename \"name\"]"
  params:
    - name: model
      type: string
      description: "ZvPro-250 | ZvBox-150."
    - name: filename
      type: string
      description: "Optional filename."
  notes: "USB/ZvCli only."
- id: download_advanced_show_downloaded_firmware
  label: Show Downloaded Firmware
  kind: query
  command: "download advanced show‐downloaded‐firmware"
  params: []
  notes: "USB/ZvCli only."
- id: download_advanced_install_downloaded_firmware
  label: Install Downloaded Firmware
  kind: action
  command: "download advanced install‐downloaded‐firmware filename \"name\""
  params:
    - name: filename
      type: string
      description: "Filename to install."
  notes: "USB/ZvCli only."
- id: download_advanced_remove_downloaded_firmware
  label: Remove Downloaded Firmware
  kind: action
  command: "download advanced remove‐downloaded‐firmware"
  params: []
  notes: "USB/ZvCli only."

# ---- Miscellaneous Commands ----
- id: system_transmit_ir
  label: Transmit IR Code for Learning
  kind: action
  command: "system transmit‐ir {video‐source‐component | video‐source‐vga | video‐source‐idle‐screen}"
  params:
    - name: source
      type: string
      description: "video-source-component | video-source-vga | video-source-idle-screen. Sent once per invocation."
- id: set_date
  label: Set Date/Time
  kind: action
  command: "set date year <year> month <month> day <day> hour <hour> minute <minute> second <second>"
  params:
    - name: year
      type: integer
      description: "2008-2028."
    - name: month
      type: integer
      description: "1-12."
    - name: day
      type: integer
      description: "1-31."
    - name: hour
      type: integer
      description: "0-23."
    - name: minute
      type: integer
      description: "0-59."
    - name: second
      type: integer
      description: "0-59."
  notes: "Use UTC time when setting via serial port."
- id: set_zvbox_name
  label: Set ZvBox Name
  kind: action
  command: "set zvbox‐name \"name\""
  params:
    - name: name
      type: string
      description: "<=16 chars; upper/lower letters, numbers, underscore, hyphen."
- id: set_led_brightness
  label: Set LED Brightness
  kind: action
  command: "set led‐brightness {high | medium | low | off}"
  params:
    - name: level
      type: string
      description: "high | medium | low | off. Factory default: high. ZvBox-150 only."
- id: set_select_button
  label: Enable/Disable Select Button
  kind: action
  command: "set select‐button {enabled | disabled}"
  params:
    - name: state
      type: string
      description: "enabled | disabled. Factory default: enabled. ZvPro-250 only."
- id: set_to_factory_defaults
  label: Reset to Factory Defaults
  kind: action
  command: "set to‐factory‐defaults"
  params: []
  notes: "Resets all settings; unit reboots after reset."
- id: system_reboot
  label: Reboot ZvBox
  kind: action
  command: "system reboot"
  params: []
  notes: "Forces complete reboot; takes several minutes."
- id: system_restart
  label: Restart Video Processing
  kind: action
  command: "system restart"
  params: []
  notes: "Restarts all video processing; broadcast temporarily stops. Required after program-number or starting-pid-number changes."
- id: system_identify
  label: Identify Physical ZvBox
  kind: action
  command: "system identify"
  params: []
  notes: "Flashes LEDs for ~10 seconds for rack identification."
- id: help
  label: Help
  kind: query
  command: "help"
  params: []
- id: quit
  label: Quit / Exit
  kind: action
  command: "quit -or‐ exit"
  params: []

Feedbacks

# Responses to query commands; source shows rich multi-line text output per query.
- id: system_status_response
  type: text
  description: "Multi-line system status: model, serial number, hardware/uboot/firmware revisions, temperature, boot counts, EDID resolutions, serial baud rate, date/time, uptime."
- id: av_status_response
  type: text
  description: "Multi-line A/V status: transmit status, RF/hdtv channel, modulation, cable-plan, input video/audio source+format, output formats, closed-caption state."
- id: config_response
  type: text
  description: "Current configuration as a list of set commands + values; copy-pasteable into a script."
- id: analysis_response
  type: text
  description: "Warnings: ZvCli/firmware version, date mismatch, unrecognized video/audio input, RF conflict."
- id: zvcli_info_response
  type: text
  description: "ZvCli version string and copyright."
- id: success_ack
  type: text
  values: ["Success"]
  description: "Acknowledgement returned on successful set/action command."
# UNRESOLVED: no formal enumerated value tables for most query responses; outputs are free-form text blocks.

Variables

# Settable parameters exposed via discrete actions above (rf-channel, rf-power, audio-delay,
# program-number, starting-pid-number, edid resolutions, channel names, etc.).
# No separately-addressable continuous variables beyond the action parameters.
# UNRESOLVED: populate if a variables abstraction is required by the platform.

Events

# Source documents no unsolicited notifications; CLI is request/response.
# UNRESOLVED: populate if device emits async notifications (not stated in source).

Macros

# Source documents a script file mechanism (script read/write-config) executed as a
# batch of set commands, with the convention of bracketing scripts with
# `set rf-output off` ... `set rf-output on`. See Safety interlocks.

Safety

confirmation_required_for:
  - system_reboot        # forces full reboot, several minutes, broadcast stops
  - set_to_factory_defaults  # resets all settings then reboots
  - download_advanced_install_downloaded_firmware  # firmware change
interlocks:
  - description: "RF output must be OFF before changing rf-channel or hdtv-channel; must be turned back ON for the ZvBox to broadcast. Scripts must begin with `set rf-output off` and end with `set rf-output on`."
    commands: [set_rf_output, set_rf_channel, set_hdtv_channel]
  - description: "Video processing must be restarted (`system restart`) after changing program-number or starting-pid-number for the new value to take effect."
    commands: [set_program_number, set_starting_pid_number, system_restart]
  - description: "Custom idle-screen and watermark changes do not take effect until the system is restarted."
    commands: [set_custom_idle_screen, set_custom_watermark, system_restart]
# No voltage/current/power values stated in source.

Notes

  • Serial config: RS-232, 9600 8-N-1, software Xon/Xoff flow control. Stated both in the header "Serial Port Specifications" and confirmed by show system-status (Serial console baud rate : 9600 (8-N-1)).
  • Command strings use the source's hyphen glyph (U+2010 ‐) verbatim throughout; implementers should treat and ASCII - as equivalent pending on-device confirmation.
  • CLI syntax conventions: <> encase a value, {} encase a mandatory choice, [] encase optional parameters. Lines beginning with # are comments (script files only). Strings with spaces need "quotes".
  • Firmware update, script file read/write, and troubleshooting-report commands require a USB connection + ZvCli host and are explicitly noted as NOT available over the serial interface.
  • RF output power: max +25 dBmV, five ~5 dBmV steps (1-lowest .. 5-highest).
  • DTS audio encoding not supported. Test images broadcast in 720p.

Provenance

source_domains:
  - zeevee.com
source_urls:
  - https://www.zeevee.com/zvcli-user-manual/
  - https://www.zeevee.com/hdbridge-2840-na-configuration-guide/
retrieved_at: 2026-06-30T05:15:49.370Z
last_checked_at: 2026-06-30T07:14:08.717Z

Verification Summary

verdict: verified
checked_at: 2026-06-30T07:14:08.717Z
matched_actions: 56
action_count: 56
confidence: medium
summary: "All 56 spec actions matched verbatim against source commands; transport parameters fully supported; bidirectional coverage confirmed. (9 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "Source is the generic ZvCli User Manual which documents the ZvPro 250 / ZvBox 150 families; exact feature mapping to the HDB2840 NA SKU is not stated. Voltage/power specs, fault behavior, and firmware compatibility ranges are not stated. Some commands (firmware update, script read/write, troubleshooting reports) require a USB connection + ZvCli host and are NOT available over the serial interface per source note."
- "no formal enumerated value tables for most query responses; outputs are free-form text blocks."
- "populate if a variables abstraction is required by the platform."
- "populate if device emits async notifications (not stated in source)."
- "exact HDB2840 NA SKU feature mapping (source is the generic ZvCli manual for ZvPro 250 / ZvBox 150)."
- "firmware version compatibility range not stated."
- "voltage / current / power specifications not stated."
- "fault behavior / error recovery sequences not documented."
- "whether the U+2010 hyphen vs ASCII hyphen matters to the device parser — not confirmed on hardware."

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