Summary
NEC NP-M Series projectors with binary command protocol over RS-232C serial and wired LAN (TCP port 7142). Supports power control, input switching, picture/audio adjustment, lens control (zoom, focus, shift), lens memory, shutter, muting, freeze, eco mode, edge blending, PIP/PbP, and extensive status querying including error status, lamp/filter usage, and model information. Commands use hexadecimal byte frames with checksum validation.
Transport
protocols:
- serial
- tcp
addressing:
port: 7142 # TCP port for wired LAN
serial:
baud_rate: [115200, 38400, 19200, 9600, 4800]
data_bits: 8
parity: none
stop_bits: 1
flow_control: UNRESOLVED # UNRESOLVED: RTS/CTS pins wired but flow control mode not stated
connector: "D-SUB 9P (PC CONTROL port)"
pinout:
2: RxD
3: TxD
5: GND
7: RTS
8: CTS
auth:
type: UNRESOLVED # UNRESOLVED: source does not state whether authentication is required
Traits
traits:
- powerable # inferred from power on/off commands
- queryable # inferred from extensive request/status commands
- routable # inferred from input switch command
- levelable # inferred from volume, picture, and lens adjustment commands
- mutable # inferred from picture/sound/onscreen mute commands
Actions
actions:
- id: power_on
label: "Power On"
kind: action
command_bytes: "02h 00h 00h 00h 00h 02h"
response_success_bytes: "22h 00h <ID1> <ID2> 00h <CKS>"
params: []
notes: "No other commands accepted during power-on sequence."
- id: power_off
label: "Power Off"
kind: action
command_bytes: "02h 01h 00h 00h 00h 03h"
response_success_bytes: "22h 01h <ID1> <ID2> 00h <CKS>"
params: []
notes: "No other commands accepted during power-off including cooling time."
- id: input_switch
label: "Input Switch"
kind: action
command_bytes: "02h 03h 00h 00h 02h 01h <DATA01> <CKS>"
response_success_bytes: "22h 03h <ID1> <ID2> 01h <DATA01> <CKS>"
params:
- name: input
type: integer
description: "Input terminal hex code (varies by model - see supplementary tables)"
notes: "DATA01=06h for VIDEO port. Response DATA01: 00h=success, FFh=error (no signal switch)."
- id: picture_mute_on
label: "Picture Mute On"
kind: action
command_bytes: "02h 10h 00h 00h 00h 12h"
response_success_bytes: "22h 10h <ID1> <ID2> 00h <CKS>"
params: []
notes: "Automatically turned off on input terminal switch or video signal switch."
- id: picture_mute_off
label: "Picture Mute Off"
kind: action
command_bytes: "02h 11h 00h 00h 00h 13h"
response_success_bytes: "22h 11h <ID1> <ID2> 00h <CKS>"
params: []
- id: sound_mute_on
label: "Sound Mute On"
kind: action
command_bytes: "02h 12h 00h 00h 00h 14h"
response_success_bytes: "22h 12h <ID1> <ID2> 00h <CKS>"
params: []
notes: "Automatically turned off on input switch, signal switch, or volume adjustment."
- id: sound_mute_off
label: "Sound Mute Off"
kind: action
command_bytes: "02h 13h 00h 00h 00h 15h"
response_success_bytes: "22h 13h <ID1> <ID2> 00h <CKS>"
params: []
- id: onscreen_mute_on
label: "Onscreen Mute On"
kind: action
command_bytes: "02h 14h 00h 00h 00h 16h"
response_success_bytes: "22h 14h <ID1> <ID2> 00h <CKS>"
params: []
notes: "Automatically turned off on input terminal switch or video signal switch."
- id: onscreen_mute_off
label: "Onscreen Mute Off"
kind: action
command_bytes: "02h 15h 00h 00h 00h 17h"
response_success_bytes: "22h 15h <ID1> <ID2> 00h <CKS>"
params: []
- id: picture_adjust
label: "Picture Adjust"
kind: action
command_bytes: "03h 10h 00h 00h 05h <DATA01> FFh <DATA02> <DATA03> <DATA04> <CKS>"
response_success_bytes: "23h 10h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: target
type: integer
description: "Adjustment target: 00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness"
- name: mode
type: integer
description: "00h=absolute value, 01h=relative value"
- name: value
type: integer
description: "16-bit signed adjustment value (low byte, high byte)"
- id: volume_adjust
label: "Volume Adjust"
kind: action
command_bytes: "03h 10h 00h 00h 05h 05h 00h <DATA01> <DATA02> <DATA03> <CKS>"
response_success_bytes: "23h 10h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: mode
type: integer
description: "00h=absolute value, 01h=relative value"
- name: value
type: integer
description: "16-bit signed adjustment value (low byte, high byte)"
- id: aspect_adjust
label: "Aspect Adjust"
kind: action
command_bytes: "03h 10h 00h 00h 05h 18h 00h 00h <DATA01> 00h <CKS>"
response_success_bytes: "23h 10h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: aspect
type: integer
description: "Aspect value (varies by model - see supplementary tables)"
- id: lamp_adjust
label: "Lamp/Light Adjust"
kind: action
command_bytes: "03h 10h 00h 00h 05h 96h FFh <DATA03> <DATA04> <DATA05> <CKS>"
response_success_bytes: "23h 10h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: mode
type: integer
description: "00h=absolute value, 01h=relative value"
- name: value
type: integer
description: "16-bit signed adjustment value (low byte, high byte)"
- id: remote_key_code
label: "Remote Key Code"
kind: action
command_bytes: "02h 0Fh 00h 00h 02h <DATA01> <DATA02> <CKS>"
response_success_bytes: "22h 0Fh <ID1> <ID2> 01h <DATA01> <CKS>"
params:
- name: key_code
type: integer
description: "WORD key code (low byte, high byte) - examples: 0002h=POWER ON, 0003h=POWER OFF, 0005h=AUTO, 0006h=MENU, 0007h=UP, 0008h=DOWN, 0009h=RIGHT, 000Ah=LEFT, 000Bh=ENTER, 000Ch=EXIT, 0084h=VOLUME UP, 0085h=VOLUME DOWN, 008Ah=FREEZE"
notes: "Response DATA01: 00h=success, FFh=error."
- id: shutter_close
label: "Shutter Close"
kind: action
command_bytes: "02h 16h 00h 00h 00h 18h"
response_success_bytes: "22h 16h <ID1> <ID2> 00h <CKS>"
params: []
- id: shutter_open
label: "Shutter Open"
kind: action
command_bytes: "02h 17h 00h 00h 00h 19h"
response_success_bytes: "22h 17h <ID1> <ID2> 00h <CKS>"
params: []
- id: lens_control
label: "Lens Control"
kind: action
command_bytes: "02h 18h 00h 00h 02h <DATA01> <DATA02> <CKS>"
response_success_bytes: "22h 18h <ID1> <ID2> 01h <DATA01> <CKS>"
params:
- name: target
type: integer
description: "00h=Zoom, 01h=Focus, 02h=Lens Shift H, 03h=Lens Shift V, 06h=Periphery Focus"
- name: content
type: integer
description: "00h=Stop, 01h=+1s, 02h=+0.5s, 03h=+0.25s, 7Fh=continuous plus, 81h=continuous minus, FDh=-0.25s, FEh=-0.5s, FFh=-1s"
notes: "For 7Fh/81h (continuous), send 00h to stop."
- id: lens_control_2
label: "Lens Control 2 (Absolute/Relative)"
kind: action
command_bytes: "02h 1Dh 00h 00h 04h <DATA01> <DATA02> <DATA03> <DATA04> <CKS>"
response_success_bytes: "22h 1Dh <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: target
type: integer
description: "00h=Zoom, 01h=Focus, 02h=Lens Shift H, 03h=Lens Shift V, FFh=Stop"
- name: mode
type: integer
description: "00h=absolute, 02h=relative"
- name: value
type: integer
description: "16-bit adjustment value (low byte, high byte)"
- id: lens_memory_control
label: "Lens Memory Control"
kind: action
command_bytes: "02h 1Eh 00h 00h 01h <DATA01> <CKS>"
response_success_bytes: "22h 1Eh <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
- id: reference_lens_memory_control
label: "Reference Lens Memory Control"
kind: action
command_bytes: "02h 1Fh 00h 00h 01h <DATA01> <CKS>"
response_success_bytes: "22h 1Fh <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
notes: "Controls the profile specified by lens_profile_set."
- id: lens_memory_option_set
label: "Lens Memory Option Set"
kind: action
command_bytes: "02h 21h 00h 00h 02h <DATA01> <DATA02> <CKS>"
response_success_bytes: "22h 21h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: target
type: integer
description: "00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: value
type: integer
description: "00h=OFF, 01h=ON"
- id: lens_profile_set
label: "Lens Profile Set"
kind: action
command_bytes: "02h 27h 00h 00h 01h <DATA01> <CKS>"
response_success_bytes: "22h 27h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: profile
type: integer
description: "00h=Profile 1, 01h=Profile 2"
- id: freeze_control
label: "Freeze Control"
kind: action
command_bytes: "01h 98h 00h 00h 01h <DATA01> <CKS>"
response_success_bytes: "21h 98h <ID1> <ID2> 01h <DATA01> <CKS>"
params:
- name: operation
type: integer
description: "01h=freeze on, 02h=freeze off"
- id: eco_mode_set
label: "Eco Mode Set"
kind: action
command_bytes: "03h B1h 00h 00h 02h 07h <DATA01> <CKS>"
response_success_bytes: "23h B1h <ID1> <ID2> 02h 07h <DATA01> <CKS>"
params:
- name: eco_mode
type: integer
description: "Value varies by model - see supplementary tables"
- id: projector_name_set
label: "Projector Name Set"
kind: action
command_bytes: "03h B1h 00h 00h 12h 2Ch <DATA01-16> 00h <CKS>"
response_success_bytes: "23h B1h <ID1> <ID2> 02h 2Ch <DATA01> <CKS>"
params:
- name: name
type: string
description: "Projector name (up to 16 bytes)"
- id: pip_pbp_set
label: "PIP/Picture by Picture Set"
kind: action
command_bytes: "03h B1h 00h 00h 03h C5h <DATA01> <DATA02> <CKS>"
response_success_bytes: "23h B1h <ID1> <ID2> 03h C5h <DATA01> <DATA02> <CKS>"
params:
- name: target
type: integer
description: "00h=MODE, 01h=START POSITION, 02h=SUB INPUT/SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: value
type: integer
description: "MODE: 00h=PIP, 01h=PbP. POSITION: 00h=TL, 01h=TR, 02h=BL, 03h=BR. Sub input varies by model."
- id: edge_blending_set
label: "Edge Blending Set"
kind: action
command_bytes: "03h B1h 00h 00h 03h DFh 00h <DATA01> <CKS>"
response_success_bytes: "23h B1h <ID1> <ID2> 03h DFh 00h <DATA01> <CKS>"
params:
- name: value
type: integer
description: "00h=OFF, 01h=ON"
- id: audio_select_set
label: "Audio Select Set"
kind: action
command_bytes: "03h C9h 00h 00h 03h 09h <DATA01> <DATA02> <CKS>"
response_success_bytes: "23h C9h <ID1> <ID2> 03h 09h <DATA01> <DATA02> <CKS>"
params:
- name: input_terminal
type: integer
description: "Input terminal hex code"
- name: audio_source
type: integer
description: "00h=same as specified terminal, 01h=BNC, 02h=COMPUTER"
Feedbacks
feedbacks:
- id: error_status
label: "Error Status"
type: binary_bitmap
command_bytes: "00h 88h 00h 00h 00h 88h"
query_command: "009. ERROR STATUS REQUEST"
response_bytes: "20h 88h <ID1> <ID2> 0Ch <DATA01-12> <CKS>"
description: "12-byte error bitmap. Bits include: cover error, fan error, temperature error, power error, lamp off, lamp replacement moratorium, lamp usage exceeds limit, lamp not present, mirror cover error, ballast communication error, iris calibration error, lens not installed, interlock switch open, system error (Slave CPU/Formatter), portrait cover side up."
- id: projector_information
label: "Projector Information"
type: object
command_bytes: "03h 8Ah 00h 00h 00h 8Dh"
query_command: "037. INFORMATION REQUEST"
response_bytes: "23h 8Ah <ID1> <ID2> 62h <DATA01-98> <CKS>"
fields:
- name: projector_name
bytes: "DATA01-49"
description: "Projector name (NUL terminated)"
- name: lamp_usage_seconds
bytes: "DATA83-86"
description: "Lamp usage time in seconds (updated at 1-minute intervals)"
- name: filter_usage_seconds
bytes: "DATA87-90"
description: "Filter usage time in seconds"
- id: filter_usage
label: "Filter Usage Information"
type: object
command_bytes: "03h 95h 00h 00h 00h 98h"
query_command: "037-3. FILTER USAGE INFORMATION REQUEST"
response_bytes: "23h 95h <ID1> <ID2> 08h <DATA01-08> <CKS>"
fields:
- name: filter_usage_seconds
bytes: "DATA01-04"
description: "Filter usage time in seconds"
- name: filter_alarm_seconds
bytes: "DATA05-08"
description: "Filter alarm start time in seconds (-1 if undefined)"
- id: lamp_information
label: "Lamp Information"
type: object
command_bytes: "03h 96h 00h 00h 02h <DATA01> <DATA02> <CKS>"
query_command: "037-4. LAMP INFORMATION REQUEST 3"
response_bytes: "23h 96h <ID1> <ID2> 06h <DATA01-06> <CKS>"
params:
- name: target
description: "00h=Lamp 1, 01h=Lamp 2 (two-lamp models only)"
- name: content
description: "01h=usage time (seconds), 04h=remaining life (%)"
fields:
- name: value
bytes: "DATA03-06"
description: "Requested information. Negative remaining life if replacement deadline exceeded."
- id: carbon_savings
label: "Carbon Savings Information"
type: object
command_bytes: "03h 9Ah 00h 00h 01h <DATA01> <CKS>"
query_command: "037-6. CARBON SAVINGS INFORMATION REQUEST"
response_bytes: "23h 9Ah <ID1> <ID2> 09h <DATA01-09> <CKS>"
params:
- name: target
description: "00h=Total, 01h=During operation"
fields:
- name: kilograms
bytes: "DATA02-05"
description: "Carbon savings in kg (max 99999)"
- name: milligrams
bytes: "DATA06-09"
description: "Carbon savings in mg (max 999999)"
- id: running_status
label: "Running Status"
type: object
command_bytes: "00h 85h 00h 00h 01h 01h 87h"
query_command: "078-2. RUNNING STATUS REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 10h <DATA01-16> <CKS>"
fields:
- name: power_status
bytes: DATA03
values: ["00h=Standby", "01h=Power On", "FFh=Not supported"]
- name: cooling
bytes: DATA04
values: ["00h=Not executing", "01h=Executing", "FFh=Not supported"]
- name: power_on_off_process
bytes: DATA05
values: ["00h=Not executing", "01h=Executing", "FFh=Not supported"]
- name: operation_status
bytes: DATA06
values: ["00h=Standby (Sleep)", "04h=Power On", "05h=Cooling", "06h=Standby (error)", "0Fh=Standby (Power saving)", "10h=Network standby"]
- id: input_status
label: "Input Status"
type: object
command_bytes: "00h 85h 00h 00h 01h 02h 88h"
query_command: "078-3. INPUT STATUS REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 10h <DATA01-16> <CKS>"
fields:
- name: signal_switch
bytes: DATA01
values: ["00h=Not executing", "01h=Executing"]
- name: signal_list_number
bytes: DATA02
description: "Signal list number - 1 (add 1 for actual number)"
- name: signal_type_1
bytes: DATA03
- name: signal_type_2
bytes: DATA04
values: ["01h=COMPUTER", "02h=VIDEO", "03h=S-VIDEO", "04h=COMPONENT", "07h=VIEWER(1-5)", "20h=DVI-D", "21h=HDMI", "22h=DisplayPort", "23h=VIEWER(6-10)", "FFh=Not Source Input"]
- name: signal_list_type
bytes: DATA05
values: ["00h=Default", "01h=User", "FFh=Not supported"]
- name: test_pattern_display
bytes: DATA06
values: ["00h=Not displayed", "01h=Displayed", "FFh=Not supported"]
- name: content_displayed
bytes: DATA09
values: ["00h=Video signal", "01h=No signal", "02h=Viewer", "03h=Test pattern", "04h=LAN", "FFh=Not supported"]
- id: mute_status
label: "Mute Status"
type: object
command_bytes: "00h 85h 00h 00h 01h 03h 89h"
query_command: "078-4. MUTE STATUS REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 10h <DATA01-16> <CKS>"
fields:
- name: picture_mute
bytes: DATA01
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: sound_mute
bytes: DATA02
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: onscreen_mute
bytes: DATA03
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: forced_onscreen_mute
bytes: DATA04
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: onscreen_display
bytes: DATA05
values: ["00h=Not displayed", "01h=Displayed", "FFh=Not supported"]
- id: model_name
label: "Model Name"
type: string
command_bytes: "00h 85h 00h 00h 01h 04h 8Ah"
query_command: "078-5. MODEL NAME REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 20h <DATA01-32> <CKS>"
description: "Model name (NUL terminated, up to 32 bytes)"
- id: cover_status
label: "Cover Status"
type: enum
command_bytes: "00h 85h 00h 00h 01h 05h 8Bh"
query_command: "078-6. COVER STATUS REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 01h <DATA01> <CKS>"
values: ["00h=Normal (cover opened)", "01h=Cover closed"]
- id: lens_position
label: "Lens Position"
type: object
command_bytes: "02h 1Ch 00h 00h 02h <DATA01> 00h <CKS>"
query_command: "053-1. LENS CONTROL REQUEST"
response_bytes: "22h 1Ch <ID1> <ID2> 08h <DATA01> 00h <DATA02-07> <CKS>"
params:
- name: target
description: "00h=Zoom, 01h=Focus, 02h=Lens Shift H, 03h=Lens Shift V"
fields:
- name: upper_limit
bytes: "DATA02-03"
description: "Upper limit of adjustment range"
- name: lower_limit
bytes: "DATA04-05"
description: "Lower limit of adjustment range"
- name: current_value
bytes: "DATA06-07"
description: "Current position value"
- id: lens_information
label: "Lens Information"
type: binary_bitmap
command_bytes: "02h 22h 00h 00h 01h 00h 25h"
query_command: "053-7. LENS INFORMATION REQUEST"
response_bytes: "22h 22h <ID1> <ID2> 02h 00h <DATA01> <CKS>"
description: "Operation status per lens function. Bit0=Lens memory, Bit1=Zoom, Bit2=Focus, Bit3=Lens Shift H, Bit4=Lens Shift V. 0=Stop, 1=During operation."
- id: lens_memory_option
label: "Lens Memory Option"
type: object
command_bytes: "02h 20h 00h 00h 01h <DATA01> <CKS>"
query_command: "053-5. LENS MEMORY OPTION REQUEST"
response_bytes: "22h 20h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
params:
- name: target
description: "00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
fields:
- name: value
description: "00h=OFF, 01h=ON"
- id: lens_profile
label: "Lens Profile"
type: enum
command_bytes: "02h 28h 00h 00h 00h 2Ah"
query_command: "053-11. LENS PROFILE REQUEST"
response_bytes: "22h 28h <ID1> <ID2> 02h <DATA01> <DATA02> <CKS>"
values: ["00h=Profile 1", "01h=Profile 2"]
- id: gain_parameter
label: "Gain Parameter"
type: object
command_bytes: "03h 05h 00h 00h 03h <DATA01> 00h 00h <CKS>"
query_command: "060-1. GAIN PARAMETER REQUEST 3"
response_bytes: "23h 05h <ID1> <ID2> 10h <DATA01-16> <CKS>"
params:
- name: name
description: "00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness, 05h=Volume, 96h=Lamp/Light Adjust"
fields:
- name: status
bytes: DATA01
values: ["00h=Display not possible", "01h=Adjustment not possible", "02h=Adjustment possible", "FFh=Gain does not exist"]
- name: upper_limit
bytes: "DATA02-03"
- name: lower_limit
bytes: "DATA04-05"
- name: default
bytes: "DATA06-07"
- name: current_value
bytes: "DATA08-09"
- name: wide_adjustment_width
bytes: "DATA10-11"
- name: narrow_adjustment_width
bytes: "DATA12-13"
- name: default_validity
bytes: DATA14
values: ["00h=Default invalid", "01h=Default valid"]
- id: setting_information
label: "Setting Information"
type: object
command_bytes: "00h 85h 00h 00h 01h 00h 86h"
query_command: "078-1. SETTING REQUEST"
response_bytes: "20h 85h <ID1> <ID2> 20h <DATA01-32> <CKS>"
fields:
- name: base_model_type
bytes: "DATA01-03"
- name: sound_function
bytes: DATA04
values: ["00h=Not available", "01h=Available"]
- name: profile_number
bytes: DATA05
values: ["00h=Not available", "01h=Clock", "02h=Sleep timer", "03h=Clock + Sleep timer"]
- id: eco_mode
label: "Eco Mode"
type: integer
command_bytes: "03h B0h 00h 00h 01h 07h BBh"
query_command: "097-8. ECO MODE REQUEST"
response_bytes: "23h B0h <ID1> <ID2> 02h 07h <DATA01> <CKS>"
description: "Eco mode value (varies by model - see supplementary tables)"
- id: projector_name
label: "Projector Name"
type: string
command_bytes: "03h B0h 00h 00h 01h 2Ch E0h"
query_command: "097-45. LAN PROJECTOR NAME REQUEST"
response_bytes: "23h B0h <ID1> <ID2> 12h 2Ch <DATA01-17> <CKS>"
description: "Projector name (NUL terminated, up to 17 bytes)"
- id: mac_address
label: "MAC Address"
type: string
command_bytes: "03h B0h 00h 00h 02h 9Ah 00h 4Fh"
query_command: "097-155. LAN MAC ADDRESS STATUS REQUEST2"
response_bytes: "23h B0h <ID1> <ID2> 08h 9Ah 00h <DATA01-06> <CKS>"
description: "6-byte MAC address"
- id: pip_pbp_status
label: "PIP/Picture by Picture Status"
type: object
command_bytes: "03h B0h 00h 00h 02h C5h <DATA01> <CKS>"
query_command: "097-198. PIP/PICTURE BY PICTURE REQUEST"
response_bytes: "23h B0h <ID1> <ID2> 03h C5h <DATA01> <DATA02> <CKS>"
params:
- name: target
description: "00h=MODE, 01h=START POSITION, 02h=SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- id: edge_blending_status
label: "Edge Blending Status"
type: enum
command_bytes: "03h B0h 00h 00h 02h DFh 00h 94h"
query_command: "097-243-1. EDGE BLENDING MODE REQUEST"
response_bytes: "23h B0h <ID1> <ID2> 03h DFh 00h <DATA01> <CKS>"
values: ["00h=OFF", "01h=ON"]
- id: information_string
label: "Information String"
type: object
command_bytes: "00h D0h 00h 00h 03h 00h <DATA01> 01h <CKS>"
query_command: "084. INFORMATION STRING REQUEST"
response_bytes: "20h D0h <ID1> <ID2> LEN <DATA01> 01h <DATA02-??> <CKS>"
fields:
- name: string_length
bytes: DATA02
description: "Label/information string length (excluding NUL characters)"
- name: label_or_string
bytes: "DATA03-??"
description: "Label/information strings (NUL terminated)"
params:
- name: info_type
description: "03h=Horizontal sync frequency, 04h=Vertical sync frequency"
- id: base_model_type
label: "Base Model Type"
type: object
command_bytes: "00h BFh 00h 00h 01h 00h C0h"
query_command: "305-1. BASE MODEL TYPE REQUEST"
response_bytes: "20h BFh <ID1> <ID2> 10h 00h <DATA01-15> <CKS>"
fields:
- name: base_model_type
bytes: "DATA01-02"
- name: model_name
bytes: "DATA03-11"
description: "NUL terminated"
- name: base_model_type_alt
bytes: "DATA12-13"
- id: serial_number
label: "Serial Number"
type: string
command_bytes: "00h BFh 00h 00h 02h 01h 06h C8h"
query_command: "305-2. SERIAL NUMBER REQUEST"
response_bytes: "20h BFh <ID1> <ID2> 12h 01h 06h <DATA01-16> <CKS>"
description: "Serial number (NUL terminated, up to 16 bytes)"
- id: basic_information
label: "Basic Information"
type: object
command_bytes: "00h BFh 00h 00h 01h 02h C2h"
query_command: "305-3. BASIC INFORMATION REQUEST"
response_bytes: "20h BFh <ID1> <ID2> 10h 02h <DATA01-15> <CKS>"
fields:
- name: operation_status
bytes: DATA01
values: ["00h=Standby (Sleep)", "04h=Power On", "05h=Cooling", "06h=Standby (error)", "0Fh=Standby (Power saving)", "10h=Network standby"]
- name: content_displayed
bytes: DATA02
values: ["00h=Video signal", "01h=No signal", "02h=Viewer", "03h=Test pattern", "04h=LAN", "05h=Test pattern (user)", "10h=Signal switching"]
- name: signal_type_1
bytes: DATA03
- name: signal_type_2
bytes: DATA04
values: ["01h=COMPUTER", "02h=VIDEO", "03h=S-VIDEO", "04h=COMPONENT", "07h=VIEWER(1-5)", "20h=DVI-D", "21h=HDMI", "22h=DisplayPort", "23h=VIEWER(6-10)", "FFh=Not Source Input"]
- name: display_signal_type
bytes: DATA05
description: "Effective only when DATA04 is 02h (VIDEO) or 03h (S-VIDEO)"
- name: video_mute
bytes: DATA06
values: ["00h=Off", "01h=On"]
- name: sound_mute
bytes: DATA07
values: ["00h=Off", "01h=On"]
- name: onscreen_mute
bytes: DATA08
values: ["00h=Off", "01h=On"]
- name: freeze
bytes: DATA09
values: ["00h=Off", "01h=On"]
Variables
# UNRESOLVED: no continuously settable parameters beyond discrete actions
Events
# UNRESOLVED: no unsolicited event/notification mechanism described in source
Macros
# UNRESOLVED: no multi-step macro sequences described in source
Safety
confirmation_required_for: []
interlocks: []
notes: >
Error status (command 009) reports interlock switch status (DATA09 Bit1: 1=open).
Error status also reports cover error, fan error, temperature error, power error.
Power on/off commands block all other commands during execution (including cooling period).
Some models cannot receive commands in standby mode over LAN.
Notes
- Binary protocol: All commands and responses are hexadecimal byte frames. Frame structure: header bytes + ID1 (control ID) + ID2 (model code) + LEN + DATA fields + CKS (checksum).
- Checksum: Sum all preceding bytes, use low-order 8 bits of result.
- Error responses: Use prefix A0h/A1h/A2h/A3h (depending on command) with ERR1/ERR2 error codes. Common errors: 02h 0Dh = "command cannot be accepted because power is off", 02h 07h = "no signal".
- Model-dependent values: Input terminal hex codes, eco mode values, and aspect values vary by model. Refer to the supplementary tables in the source document.
- Standby mode: Standby mode settings for receiving commands vary by model (Normal, Active, Eco, Power-Saving, Network Standby, Sleep). See standby mode table in source.
- Lamp usage: Updated at 1-minute intervals despite 1-second precision.
- Lens control: Continuous drive mode (7Fh/81h) requires explicit stop command (00h).
- Picture mute and sound mute are automatically cancelled on input switch or signal switch.
- Authentication: UNRESOLVED — source does not state whether authentication is required.
- Serial flow control: UNRESOLVED — RTS/CTS pins are wired but the source does not state the flow control mode.
Provenance
source_domains:
- sharpdisplays.eu
source_urls:
- https://www.sharpdisplays.eu/p/download/cp/Products/Projectors/Shared/CommandLists/NEC-ExternalControlManual-english.pdf
retrieved_at: 2026-04-29T13:52:10.350Z
last_checked_at: 2026-10-07T14:03:28.471Z
Verification Summary
verdict: verified
checked_at: 2026-10-07T14:03:28.471Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 action units (28 actions, 25 query feedbacks) match the source's 53-command list with correct bytes; transport supported. (15 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "input terminal hex codes vary by model — see supplementary tables in source"
- "eco mode values vary by model — see supplementary tables in source"
- "aspect values vary by model — see supplementary tables in source"
- "RTS/CTS pins wired but flow control mode not stated"
- "source does not state whether authentication is required"
- "no continuously settable parameters beyond discrete actions"
- "no unsolicited event/notification mechanism described in source"
- "no multi-step macro sequences described in source"
- "default baud rate not stated — multiple rates supported"
- "exact input terminal codes are model-dependent and listed in supplementary tables"
- "eco mode value mapping is model-dependent"
- "aspect value mapping is model-dependent"
- "no response timeout specified"
- "no maximum command rate or throttling specified"
- "firmware version compatibility not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0