Summary
ViewSonic IFPxx32 Series projector/display control via RS-232 serial and LAN (TCP port 4661). Binary protocol using hex byte packets with checksum. Supports Write-Function (set), Read-Function (query), and Execute-Function commands. Extensive command set covering power, input selection, image adjustments, 3D settings, audio, and system management.
Transport
protocols:
- serial
- tcp
addressing:
port: 4661 # LAN control port stated in Note 2
serial:
baud_rate: null # UNRESOLVED: source lists supported rates (2400/4800/9600/14400/19200/38400/115200) but no default
data_bits: null # UNRESOLVED: not explicitly stated in source
parity: null # UNRESOLVED: not explicitly stated in source
stop_bits: null # UNRESOLVED: not explicitly stated in source
connector: DSUB 9-Pin Male
cable: crossover (null modem) required
pins: "TX, RX, GND only (3-pin)"
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # inferred from power on/off commands
- queryable # inferred from extensive read-function query commands
- routable # inferred from source input select commands
- levelable # inferred from brightness, contrast, volume, hue, saturation, gain, sharpness controls
Actions
# Binary protocol. Write commands: 0x06 0x14 0x00 0x04 0x00 0x34 <group> <param> <value> <checksum>
# Read commands: 0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 <group> <param> <checksum>
# Execute commands: 0x02 0x14 0x00 0x04 0x00 0x34 <group> <param> <value> <checksum>
# Ack response: 0x03 0x14 0x00 0x00 0x00 0x14
# Read response: 1-byte or 2-byte data format (see §3.2.1 / §3.2.2)
# LAN: same format, replace "0x" with "\" via port 4661
# --- Power ---
- id: power_on
label: Power On
kind: action
hex: "06 14 00 04 00 34 11 00 00 5D"
- id: power_off
label: Power Off
kind: action
hex: "06 14 00 04 00 34 11 01 00 5E"
- id: power_status_query
label: Power Status Query
kind: query
hex: "07 14 00 05 00 34 00 00 11 00 5E"
response: 1-byte (0x00=off, 0x01=on)
- id: projector_status_query
label: Projector Status Query
kind: query
hex: "07 14 00 05 00 34 00 00 11 26 84"
response: 1-byte (0x01=warm up, 0x02=cool down, 0x00=power off, 0x03=power on)
- id: quick_power_off_on
label: Quick Power Off ON
kind: action
hex: "06 14 00 04 00 34 11 0B 01 69"
- id: quick_power_off_off
label: Quick Power Off OFF
kind: action
hex: "06 14 00 04 00 34 11 0B 00 68"
- id: quick_power_off_status
label: Quick Power Off Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 0B 69"
# --- Reset ---
- id: reset_all_settings
label: Reset All Settings
kind: action
hex: "06 14 00 04 00 34 11 02 00 5F"
- id: reset_color_settings
label: Reset Color Settings
kind: action
hex: "06 14 00 04 00 34 11 2A 00 87"
# --- Splash Screen ---
- id: splash_screen_black
label: Splash Screen Black
kind: action
hex: "06 14 00 04 00 34 11 0A 00 67"
- id: splash_screen_blue
label: Splash Screen Blue
kind: action
hex: "06 14 00 04 00 34 11 0A 01 68"
- id: splash_screen_viewsonic
label: Splash Screen ViewSonic
kind: action
hex: "06 14 00 04 00 34 11 0A 02 69"
- id: splash_screen_capture
label: Splash Screen Capture
kind: action
hex: "06 14 00 04 00 34 11 0A 03 6A"
- id: splash_screen_off
label: Splash Screen OFF
kind: action
hex: "06 14 00 04 00 34 11 0A 04 6B"
- id: splash_screen_status
label: Splash Screen Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 0A 68"
# --- High Altitude Mode ---
- id: high_altitude_off
label: High Altitude Mode OFF
kind: action
hex: "06 14 00 04 00 34 11 0C 00 69"
- id: high_altitude_on
label: High Altitude Mode ON
kind: action
hex: "06 14 00 04 00 34 11 0C 01 6A"
- id: high_altitude_status
label: High Altitude Mode Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 0C 6A"
# --- Light Source Mode ---
- id: light_source_normal
label: Light Source Mode Normal
kind: action
hex: "06 14 00 04 00 34 11 10 00 6D"
- id: light_source_eco
label: Light Source Mode Eco
kind: action
hex: "06 14 00 04 00 34 11 10 01 6E"
- id: light_source_dynamic_eco
label: Light Source Mode Dynamic Eco
kind: action
hex: "06 14 00 04 00 34 11 10 02 6F"
- id: light_source_supereco
label: Light Source Mode SuperEco
kind: action
hex: "06 14 00 04 00 34 11 10 03 70"
- id: light_source_mode_status
label: Light Source Mode Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 10 6E"
- id: lamp_mode_cycle
label: Lamp Mode Cycle
kind: action
hex: "06 14 00 04 00 34 13 36 00 95"
# --- Message ---
- id: message_off
label: Message OFF
kind: action
hex: "06 14 00 04 00 34 11 27 00 84"
- id: message_on
label: Message ON
kind: action
hex: "06 14 00 04 00 34 11 27 01 85"
- id: message_status
label: Message Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 27 85"
# --- Projector Position ---
- id: position_front_table
label: Projector Position Front Table
kind: action
hex: "06 14 00 04 00 34 12 00 00 5E"
- id: position_rear_table
label: Projector Position Rear Table
kind: action
hex: "06 14 00 04 00 34 12 00 01 5F"
- id: position_rear_ceiling
label: Projector Position Rear Ceiling
kind: action
hex: "06 14 00 04 00 34 12 00 02 60"
- id: position_front_ceiling
label: Projector Position Front Ceiling
kind: action
hex: "06 14 00 04 00 34 12 00 03 61"
- id: position_status
label: Projector Position Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 00 5F"
# --- 3D Sync ---
- id: 3d_sync_off
label: 3D Sync OFF
kind: action
hex: "06 14 00 04 00 34 12 20 00 7E"
- id: 3d_sync_auto
label: 3D Sync Auto
kind: action
hex: "06 14 00 04 00 34 12 20 01 7F"
- id: 3d_sync_frame_sequential
label: 3D Sync Frame Sequential
kind: action
hex: "06 14 00 04 00 34 12 20 02 80"
- id: 3d_sync_frame_packing
label: 3D Sync Frame Packing
kind: action
hex: "06 14 00 04 00 34 12 20 03 81"
- id: 3d_sync_top_bottom
label: 3D Sync Top Bottom
kind: action
hex: "06 14 00 04 00 34 12 20 04 82"
- id: 3d_sync_side_by_side
label: 3D Sync Side by Side
kind: action
hex: "06 14 00 04 00 34 12 20 05 83"
- id: 3d_sync_status
label: 3D Sync Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 20 7F"
- id: 3d_sync_invert_off
label: 3D Sync Invert OFF
kind: action
hex: "06 14 00 04 00 34 12 21 00 7F"
- id: 3d_sync_invert_on
label: 3D Sync Invert ON
kind: action
hex: "06 14 00 04 00 34 12 21 01 80"
- id: 3d_sync_invert_status
label: 3D Sync Invert Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 21 80"
# --- Image Adjustments ---
- id: contrast_decrease
label: Contrast Decrease
kind: action
hex: "06 14 00 04 00 34 12 02 00 60"
- id: contrast_increase
label: Contrast Increase
kind: action
hex: "06 14 00 04 00 34 12 02 01 61"
- id: contrast_get
label: Contrast Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 02 61"
response: 2-byte value (see §3.2.2)
- id: brightness_decrease
label: Brightness Decrease
kind: action
hex: "06 14 00 04 00 34 12 03 00 61"
- id: brightness_increase
label: Brightness Increase
kind: action
hex: "06 14 00 04 00 34 12 03 01 62"
- id: brightness_get
label: Brightness Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 03 62"
response: 2-byte value (see §3.2.2)
- id: sharpness_decrease
label: Sharpness Decrease
kind: action
hex: "06 14 00 04 00 34 12 0E 00 6C"
- id: sharpness_increase
label: Sharpness Increase
kind: action
hex: "06 14 00 04 00 34 12 0E 01 6D"
- id: sharpness_get
label: Sharpness Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 0E 6D"
response: 2-byte value (see §3.2.2)
- id: hue_decrease
label: Hue / Tint Decrease
kind: action
hex: "06 14 00 04 00 34 12 11 00 6F"
- id: hue_increase
label: Hue / Tint Increase
kind: action
hex: "06 14 00 04 00 34 12 11 01 70"
- id: hue_get
label: Hue / Tint Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 11 70"
response: 2-byte value (see §3.2.2)
- id: saturation_decrease
label: Saturation Decrease
kind: action
hex: "06 14 00 04 00 34 12 12 00 70"
- id: saturation_increase
label: Saturation Increase
kind: action
hex: "06 14 00 04 00 34 12 12 01 71"
- id: saturation_get
label: Saturation Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 12 71"
response: 2-byte value (see §3.2.2)
- id: gain_decrease
label: Gain Decrease
kind: action
hex: "06 14 00 04 00 34 12 13 00 71"
- id: gain_increase
label: Gain Increase
kind: action
hex: "06 14 00 04 00 34 12 13 01 72"
- id: gain_get
label: Gain Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 13 72"
response: 2-byte value (see §3.2.2)
# --- Aspect Ratio ---
- id: aspect_auto
label: Aspect Ratio Auto
kind: action
hex: "06 14 00 04 00 34 12 04 00 62"
- id: aspect_4_3
label: Aspect Ratio 4:3
kind: action
hex: "06 14 00 04 00 34 12 04 02 64"
- id: aspect_16_9
label: Aspect Ratio 16:9
kind: action
hex: "06 14 00 04 00 34 12 04 03 65"
- id: aspect_16_10
label: Aspect Ratio 16:10
kind: action
hex: "06 14 00 04 00 34 12 04 04 66"
- id: aspect_anamorphic
label: Aspect Ratio Anamorphic
kind: action
hex: "06 14 00 04 00 34 12 04 05 67"
- id: aspect_wide
label: Aspect Ratio Wide
kind: action
hex: "06 14 00 04 00 34 12 04 06 68"
- id: aspect_2_35_1
label: Aspect Ratio 2.35:1
kind: action
hex: "06 14 00 04 00 34 12 04 07 69"
- id: aspect_panorama
label: Aspect Ratio Panorama
kind: action
hex: "06 14 00 04 00 34 12 04 08 6A"
- id: aspect_native
label: Aspect Ratio Native
kind: action
hex: "06 14 00 04 00 34 12 04 09 6B"
- id: aspect_cycle
label: Aspect Ratio Cycle
kind: action
hex: "06 14 00 04 00 34 13 31 00 90"
- id: aspect_status
label: Aspect Ratio Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 04 63"
# --- Position Adjustments ---
- id: auto_adjust
label: Auto Adjust
kind: action
hex: "06 14 00 04 00 34 12 05 00 63"
- id: h_position_right
label: Horizontal Position Shift Right
kind: action
hex: "06 14 00 04 00 34 12 06 01 65"
- id: h_position_left
label: Horizontal Position Shift Left
kind: action
hex: "06 14 00 04 00 34 12 06 00 64"
- id: h_position_get
label: Horizontal Position Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 06 65"
response: 1-byte value (see §3.2.1)
- id: v_position_up
label: Vertical Position Shift Up
kind: action
hex: "06 14 00 04 00 34 12 07 00 65"
- id: v_position_down
label: Vertical Position Shift Down
kind: action
hex: "06 14 00 04 00 34 12 07 01 66"
- id: v_position_get
label: Vertical Position Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 07 66"
response: 1-byte value (see §3.2.1)
# --- Color Temperature ---
- id: color_temp_warm
label: Color Temperature Warm
kind: action
hex: "06 14 00 04 00 34 12 08 00 66"
- id: color_temp_normal
label: Color Temperature Normal
kind: action
hex: "06 14 00 04 00 34 12 08 01 67"
- id: color_temp_neutral
label: Color Temperature Neutral
kind: action
hex: "06 14 00 04 00 34 12 08 02 68"
- id: color_temp_cool
label: Color Temperature Cool
kind: action
hex: "06 14 00 04 00 34 12 08 03 69"
- id: color_temp_status
label: Color Temperature Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 08 67"
# --- Blank ---
- id: blank_on
label: Blank ON
kind: action
hex: "06 14 00 04 00 34 12 09 01 68"
- id: blank_off
label: Blank OFF
kind: action
hex: "06 14 00 04 00 34 12 09 00 67"
- id: blank_status
label: Blank Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 09 68"
# --- Keystone ---
- id: keystone_v_decrease
label: Keystone Vertical Decrease
kind: action
hex: "06 14 00 04 00 34 12 0A 00 68"
- id: keystone_v_increase
label: Keystone Vertical Increase
kind: action
hex: "06 14 00 04 00 34 12 0A 01 69"
- id: keystone_v_get
label: Keystone Vertical Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 12 0A 69"
response: 1-byte value (see §3.2.1)
- id: keystone_h_decrease
label: Keystone Horizontal Decrease
kind: action
hex: "06 14 00 04 00 34 11 31 00 8E"
- id: keystone_h_increase
label: Keystone Horizontal Increase
kind: action
hex: "06 14 00 04 00 34 11 31 01 8F"
- id: keystone_h_get
label: Keystone Horizontal Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 11 31 8F"
response: 1-byte value (see §3.2.1)
# --- Color Mode ---
- id: color_mode_brightest
label: Color Mode Brightest
kind: action
hex: "06 14 00 04 00 34 12 0B 00 69"
- id: color_mode_movie
label: Color Mode Movie
kind: action
hex: "06 14 00 04 00 34 12 0B 01 6A"
- id: color_mode_standard
label: Color Mode Standard
kind: action
hex: "06 14 00 04 00 34 12 0B 04 6D"
- id: color_mode_srgb
label: Color Mode sRGB / ViewMatch
kind: action
hex: "06 14 00 04 00 34 12 0B 05 6E"
- id: color_mode_dynamic
label: Color Mode Dynamic
kind: action
hex: "06 14 00 04 00 34 12 0B 08 71"
- id: color_mode_rec709
label: Color Mode Rec709
kind: action
hex: "06 14 00 04 00 34 12 0B 09 72"
- id: color_mode_dicom_sim
label: Color Mode DICOM SIM
kind: action
hex: "06 14 00 04 00 34 12 0B 0A 73"
- id: color_mode_sports
label: Color Mode Sports
kind: action
hex: "06 14 00 04 00 34 12 0B 11 7A"
- id: color_mode_photo
label: Color Mode Photo
kind: action
hex: "06 14 00 04 00 34 12 0B 13 7C"
- id: color_mode_presentation
label: Color Mode Presentation
kind: action
hex: "06 14 00 04 00 34 12 0B 14 7D"
- id: color_mode_gaming
label: Color Mode Gaming
kind: action
hex: "06 14 00 04 00 34 12 0B 12 7B"
- id: color_mode_vivid
label: Color Mode Vivid
kind: action
hex: "06 14 00 04 00 34 12 0B 15 7E"
- id: color_mode_isf_day
label: Color Mode ISF Day
kind: action
hex: "06 14 00 04 00 34 12 0B 16 7F"
- id: color_mode_isf_night
label: Color Mode ISF Night
kind: action
hex: "06 14 00 04 00 34 12 0B 17 80"
- id: color_mode_cycle
label: Color Mode Cycle
kind: action
hex: "06 14 00 04 00 34 13 33 00 92"
- id: color_mode_status
label: Color Mode Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 0B 6A"
# --- ISF Mode ---
- id: isf_mode_on
label: ISF Mode ON
kind: action
hex: "06 14 00 04 00 34 12 38 01 97"
- id: isf_mode_off
label: ISF Mode OFF
kind: action
hex: "06 14 00 04 00 34 12 38 00 96"
- id: isf_mode_status
label: ISF Mode Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 38 97"
# --- HDR ---
- id: hdr_auto
label: HDR Auto
kind: action
hex: "06 14 00 04 00 34 12 39 00 97"
- id: hdr_sdr
label: HDR SDR
kind: action
hex: "06 14 00 04 00 34 12 39 01 98"
- id: hdr_status
label: HDR Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 39 98"
# --- Primary Color ---
- id: primary_color_r
label: Primary Color R
kind: action
hex: "06 14 00 04 00 34 12 10 00 6E"
- id: primary_color_g
label: Primary Color G
kind: action
hex: "06 14 00 04 00 34 12 10 01 6F"
- id: primary_color_b
label: Primary Color B
kind: action
hex: "06 14 00 04 00 34 12 10 02 70"
- id: primary_color_c
label: Primary Color C
kind: action
hex: "06 14 00 04 00 34 12 10 03 71"
- id: primary_color_m
label: Primary Color M
kind: action
hex: "06 14 00 04 00 34 12 10 04 72"
- id: primary_color_y
label: Primary Color Y
kind: action
hex: "06 14 00 04 00 34 12 10 05 73"
- id: primary_color_status
label: Primary Color Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 10 6F"
response: 2-byte value (see §3.2.2)
# --- Freeze ---
- id: freeze_on
label: Freeze ON
kind: action
hex: "06 14 00 04 00 34 13 00 01 60"
- id: freeze_off
label: Freeze OFF
kind: action
hex: "06 14 00 04 00 34 13 00 00 5F"
- id: freeze_status
label: Freeze Status
kind: query
hex: "07 14 00 05 00 34 00 00 13 00 60"
response: 1-byte value (see §3.2.1)
# --- Source Input ---
- id: source_dsub_comp1
label: Source D-Sub / Comp. 1
kind: action
hex: "06 14 00 04 00 34 13 01 00 60"
- id: source_dsub_comp2
label: Source D-Sub / Comp. 2
kind: action
hex: "06 14 00 04 00 34 13 01 08 68"
- id: source_hdmi1
label: Source HDMI 1
kind: action
hex: "06 14 00 04 00 34 13 01 03 63"
- id: source_hdmi2
label: Source HDMI 2
kind: action
hex: "06 14 00 04 00 34 13 01 07 67"
- id: source_hdmi3
label: Source HDMI 3
kind: action
hex: "06 14 00 04 00 34 13 01 09 69"
- id: source_hdmi_mhl4
label: Source HDMI / MHL 4
kind: action
hex: "06 14 00 04 00 34 13 01 0E 6E"
- id: source_composite
label: Source Composite Video
kind: action
hex: "06 14 00 04 00 34 13 01 05 65"
- id: source_svideo
label: Source S-Video
kind: action
hex: "06 14 00 04 00 34 13 01 06 66"
- id: source_dvi
label: Source DVI
kind: action
hex: "06 14 00 04 00 34 13 01 0A 6A"
- id: source_component
label: Source Component
kind: action
hex: "06 14 00 04 00 34 13 01 0B 6B"
- id: source_hdbaset
label: Source HDBaseT
kind: action
hex: "06 14 00 04 00 34 13 01 0C 6C"
- id: source_usb_c
label: Source USB-C
kind: action
hex: "06 14 00 04 00 34 13 01 0F 6F"
- id: source_usb_reader
label: Source USB Reader
kind: action
hex: "06 14 00 04 00 34 13 01 1A 7A"
- id: source_lan_wifi
label: Source LAN / WiFi Display
kind: action
hex: "06 14 00 04 00 34 13 01 1B 7B"
- id: source_usb_display
label: Source USB Display
kind: action
hex: "06 14 00 04 00 34 13 01 1C 7C"
- id: source_status
label: Source Input Status
kind: query
hex: "07 14 00 05 00 34 00 00 13 01 61"
# --- Quick Auto Search ---
- id: auto_search_on
label: Quick Auto Search ON
kind: action
hex: "06 14 00 04 00 34 13 02 01 62"
- id: auto_search_off
label: Quick Auto Search OFF
kind: action
hex: "06 14 00 04 00 34 13 02 00 61"
- id: auto_search_status
label: Quick Auto Search Status
kind: query
hex: "07 14 00 05 00 34 00 00 13 02 62"
# --- Audio ---
- id: mute_on
label: Mute ON
kind: action
hex: "06 14 00 04 00 34 14 00 01 61"
- id: mute_off
label: Mute OFF
kind: action
hex: "06 14 00 04 00 34 14 00 00 60"
- id: mute_status
label: Mute Status
kind: query
hex: "07 14 00 05 00 34 00 00 14 00 61"
- id: volume_increase
label: Volume Increase
kind: action
hex: "06 14 00 04 00 34 14 01 00 61"
- id: volume_decrease
label: Volume Decrease
kind: action
hex: "06 14 00 04 00 34 14 02 00 62"
- id: volume_set
label: Volume Set Value
kind: action
hex: "06 14 00 04 00 34 13 2A 11 9A"
params:
- name: value
type: integer
description: Volume level
- id: volume_get
label: Volume Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 14 03 64"
response: 1-byte value (see §3.2.1)
- id: audio_mode_cycle
label: Audio Mode Cycle
kind: action
hex: "06 14 00 04 00 34 13 35 00 94"
# --- Language ---
- id: language_english
label: Language English
kind: action
hex: "06 14 00 04 00 34 15 00 00 61"
- id: language_french
label: Language Francais
kind: action
hex: "06 14 00 04 00 34 15 00 01 62"
- id: language_german
label: Language Deutsch
kind: action
hex: "06 14 00 04 00 34 15 00 02 63"
- id: language_italian
label: Language Italiano
kind: action
hex: "06 14 00 04 00 34 15 00 03 64"
- id: language_spanish
label: Language Espanol
kind: action
hex: "06 14 00 04 00 34 15 00 04 65"
- id: language_russian
label: Language Russian
kind: action
hex: "06 14 00 04 00 34 15 00 05 66"
- id: language_trad_chinese
label: Language Traditional Chinese
kind: action
hex: "06 14 00 04 00 34 15 00 06 67"
- id: language_simp_chinese
label: Language Simplified Chinese
kind: action
hex: "06 14 00 04 00 34 15 00 07 68"
- id: language_japanese
label: Language Japanese
kind: action
hex: "06 14 00 04 00 34 15 00 08 69"
- id: language_korean
label: Language Korean
kind: action
hex: "06 14 00 04 00 34 15 00 09 6A"
- id: language_swedish
label: Language Swedish
kind: action
hex: "06 14 00 04 00 34 15 00 0A 6B"
- id: language_dutch
label: Language Dutch
kind: action
hex: "06 14 00 04 00 34 15 00 0B 6C"
- id: language_turkish
label: Language Turkish
kind: action
hex: "06 14 00 04 00 34 15 00 0C 6D"
- id: language_czech
label: Language Czech
kind: action
hex: "06 14 00 04 00 34 15 00 0D 6E"
- id: language_portuguese
label: Language Portuguese
kind: action
hex: "06 14 00 04 00 34 15 00 0E 6F"
- id: language_thai
label: Language Thai
kind: action
hex: "06 14 00 04 00 34 15 00 0F 70"
- id: language_polish
label: Language Polish
kind: action
hex: "06 14 00 04 00 34 15 00 10 71"
- id: language_finnish
label: Language Finnish
kind: action
hex: "06 14 00 04 00 34 15 00 11 72"
- id: language_arabic
label: Language Arabic
kind: action
hex: "06 14 00 04 00 34 15 00 12 73"
- id: language_indonesian
label: Language Indonesian
kind: action
hex: "06 14 00 04 00 34 15 00 13 74"
- id: language_hindi
label: Language Hindi
kind: action
hex: "06 14 00 04 00 34 15 00 14 75"
- id: language_vietnamese
label: Language Vietnamese
kind: action
hex: "06 14 00 04 00 34 15 00 15 76"
- id: language_status
label: Language Status
kind: query
hex: "07 14 00 05 00 34 00 00 15 00 62"
# --- Light Source Usage ---
- id: light_source_usage_reset
label: Light Source Usage Time Reset
kind: action
hex: "06 14 00 04 00 34 15 01 00 62"
- id: light_source_usage_get
label: Light Source Usage Time Get
kind: query
hex: "07 14 00 05 00 34 00 00 15 01 63"
response: 4-byte value (Byte7-10, HEX2DEC(ddccbbaa) = hours)
# --- HDMI Settings ---
- id: hdmi_format_rgb
label: HDMI Format RGB
kind: action
hex: "06 14 00 04 00 34 11 28 00 85"
- id: hdmi_format_yuv
label: HDMI Format YUV
kind: action
hex: "06 14 00 04 00 34 11 28 01 86"
- id: hdmi_format_auto
label: HDMI Format Auto
kind: action
hex: "06 14 00 04 00 34 11 28 02 87"
- id: hdmi_format_status
label: HDMI Format Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 28 86"
- id: hdmi_range_enhanced
label: HDMI Range Enhanced
kind: action
hex: "06 14 00 04 00 34 11 29 00 86"
- id: hdmi_range_normal
label: HDMI Range Normal
kind: action
hex: "06 14 00 04 00 34 11 29 01 87"
- id: hdmi_range_auto
label: HDMI Range Auto
kind: action
hex: "06 14 00 04 00 34 11 29 02 88"
- id: hdmi_range_status
label: HDMI Range Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 29 87"
# --- CEC ---
- id: cec_off
label: CEC OFF
kind: action
hex: "06 14 00 04 00 34 11 2B 00 88"
- id: cec_on
label: CEC ON
kind: action
hex: "06 14 00 04 00 34 11 2B 01 89"
- id: cec_status
label: CEC Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 2B 89"
# --- Error Status ---
- id: error_status
label: Error Status
kind: query
hex: "07 14 00 05 00 34 00 00 0C 0D 66"
response: 20-item error status block (see Note 3)
# --- Brilliant Color ---
- id: brilliant_color_off
label: Brilliant Color OFF
kind: action
hex: "06 14 00 04 00 34 12 0F 00 6D"
- id: brilliant_color_1
label: Brilliant Color 1
kind: action
hex: "06 14 00 04 00 34 12 0F 01 6E"
- id: brilliant_color_2
label: Brilliant Color 2
kind: action
hex: "06 14 00 04 00 34 12 0F 02 6F"
- id: brilliant_color_3
label: Brilliant Color 3
kind: action
hex: "06 14 00 04 00 34 12 0F 03 70"
- id: brilliant_color_4
label: Brilliant Color 4
kind: action
hex: "06 14 00 04 00 34 12 0F 04 71"
- id: brilliant_color_5
label: Brilliant Color 5
kind: action
hex: "06 14 00 04 00 34 12 0F 05 72"
- id: brilliant_color_6
label: Brilliant Color 6
kind: action
hex: "06 14 00 04 00 34 12 0F 06 73"
- id: brilliant_color_7
label: Brilliant Color 7
kind: action
hex: "06 14 00 04 00 34 12 0F 07 74"
- id: brilliant_color_8
label: Brilliant Color 8
kind: action
hex: "06 14 00 04 00 34 12 0F 08 75"
- id: brilliant_color_9
label: Brilliant Color 9
kind: action
hex: "06 14 00 04 00 34 12 0F 09 76"
- id: brilliant_color_10
label: Brilliant Color 10
kind: action
hex: "06 14 00 04 00 34 12 0F 0A 77"
- id: brilliant_color_status
label: Brilliant Color Status
kind: query
hex: "07 14 00 05 00 34 00 00 12 0F 6E"
# --- Remote Control Code ---
- id: remote_code_1
label: Remote Control Code 1
kind: action
hex: "06 14 00 04 00 34 0C 48 00 A0"
- id: remote_code_2
label: Remote Control Code 2
kind: action
hex: "06 14 00 04 00 34 0C 48 01 A1"
- id: remote_code_3
label: Remote Control Code 3
kind: action
hex: "06 14 00 04 00 34 0C 48 02 A2"
- id: remote_code_4
label: Remote Control Code 4
kind: action
hex: "06 14 00 04 00 34 0C 48 03 A3"
- id: remote_code_5
label: Remote Control Code 5
kind: action
hex: "06 14 00 04 00 34 0C 48 04 A4"
- id: remote_code_6
label: Remote Control Code 6
kind: action
hex: "06 14 00 04 00 34 0C 48 05 A5"
- id: remote_code_7
label: Remote Control Code 7
kind: action
hex: "06 14 00 04 00 34 0C 48 06 A6"
- id: remote_code_8
label: Remote Control Code 8
kind: action
hex: "06 14 00 04 00 34 0C 48 07 A7"
- id: remote_code_status
label: Remote Control Code Status
kind: query
hex: "07 14 00 05 00 34 00 00 0C 48 A1"
# --- Screen Color ---
- id: screen_color_off
label: Screen Color OFF
kind: action
hex: "06 14 00 04 00 34 11 32 00 8F"
- id: screen_color_blackboard
label: Screen Color Blackboard
kind: action
hex: "06 14 00 04 00 34 11 32 01 90"
- id: screen_color_greenboard
label: Screen Color Greenboard
kind: action
hex: "06 14 00 04 00 34 11 32 02 91"
- id: screen_color_whiteboard
label: Screen Color Whiteboard
kind: action
hex: "06 14 00 04 00 34 11 32 03 92"
- id: screen_color_blueboard
label: Screen Color Blueboard
kind: action
hex: "06 14 00 04 00 34 11 32 04 93"
- id: screen_color_status
label: Screen Color Status
kind: query
hex: "07 14 00 05 00 34 00 00 11 32 90"
# --- Over Scan ---
- id: overscan_off
label: Over Scan OFF
kind: action
hex: "06 14 00 04 00 34 11 33 00 90"
- id: overscan_1
label: Over Scan Value 1
kind: action
hex: "06 14 00 04 00 34 11 33 01 91"
- id: overscan_2
label: Over Scan Value 2
kind: action
hex: "06 14 00 04 00 34 11 33 02 92"
- id: overscan_3
label: Over Scan Value 3
kind: action
hex: "06 14 00 04 00 34 11 33 03 93"
- id: overscan_4
label: Over Scan Value 4
kind: action
hex: "06 14 00 04 00 34 11 33 04 94"
- id: overscan_5
label: Over Scan Value 5
kind: action
hex: "06 14 00 04 00 34 11 33 05 95"
- id: overscan_get
label: Over Scan Get Value
kind: query
hex: "07 14 00 05 00 34 00 00 11 33 91"
# --- Remote Key (Execute-Function) ---
- id: remote_key_menu
label: Remote Key Menu
kind: action
hex: "02 14 00 04 00 34 02 04 0F 61"
- id: remote_key_exit
label: Remote Key Exit
kind: action
hex: "02 14 00 04 00 34 02 04 13 65"
- id: remote_key_top
label: Remote Key Up
kind: action
hex: "02 14 00 04 00 34 02 04 0B 5D"
- id: remote_key_bottom
label: Remote Key Down
kind: action
hex: "02 14 00 04 00 34 02 04 0C 5E"
- id: remote_key_left
label: Remote Key Left
kind: action
hex: "02 14 00 04 00 34 02 04 0D 5F"
- id: remote_key_right
label: Remote Key Right
kind: action
hex: "02 14 00 04 00 34 02 04 0E 60"
- id: remote_key_source
label: Remote Key Source
kind: action
hex: "02 14 00 04 00 34 02 04 04 56"
- id: remote_key_enter
label: Remote Key Enter
kind: action
hex: "02 14 00 04 00 34 02 04 15 67"
- id: remote_key_auto
label: Remote Key Auto
kind: action
hex: "02 14 00 04 00 34 02 04 08 5A"
- id: remote_key_my_button
label: Remote Key My Button
kind: action
hex: "02 14 00 04 00 34 02 04 11 63"
# --- AMX Discovery ---
- id: amx_discovery
label: AMX Device Discovery
kind: action
command: "AMX"
response: "AMXB<-SDKClass=VideoProjector><-Make=ViewSonic><-Model=PX800HD>"
# --- Operating Temperature ---
- id: operating_temp_get
label: Operating Temperature Get
kind: query
hex: "07 14 00 05 00 34 00 00 15 03 65"
response: 4-byte value (Byte7-10, HEX2DEC(ddccbbaa)/10 = degrees C)
Feedbacks
- id: power_state
type: enum
values: [off, on]
description: Power state from power status query
- id: projector_status
type: enum
values: [warm_up, cool_down, power_off, power_on]
description: Projector operational status
- id: source_input
type: enum
values: [dsub_comp1, dsub_comp2, hdmi1, hdmi2, hdmi3, hdmi_mhl4, composite, svideo, dvi, component, hdbaset, usb_c, usb_reader, lan_wifi, usb_display]
description: Current active source input
- id: mute_state
type: enum
values: [off, on]
- id: volume_level
type: integer
description: Current volume level (1-byte response)
- id: contrast_value
type: integer
description: Contrast level (2-byte response)
- id: brightness_value
type: integer
description: Brightness level (2-byte response)
- id: sharpness_value
type: integer
description: Sharpness level (2-byte response)
- id: hue_value
type: integer
description: Hue/tint level (2-byte response)
- id: saturation_value
type: integer
description: Saturation level (2-byte response)
- id: gain_value
type: integer
description: Gain level (2-byte response)
- id: light_source_usage_hours
type: integer
description: Light source usage time in hours (4-byte response)
- id: operating_temperature
type: number
description: Operating temperature in degrees C (4-byte response / 10)
- id: error_status
type: string
description: 20-item error status block for service debug
Variables
# Volume set via volume_set action
# Contrast, brightness, sharpness, hue, saturation, gain adjusted via increase/decrease actions only (no direct set documented except volume)
Events
# UNRESOLVED: no unsolicited notification events documented in source
Macros
# UNRESOLVED: no multi-step sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source mentions "do not perform other commands" during warm up and cool down
# states (projector status query response), but no formal interlock procedure documented
Notes
- Binary protocol with checksum byte at end of each packet
- RS-232 connector: DSUB 9-Pin Male on rear panel; requires crossover (null modem) cable
- Only 3 pins needed for control: TX, RX, GND
- Supported baud rates: 2400, 4800, 9600, 14400, 19200, 38400, 115200 (no single default stated)
- LAN control uses same command format with
\replacing0xprefix, via TCP port 4661 - Acknowledgement response for valid Write commands:
0x03 0x14 0x00 0x00 0x00 0x14 - Response
0x00 0x14 0x00 0x00 0x00 0x14(first byte 0x00) indicates function is disabled/greyed out - Read responses use 1-byte format (§3.2.1) or 2-byte format (§3.2.2) depending on command
- Light Source Usage Time: HEX2DEC(ddccbbaa) from bytes 7-10 = hours
- Operating Temperature: HEX2DEC(ddccbbaa) / 10 = degrees C
- HDMI Range: Enhanced = 0-255 steps, Normal = 16-235 steps
- During Warm Up and Cool Down states, other commands should not be sent
- Projector Status command (row 4) only applies to particular models with LAN solution
Provenance
source_domains:
- viewsonicvsa.freshdesk.com
- manuals.viewsonic.com
- reddit.com
- jarcomputers.com
- manualslib.com
source_urls:
- https://viewsonicvsa.freshdesk.com/helpdesk/attachments/43019674572
- https://manuals.viewsonic.com/IFP32_RS-232_Protocols
- https://www.reddit.com/r/crestron/comments/dt71d7/correct_rs232_format_for_viewsonic_displays/
- https://www.jarcomputers.com/images/custom/docs/IFP32-2_UG_ENG-171634801263.pdf
- https://www.manualslib.com/manual/2312923/Viewsonic-Ifp32-Series.html
retrieved_at: 2026-05-26T23:58:53.141Z
last_checked_at: 2026-05-31T22:44:29.340Z
Verification Summary
verdict: verified
checked_at: 2026-05-31T22:44:29.340Z
matched_actions: 234
action_count: 234
confidence: medium
summary: "All 234 spec actions matched verbatim against source section 3.3 command table; transport port 4661 and serial hardware confirmed; coverage ratio 234/235 exceeds 0.9 floor. (14 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source document is titled \"Projector RS-232/LAN Control Protocol\" and states \"Apply for all projectors\" — applicability to IFPxx32 Series (interactive flat panels) not confirmed in source"
- "specific IFPxx32 model SKUs not listed in source"
- "default baud rate not stated; supported rates are 2400/4800/9600/14400/19200/38400/115200"
- "firmware version compatibility not stated in source"
- "source lists supported rates (2400/4800/9600/14400/19200/38400/115200) but no default"
- "not explicitly stated in source"
- "no unsolicited notification events documented in source"
- "no multi-step sequences documented in source"
- "source mentions \"do not perform other commands\" during warm up and cool down"
- "source document is titled \"Projector RS-232/LAN Control Protocol\" — confirms projector protocol, not IFP panel protocol"
- "data_bits, parity, stop_bits not explicitly stated in source (only baud rate range listed)"
- "flow control not stated"
- "specific model numbers in IFPxx32 series not listed"
- "AMX discovery response references \"PX800HD\" model — may differ for IFP models"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0