Summary

RS-232C and LAN control protocol for the Sharp PN-R series professional LCD monitors (PN-R426, PN-R496, PN-R556, PN-R606, PN-R706). The same RS-232C ASCII command set is exposed over both transports, and the LAN path additionally offers an embedded HTTP web UI plus Telnet-style command-based control. Daisy-chain connection of up to 25 monitors is supported with per-monitor ID targeting.

Transport

protocols:
  - serial
  - tcp
  - http
serial:
  baud_rate: 38400  # default per source; SETUP menu BAUD RATE also supports 9600 (0) and 19200 (1)
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none
addressing:
  port: 1025  # default; LAN DATA PORT is configurable 1025-65535. HTTP implied at 80, Telnet uses DATA PORT.
auth:
  type: basic  # source: HTTP web UI + Telnet login use USER NAME / PASSWORD (default admin/admin)

Traits

- powerable       # inferred from POWR command examples
- routable        # inferred from INPS input mode selection commands
- queryable       # inferred from R-direction commands returning current settings
- levelable       # inferred from volume/treble/bass/balance/brightness/contrast commands

Actions

# Power control / Input mode selection
- id: power_standby
  label: Power Standby
  kind: action
  command: "POWR0000"
  params: []
- id: power_on
  label: Power On
  kind: action
  command: "POWR0001"
  params: []
- id: power_status_query
  label: Power Status Query
  kind: query
  command: "POWR    ?"
  reply_values: [0, 1, 2]
  reply_meanings:
    0: Standby mode
    1: Normal mode
    2: Input signal waiting mode
  params: []
- id: input_toggle
  label: Input Toggle
  kind: action
  command: "INPS0000"
  params: []
- id: input_dvi_d
  label: Select DVI-D
  kind: action
  command: "INPS0001"
  params: []
- id: input_dsub_rgb
  label: Select D-SUB[RGB]
  kind: action
  command: "INPS0002"
  params: []
- id: input_dsub_component
  label: Select D-SUB[COMPONENT]
  kind: action
  command: "INPS0003"
  params: []
- id: input_hdmi1
  label: Select HDMI1
  kind: action
  command: "INPS0010"
  params: []
- id: input_hdmi2
  label: Select HDMI2
  kind: action
  command: "INPS0013"
  params: []
- id: input_displayport
  label: Select DisplayPort
  kind: action
  command: "INPS0014"
  params: []
- id: input_option
  label: Select OPTION
  kind: action
  command: "INPS0021"
  params: []
- id: input_query
  label: Input Query
  kind: query
  command: "INPS    ?"
  reply_values: [1, 2, 3, 10, 13, 14, 21]
  reply_meanings:
    "1": DVI-D
    "2": D-SUB[RGB]
    "3": D-SUB[COMPONENT]
    "10": HDMI1
    "13": HDMI2
    "14": DisplayPort
    "21": OPTION
  params: []

# SCREEN menu
- id: screen_auto
  label: AUTO Sync (D-SUB[RGB])
  kind: action
  command: "ASNC0001"
  params: []
- id: screen_clock
  label: CLOCK
  kind: action
  command: "CLCK{value}"
  params:
    - name: value
      type: integer
      range: 0-1200
  notes: D-SUB[RGB] only
- id: screen_phase
  label: PHASE
  kind: action
  command: "PHSE{value}"
  params:
    - name: value
      type: integer
      range: 0-63
  notes: D-SUB[RGB] only
- id: screen_hpos
  label: Horizontal Position
  kind: action
  command: "HPOS{value}"
  params:
    - name: value
      type: integer
      range: 0-100
  notes: 0-800 on D-SUB[RGB]
- id: screen_vpos
  label: Vertical Position
  kind: action
  command: "VPOS{value}"
  params:
    - name: value
      type: integer
      range: 0-100
  notes: 0-200 on D-SUB[RGB]
- id: screen_hsiz
  label: Horizontal Size
  kind: action
  command: "HSIZ{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: screen_vsiz
  label: Vertical Size
  kind: action
  command: "VSIZ{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: screen_hres
  label: Horizontal Resolution
  kind: action
  command: "HRES{value}"
  params:
    - name: value
      type: integer
      range: 300-1920
      notes: even numbers only on D-SUB[RGB]
- id: screen_vres
  label: Vertical Resolution
  kind: action
  command: "VRES{value}"
  params:
    - name: value
      type: integer
      range: 200-1200
- id: screen_pxsl
  label: Input Signal D-SUB[RGB] Preset
  kind: action
  command: "PXSL{value}"
  params:
    - name: value
      type: integer
      values: [1, 2, 3, 5, 6, 7, 8, 9, 10]
      meanings:
        "1": "1360 x 768"
        "2": "1280 x 768"
        "3": "1024 x 768"
        "5": "848 x 480"
        "6": "640 x 480"
        "7": "1680 x 1050"
        "8": "1400 x 1050"
        "9": "AUTO 768"
        "10": "AUTO 480"
- id: screen_pxck
  label: Resolution Check (D-SUB[RGB])
  kind: query
  command: "PXCK    ?"
  notes: Returns hhh, vvv
- id: screen_reso
  label: Resolution Check (HDMI/Component/OPTION)
  kind: query
  command: "RESO    ?"
  notes: "Returns 480i, 480p, 1080i, 720p, 1080p, VGA, etc."
- id: screen_z2sp
  label: ZOOM2 Special Setting
  kind: action
  command: "Z2SP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings: { "0": "OFF", "1": "ON" }
- id: screen_reset
  label: SCREEN Reset
  kind: action
  command: "ARST0001"
  params: []

# PICTURE menu
- id: picture_brightness
  label: BRIGHT
  kind: action
  command: "VLMP{value}"
  params:
    - name: value
      type: integer
      range: 0-31
- id: picture_contrast
  label: CONTRAST
  kind: action
  command: "CONT{value}"
  params:
    - name: value
      type: integer
      range: 0-60
- id: picture_black_level
  label: BLACK LEVEL
  kind: action
  command: "BLVL{value}"
  params:
    - name: value
      type: integer
      range: 0-60
- id: picture_tint
  label: TINT
  kind: action
  command: "TINT{value}"
  params:
    - name: value
      type: integer
      range: 0-60
- id: picture_color
  label: COLORS
  kind: action
  command: "COLR{value}"
  params:
    - name: value
      type: integer
      range: 0-60
- id: picture_sharpness
  label: SHARPNESS
  kind: action
  command: "SHRP{value}"
  params:
    - name: value
      type: integer
      range: 0-24
- id: picture_color_mode
  label: COLOR MODE
  kind: action
  command: "BMOD{value}"
  params:
    - name: value
      type: integer
      values: [0, 2, 3, 4]
      meanings:
        "0": "STD"
        "2": "VIVID"
        "3": "sRGB (not valid on D-SUB[COMPONENT])"
        "4": "HIGH ILLUMINANCE"
- id: picture_white_balance
  label: WHITE BALANCE
  kind: action
  command: "WHBL{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "THRU"
        "1": "PRESET"
        "2": "USER"
- id: picture_preset
  label: PRESET Color Temperature
  kind: action
  command: "CTMP{value}"
  params:
    - name: value
      type: integer
      range: 1-28
      notes: "1-15: 3000K-10000K (500K steps); 16=5600K; 17=9300K; 18=3200K; 19-28: 10500K-15000K"
- id: picture_r_contrast
  label: R-CONTRAST (User)
  kind: action
  command: "CRTR{value}"
  params:
    - name: value
      type: integer
      range: 0-256
  notes: requires WHBL=2
- id: picture_g_contrast
  label: G-CONTRAST (User)
  kind: action
  command: "CRTG{value}"
  params:
    - name: value
      type: integer
      range: 0-256
  notes: requires WHBL=2
- id: picture_b_contrast
  label: B-CONTRAST (User)
  kind: action
  command: "CRTB{value}"
  params:
    - name: value
      type: integer
      range: 0-256
  notes: requires WHBL=2
- id: picture_r_offset
  label: R-OFFSET (User)
  kind: action
  command: "OFSR{value}"
  params:
    - name: value
      type: integer
      range: -127-127
  notes: requires WHBL=2
- id: picture_g_offset
  label: G-OFFSET (User)
  kind: action
  command: "OFSG{value}"
  params:
    - name: value
      type: integer
      range: -127-127
  notes: requires WHBL=2
- id: picture_b_offset
  label: B-OFFSET (User)
  kind: action
  command: "OFSB{value}"
  params:
    - name: value
      type: integer
      range: -127-127
  notes: requires WHBL=2
- id: picture_copy_to_user
  label: Copy Preset To User
  kind: action
  command: "CPTU0000"
  params: []
- id: picture_gamma
  label: GAMMA
  kind: action
  command: "GAMM{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2, 4, 5, 6, 7, 8, 9]
      meanings:
        "0": "1.8"
        "1": "2.2"
        "2": "2.4"
        "4": "USER"
        "5": "2.0"
        "6": "STD"
        "7": "LIGHT 2"
        "8": "LIGHT 1"
        "9": "DARK"
- id: picture_flesh_tone
  label: FLESH TONE
  kind: action
  command: "FLES{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "LOW"
        "2": "HIGH"
- id: picture_cms_hue_r
  label: C.M.S.-HUE R
  kind: action
  command: "CMHR{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_y
  label: C.M.S.-HUE Y
  kind: action
  command: "CMHY{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_g
  label: C.M.S.-HUE G
  kind: action
  command: "CMHG{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_c
  label: C.M.S.-HUE C
  kind: action
  command: "CMHC{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_b
  label: C.M.S.-HUE B
  kind: action
  command: "CMHB{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_m
  label: C.M.S.-HUE M
  kind: action
  command: "CMHM{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_hue_reset
  label: Reset C.M.S. Hue
  kind: action
  command: "CRST0001"
  params: []
- id: picture_cms_sat_r
  label: C.M.S.-SATURATION R
  kind: action
  command: "CMSR{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_y
  label: C.M.S.-SATURATION Y
  kind: action
  command: "CMSY{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_g
  label: C.M.S.-SATURATION G
  kind: action
  command: "CMSG{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_c
  label: C.M.S.-SATURATION C
  kind: action
  command: "CMSC{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_b
  label: C.M.S.-SATURATION B
  kind: action
  command: "CMSB{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_m
  label: C.M.S.-SATURATION M
  kind: action
  command: "CMSM{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: picture_cms_sat_reset
  label: Reset C.M.S. Saturation
  kind: action
  command: "CRST0002"
  params: []
- id: picture_auto_advanced
  label: AUTO (Advanced, D-SUB[RGB])
  kind: action
  command: "AGIN0001"
  params: []
- id: picture_analog_gain
  label: ANALOG GAIN (D-SUB[RGB])
  kind: action
  command: "ANGA{value}"
  params:
    - name: value
      type: integer
      range: 0-127
- id: picture_analog_offset
  label: ANALOG OFFSET (D-SUB[RGB])
  kind: action
  command: "ANOF{value}"
  params:
    - name: value
      type: integer
      range: 0-127
- id: picture_nr
  label: Noise Reduction
  kind: action
  command: "TDNR{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "LOW"
        "2": "HIGH"
- id: picture_rgb_input_range
  label: RGB INPUT RANGE
  kind: action
  command: "INPR{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "AUTO"
        "1": "FULL"
        "2": "LIMITED"
      notes: "0 invalid on DVI-D/D-SUB[RGB]; ERR on D-SUB[COMPONENT]"
- id: picture_display_color_pattern
  label: DISPLAY COLOR PATTERN
  kind: action
  command: "PTDF{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2, 3, 4, 99]
      meanings:
        "0": "No pattern"
        "1": "White single"
        "2": "Red single"
        "3": "Green single"
        "4": "Blue single"
        "99": "R/G/B mixed (use PTDR/PTDG/PTDB)"
- id: picture_ptdr
  label: Display Pattern R Level
  kind: action
  command: "PTDR{value}"
  params:
    - name: value
      type: integer
      range: 0-255
  notes: requires PTDF=99
- id: picture_ptdg
  label: Display Pattern G Level
  kind: action
  command: "PTDG{value}"
  params:
    - name: value
      type: integer
      range: 0-255
  notes: requires PTDF=99
- id: picture_ptdb
  label: Display Pattern B Level
  kind: action
  command: "PTDB{value}"
  params:
    - name: value
      type: integer
      range: 0-255
  notes: requires PTDF=99
- id: picture_ptdl
  label: Display Pattern White Level
  kind: action
  command: "PTDL{value}"
  params:
    - name: value
      type: integer
      range: 0-255
  notes: "Single color pattern only (white/red/green/blue)"
- id: picture_reset
  label: PICTURE Reset
  kind: action
  command: "ARST0002"
  params: []

# AUDIO menu
- id: audio_treble
  label: TREBLE
  kind: action
  command: "AUTR{value}"
  params:
    - name: value
      type: integer
      range: -5-5
- id: audio_bass
  label: BASS
  kind: action
  command: "AUBS{value}"
  params:
    - name: value
      type: integer
      range: -5-5
- id: audio_balance
  label: BALANCE
  kind: action
  command: "AUBL{value}"
  params:
    - name: value
      type: integer
      range: -10-10
- id: audio_reset
  label: AUDIO Reset
  kind: action
  command: "ARST0003"
  params: []

# SETUP menu
- id: setup_date_time
  label: DATE/TIME Setting
  kind: action
  command: "DATE{value}"
  params:
    - name: value
      type: string
      pattern: "AABBCCDDEE"
      notes: "AA:Year BB:Month CC:Day DD:Hour EE:Minute"
- id: setup_date_format
  label: DATE FORMAT
  kind: action
  command: "DTFT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "YYYY/MM/DD"
        "1": "MM/DD/YYYY"
        "2": "DD/MM/YYYY"
- id: setup_time_format
  label: TIME FORMAT
  kind: action
  command: "TMFT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "24-HOUR TIME"
        "1": "12-HOUR TIME"
- id: setup_schedule
  label: SCHEDULE 1-8
  kind: action
  command: "SC{n}{value}"
  params:
    - name: n
      type: integer
      range: 1-8
    - name: value
      type: string
      pattern: "ABCDEFFGGH"
      notes: "A:0=off,1=on; B:0=off,1=on; C:0=once,1=weekly,2=daily; D/E:0=Sun..6=Sat,9=none; F:00-23; G:00-59; H:0=none,1=HDMI1,2=HDMI2,4=D-SUB,6=DisplayPort,7=DVI-D,8=OPTION"
- id: setup_schedule_brightness
  label: SCHEDULE BRIGHTNESS 1-8
  kind: action
  command: "SB{n}{value}"
  params:
    - name: n
      type: integer
      range: 1-8
    - name: value
      type: integer
      range: 0-31
      notes: "99 disables brightness setting"
- id: setup_language
  label: LANGUAGE
  kind: action
  command: "LANG{value}"
  params:
    - name: value
      type: integer
      values: [14, 1, 2, 3, 4, 5, 6, 7]
      meanings:
        "14": "ENGLISH"
        "1": "DEUTSCH"
        "2": "FRANÇAIS"
        "3": "ITALIANO"
        "4": "ESPAÑOL"
        "5": "РУССКИЙ"
        "6": "(language 6)"
        "7": "(language 7)"
- id: setup_input_select_dsub
  label: INPUT SELECT D-SUB Mode
  kind: action
  command: "SLDS{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "RGB"
        "1": "COMPONENT"
- id: setup_hdmi_cec
  label: HDMI CEC LINK
  kind: action
  command: "CELK{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "AUTO"
- id: setup_auto_power_on
  label: AUTO POWER ON
  kind: action
  command: "ATPO{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_hdmi1_auto_view
  label: HDMI1 AUTO VIEW
  kind: action
  command: "HDAW{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_hdmi2_auto_view
  label: HDMI2 AUTO VIEW
  kind: action
  command: "H2AW{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_option_auto_view
  label: OPTION AUTO VIEW
  kind: action
  command: "OPAW{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON (when OPTION expansion present)"
- id: setup_hot_plug_dvi
  label: HOT PLUG CONTROL DVI-D
  kind: action
  command: "HPCT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_hot_plug_hdmi1
  label: HOT PLUG CONTROL HDMI1
  kind: action
  command: "HPCH{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_hot_plug_hdmi2
  label: HOT PLUG CONTROL HDMI2
  kind: action
  command: "HPH2{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_hot_plug_option
  label: HOT PLUG CONTROL OPTION
  kind: action
  command: "HPOP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON (when OPTION expansion present)"
- id: setup_dp_stream
  label: DisplayPort STREAM
  kind: action
  command: "DPST{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "SST"
        "1": "MST"
      notes: "ERR unless PIP MODES = OFF"
- id: setup_dp_high_gain
  label: DisplayPort HIGH-FREQUENCY GAIN
  kind: action
  command: "DPHG{value}"
  params:
    - name: value
      type: integer
      range: 0-31
- id: setup_dp_low_gain
  label: DisplayPort LOW-FREQUENCY GAIN
  kind: action
  command: "DPLG{value}"
  params:
    - name: value
      type: integer
      range: 0-31
- id: setup_dp_filter
  label: DisplayPort FILTER
  kind: action
  command: "DPFL{value}"
  params:
    - name: value
      type: integer
      range: 0-15
- id: setup_dp_offset
  label: DisplayPort OFFSET
  kind: action
  command: "DPOF{value}"
  params:
    - name: value
      type: integer
      range: 0-15
- id: setup_dp_reset
  label: DisplayPort Reset
  kind: action
  command: "DPRS0001"
  params: []
- id: setup_audio_select_hdmi1
  label: AUDIO SELECT HDMI1
  kind: action
  command: "ASHP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "HDMI"
        "1": "AUDIO"
- id: setup_audio_select_hdmi2
  label: AUDIO SELECT HDMI2
  kind: action
  command: "AH2P{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "HDMI"
        "1": "AUDIO"
- id: setup_audio_select_dp
  label: AUDIO SELECT DisplayPort
  kind: action
  command: "ASDI{value}"
  params:
    - name: value
      type: integer
      values: [1, 3]
      meanings:
        "1": "AUDIO"
        "3": "DisplayPort"
- id: setup_audio_select_option
  label: AUDIO SELECT OPTION
  kind: action
  command: "ASOP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OPTION"
        "1": "AUDIO (when OPTION expansion present)"
- id: setup_audio_output
  label: AUDIO OUTPUT
  kind: action
  command: "AOUT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "VARIABLE1"
        "1": "FIXED"
        "2": "VARIABLE2"
- id: setup_audio_input_level
  label: AUDIO INPUT LEVEL
  kind: action
  command: "AIVP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "1.0Vrms"
        "1": "0.5Vrms"
- id: setup_monaural_audio
  label: MONAURAL AUDIO
  kind: action
  command: "MONO{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_start_input
  label: START INPUT MODE
  kind: action
  command: "SUIM{value}"
  params:
    - name: value
      type: integer
      values: [1, 2, 3, 4, 6, 7, 10]
      meanings:
        "1": "LAST INPUT MODE"
        "2": "DisplayPort"
        "3": "HDMI1"
        "4": "HDMI2"
        "6": "DVI-D"
        "7": "D-SUB"
        "10": "OPTION"
- id: setup_rs232_lan_select
  label: RS-232C/LAN SELECT
  kind: action
  command: "CTLS{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "RS-232C"
        "1": "LAN"
- id: setup_baud_rate
  label: BAUD RATE
  kind: action
  command: "BAUD{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "9600bps"
        "1": "19200bps"
        "2": "38400bps"
- id: setup_crestron_connected
  label: Crestron Connected
  kind: action
  command: "CRCN{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: setup_id_set
  label: ID No. SET
  kind: action
  command: "IDST{value}"
  params:
    - name: value
      type: integer
      range: 0-255
      notes: "0 = no ID"
- id: setup_id_query
  label: ID No. Query
  kind: query
  command: "IDST    ?"
  notes: "Returns 0-255"
- id: setup_id_once
  label: ID No. SET (ONCE)
  kind: action
  command: "IDSL{value}"
  params:
    - name: value
      type: integer
      range: 0-255
      notes: "0 clears; effective for next single command only"
- id: setup_id_subsequent
  label: ID No. SET (SUBSEQUENT)
  kind: action
  command: "IDLK{value}"
  params:
    - name: value
      type: integer
      range: 0-255
      notes: "0 clears; effective until canceled or power off"
- id: setup_id_check
  label: ID CHECK
  kind: query
  command: "IDCK0000"
  notes: "Returns ID:xxx IDLK:yyy"
- id: setup_id_display
  label: ID DISPLAY
  kind: action
  command: "IDDP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "ON"
        "2": "ON (auto-OFF after 4 sec, also shows IP and MAC)"
- id: setup_remote_number
  label: REMOTE No.
  kind: action
  command: "RCNO{value}"
  params:
    - name: value
      type: integer
      range: 0-9
- id: setup_copy_to_id
  label: COPY TO ID No.
  kind: action
  command: "CPMD{value}"
  params:
    - name: value
      type: integer
      range: 0-255
      notes: "0 = all monitors; 1-255 = specific ID"
- id: setup_copy_target
  label: COPY SETTING VALUE TARGET
  kind: action
  command: "CPTG{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "PICTURE menu only"
        "1": "All settings"
- id: setup_supply_usb_power
  label: SUPPLY USB POWER
  kind: action
  command: "PWSP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "POWER ON ONLY"
        "1": "ALWAYS"
  notes: "ERR on POWER SAVE MODE=ON when set to ALWAYS"

# MONITOR menu
- id: monitor_orientation
  label: PORTRAIT/LANDSCAPE
  kind: action
  command: "STDR{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "LANDSCAPE"
        "1": "PORTRAIT"
- id: monitor_horizontal_install
  label: HORIZONTAL INSTALLATION
  kind: action
  command: "MLAY{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "UPWARD"
        "2": "DOWNWARD"
- id: monitor_rotate_180
  label: ROTATE 180°
  kind: action
  command: "PFIL{value}"
  params:
    - name: value
      type: integer
      values: [0, 3]
      meanings:
        "0": "OFF"
        "3": "ON"
  notes: "ERR unless PIP MODES = OFF"
- id: monitor_osd_hpos
  label: OSD H-POSITION
  kind: action
  command: "OSDH{value}"
  params:
    - name: value
      type: integer
      range: 0-100
  notes: "ERR when STDR=PORTRAIT"
- id: monitor_osd_vpos
  label: OSD V-POSITION
  kind: action
  command: "OSDV{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: monitor_power_save
  label: POWER SAVE MODE
  kind: action
  command: "STBM{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
  notes: "ERR when PWSP=ALWAYS"
- id: monitor_off_if_no_op_set
  label: OFF IF NO OPERATION (SET)
  kind: action
  command: "ATOF{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: monitor_off_if_no_op_time
  label: OFF IF NO OPERATION (TIME)
  kind: action
  command: "AOFT{value}"
  params:
    - name: value
      type: integer
      range: 1-12
      notes: "1-12 hours"
- id: monitor_power_on_delay_set
  label: POWER ON DELAY (SET)
  kind: action
  command: "PODS{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: monitor_power_on_delay_interval
  label: POWER ON DELAY (INTERVAL)
  kind: action
  command: "PWOD{value}"
  params:
    - name: value
      type: integer
      range: 1-60
      notes: "1-60 seconds"
- id: monitor_self_adjust
  label: SELF ADJUST
  kind: action
  command: "AADJ{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: monitor_self_adjust_start_timing
  label: SELF ADJUST START TIMING
  kind: action
  command: "AADD{value}"
  params:
    - name: value
      type: integer
      range: 10-200
      notes: "10=1s .. 200=20s"

# MULTI / PIP menu
- id: multi_enlarge
  label: ENLARGE
  kind: action
  command: "ENLG{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_enlarge_mode
  label: ENLARGE MODE
  kind: action
  command: "EMAG{value}"
  params:
    - name: value
      type: integer
      values: [1, 2, 3, 4]
      meanings:
        "1": "2 x 2"
        "2": "3 x 3"
        "3": "4 x 4"
        "4": "5 x 5"
- id: multi_enlarge_mn
  label: ENLARGE MODE (M x N)
  kind: action
  command: "EMHV{value}"
  params:
    - name: value
      type: string
      pattern: "12(21)-55"
      notes: "1x2 (2x1) up to 5x5; mn encoded as 2 digits (m longest, n shortest)"
- id: multi_image_pos_mn
  label: IMAGE POSITION (M x N)
  kind: action
  command: "EPHV{value}"
  params:
    - name: value
      type: string
      pattern: "11-55"
- id: multi_image_pos_2x2
  label: IMAGE POSITION (2 x 2)
  kind: action
  command: "EPOS000{value}"
  params:
    - name: value
      type: integer
      range: 0-3
- id: multi_image_pos_3x3
  label: IMAGE POSITION (3 x 3)
  kind: action
  command: "EPOS000{value}"
  params:
    - name: value
      type: integer
      range: 0-8
- id: multi_image_pos_4x4
  label: IMAGE POSITION (4 x 4)
  kind: action
  command: "EPOS00{value}"
  params:
    - name: value
      type: integer
      range: 0-15
- id: multi_image_pos_5x5
  label: IMAGE POSITION (5 x 5)
  kind: action
  command: "EPOS00{value}"
  params:
    - name: value
      type: integer
      range: 0-24
- id: multi_eps_h
  label: ENLARGED SCREEN POSITIONING (Longest)
  kind: action
  command: "EPSH{value}"
  params:
    - name: value
      type: integer
      range: -999-999
- id: multi_eps_v
  label: ENLARGED SCREEN POSITIONING (Shortest)
  kind: action
  command: "EPSV{value}"
  params:
    - name: value
      type: integer
      range: -999-999
- id: multi_bezel_adjust
  label: BEZEL ADJUST
  kind: action
  command: "BZCO{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_bezel_top
  label: BEZEL ADJUST TOP
  kind: action
  command: "BZCT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_bezel_bottom
  label: BEZEL ADJUST BOTTOM
  kind: action
  command: "BZCB{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_bezel_right
  label: BEZEL ADJUST RIGHT
  kind: action
  command: "BZCR{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_bezel_left
  label: BEZEL ADJUST LEFT
  kind: action
  command: "BZCL{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: multi_bezel_width_top
  label: BEZEL WIDTH TOP
  kind: action
  command: "BZWT{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: multi_bezel_width_bottom
  label: BEZEL WIDTH BOTTOM
  kind: action
  command: "BZWB{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: multi_bezel_width_right
  label: BEZEL WIDTH RIGHT
  kind: action
  command: "BZWR{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: multi_bezel_width_left
  label: BEZEL WIDTH LEFT
  kind: action
  command: "BZWL{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: multi_enlarge_pos_set
  label: ENLARGE / IMAGE POSITION COMBINED
  kind: action
  command: "ESTG{value}"
  params:
    - name: value
      type: string
      pattern: "XXYY"
      notes: "XX = ENLARGE MODE; YY = IMAGE POSITION"
- id: multi_enlarge_pos_set_mn
  label: ENLARGE / IMAGE POSITION COMBINED (M x N)
  kind: action
  command: "ESHV{value}"
  params:
    - name: value
      type: string
      pattern: "XXYY"
      notes: "XX = ENLARGE M x N; YY = IMAGE POSITION"
- id: pip_mode
  label: PIP MODES
  kind: action
  command: "MWIN{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2, 3]
      meanings:
        "0": "OFF"
        "1": "PIP"
        "2": "PbyP"
        "3": "PbyP2"
- id: pip_size
  label: PIP SIZE
  kind: action
  command: "MPSZ{value}"
  params:
    - name: value
      type: integer
      range: 1-64
- id: pip_pos_longest
  label: PIP POS Longest Direction
  kind: action
  command: "MHPS{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: pip_pos_longest_query
  label: PIP POS Longest Direction Query
  kind: query
  command: "MHPS    ?"
- id: pip_pos_shortest
  label: PIP POS Shortest Direction
  kind: action
  command: "MVPS{value}"
  params:
    - name: value
      type: integer
      range: 0-100
- id: pip_pos_shortest_query
  label: PIP POS Shortest Direction Query
  kind: query
  command: "MVPS    ?"
- id: pip_pos_batch
  label: PIP POS Batch (Longest+Shortest)
  kind: action
  command: "MPOS{xxx}{yyy}"
  params:
    - name: xxx
      type: integer
      range: 0-100
    - name: yyy
      type: integer
      range: 0-100
- id: pip_pos_batch_query
  label: PIP POS Batch Query
  kind: query
  command: "MPOS    ?"
  notes: "Returns xxx,yyy"
- id: pip_blend
  label: PIP BLEND
  kind: action
  command: "MWBL{value}"
  params:
    - name: value
      type: integer
      range: 0-7
- id: pip_source
  label: PIP SOURCE
  kind: action
  command: "MWIP{value}"
  params:
    - name: value
      type: integer
      values: [1, 2, 3, 10, 13, 14, 21]
      meanings:
        "1": "DVI-D"
        "2": "D-SUB[RGB]"
        "3": "D-SUB[COMPONENT]"
        "10": "HDMI1"
        "13": "HDMI2"
        "14": "DisplayPort"
        "21": "OPTION (when expansion present)"
- id: pip_sound_change
  label: SOUND CHANGE
  kind: action
  command: "MWAD{value}"
  params:
    - name: value
      type: integer
      values: [1, 2]
      meanings:
        "1": "MAIN"
        "2": "SUB"
- id: pip_main_pos
  label: MAIN POS (Main screen)
  kind: action
  command: "MWPP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "POS1"
        "1": "POS2"
- id: pip_pbyP2_pos
  label: PbyP2 POS (Sub screen)
  kind: action
  command: "MW2P{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "POS1"
        "1": "POS2"
        "2": "POS3"

# OTHERS menu
- id: others_screen_motion_pattern
  label: SCREEN MOTION Pattern
  kind: action
  command: "SCSV{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2, 3, 4]
      meanings:
        "0": "OFF"
        "1": "PATTERN1"
        "2": "PATTERN2"
        "3": "PATTERN3"
        "4": "PATTERN4"
- id: others_motion_time1
  label: SCREEN MOTION TIME 1
  kind: action
  command: "MTIM{value}"
  params:
    - name: value
      type: integer
      range: 0-20
- id: others_motion_time2_p1
  label: SCREEN MOTION TIME 2 (PATTERN1)
  kind: action
  command: "MINT{value}"
  params:
    - name: value
      type: integer
      range: 10-990
      notes: "Per 10 seconds"
- id: others_motion_time2_p234
  label: SCREEN MOTION TIME 2 (PATTERN2-4)
  kind: action
  command: "MINT{value}"
  params:
    - name: value
      type: integer
      range: 5-20
      notes: "Per second"
- id: others_power_management
  label: POWER MANAGEMENT
  kind: action
  command: "PMNG{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: others_auto_input_connect
  label: CONNECT AUTO INPUT SELECT
  kind: action
  command: "AICO{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: others_no_signal_auto_input
  label: NO SIGNAL AUTO INPUT SEL.
  kind: action
  command: "AINO{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: others_auto_input_priority_dp
  label: AUTO INPUT SELECT PRIORITY DisplayPort
  kind: action
  command: "APDP{value}"
  params:
    - name: value
      type: integer
      range: 0-10
      notes: "0=not selected; 1-10=priority; ERR if AINO=OFF"
- id: others_auto_input_priority_hdmi1
  label: AUTO INPUT SELECT PRIORITY HDMI1
  kind: action
  command: "APH1{value}"
  params:
    - name: value
      type: integer
      range: 0-10
- id: others_auto_input_priority_hdmi2
  label: AUTO INPUT SELECT PRIORITY HDMI2
  kind: action
  command: "APH2{value}"
  params:
    - name: value
      type: integer
      range: 0-10
- id: others_auto_input_priority_dvid
  label: AUTO INPUT SELECT PRIORITY DVI-D
  kind: action
  command: "APDV{value}"
  params:
    - name: value
      type: integer
      range: 0-10
- id: others_auto_input_priority_dsub
  label: AUTO INPUT SELECT PRIORITY D-SUB
  kind: action
  command: "APD1{value}"
  params:
    - name: value
      type: integer
      range: 0-10
- id: others_auto_input_priority_option
  label: AUTO INPUT SELECT PRIORITY OPTION
  kind: action
  command: "APOP{value}"
  params:
    - name: value
      type: integer
      range: 0-10
  notes: "ERR if non-target OPTION board present"
- id: others_logo_screen
  label: LOGO SCREEN
  kind: action
  command: "BTSC{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: others_scan_mode
  label: SCAN MODE
  kind: action
  command: "SCAN{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "MODE1"
        "1": "MODE2"
        "2": "MODE3"
  notes: "Applies to HDMI1/HDMI2/D-SUB[COMPONENT]/OPTION"

# FUNCTION menu
- id: function_all_reset
  label: ALL RESET
  kind: action
  command: "RSET{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "ALL RESET 1 (initializes e-mail/personal info)"
        "1": "ALL RESET 2 (does not initialize e-mail)"
- id: function_adjustment_lock
  label: ADJUSTMENT LOCK
  kind: action
  command: "ALCK{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "ON1"
        "2": "ON2"
- id: function_adjustment_lock_target
  label: ADJUSTMENT LOCK TARGET
  kind: action
  command: "ALTG{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "REMOTE CONTROL"
        "1": "MONITOR BUTTONS"
        "2": "BOTH"
- id: function_osd_display
  label: OSD DISPLAY
  kind: action
  command: "LOSD{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "ON1"
        "1": "OFF"
        "2": "ON2"
- id: function_led
  label: LED
  kind: action
  command: "OFLD{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "ON"
        "1": "OFF"
- id: function_temperature_alert
  label: TEMPERATURE ALERT
  kind: action
  command: "TALT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "OSD & LED"
        "2": "LED"
- id: function_status_alert
  label: STATUS ALERT
  kind: action
  command: "SALT{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2]
      meanings:
        "0": "OFF"
        "1": "OSD & LED"
        "2": "LED"
- id: function_power_button
  label: POWER BUTTON
  kind: action
  command: "PBTN{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "MONITOR"
        "1": "EXT. CONTROLLER"
- id: function_external_controller_input
  label: EXTERNAL CONTROLLER INPUT
  kind: action
  command: "PCIP{value}"
  params:
    - name: value
      type: integer
      values: [0, 1, 2, 3, 4]
      meanings:
        "0": "D-SUB"
        "1": "DisplayPort"
        "2": "HDMI1"
        "3": "HDMI2"
        "4": "DVI-D"
  notes: "ERR when PBTN=MONITOR"
- id: function_signal_response_level
  label: SIGNAL RESPONSE LEVEL
  kind: action
  command: "HDUC{value}"
  params:
    - name: value
      type: integer
      range: 1-200

# Other frequently-used commands
- id: wide_screen_size
  label: SCREEN SIZE
  kind: action
  command: "WIDE{value}"
  params:
    - name: value
      type: integer
      values: [1, 2, 3, 4, 5]
      meanings:
        "1": "WIDE"
        "2": "NORMAL"
        "3": "Dot by Dot"
        "4": "ZOOM1"
        "5": "ZOOM2"
- id: volume
  label: VOLUME
  kind: action
  command: "VOLM{value}"
  params:
    - name: value
      type: integer
      range: 0-31
- id: mute
  label: MUTE AUDIO
  kind: action
  command: "MUTE{value}"
  params:
    - name: value
      type: integer
      values: [0, 1]
      meanings:
        "0": "OFF"
        "1": "ON"
- id: model_query
  label: Model Information
  kind: query
  command: "INF1    ?"
  notes: "Returns model value"
- id: serial_query
  label: Serial Number
  kind: query
  command: "SRNO    ?"
  notes: "Returns serial value"
- id: temperature_status
  label: Temperature Sensor Status
  kind: query
  command: "DSTA    ?"
  reply_values: [0, 1, 2, 3, 4]
  reply_meanings:
    0: Internal temperature normal
    1: Internal temperature abnormal - monitor in standby
    2: Internal temperature abnormal occurred (cleared by main power off)
    3: Internal temperature abnormal - backlight dimmed
    4: Temperature sensor abnormal
- id: temperature_acquisition
  label: Temperature Acquisition
  kind: query
  command: "ERRT    ?"
  notes: "Returns raw value; 126 indicates sensor abnormality"
- id: standby_cause_init
  label: Standby Cause Initialize
  kind: action
  command: "STCA0000"
  params: []
- id: standby_cause_query
  label: Standby Cause Query
  kind: query
  command: "STCA    ?"
  reply_values: [0, 1, 2, 3, 4, 6, 8, 9, 10, 20]
  reply_meanings:
    0: No detectable error
    1: Standby by POWER button
    2: Main power off
    3: Standby by RS-232C or LAN
    4: Input signal waiting mode
    6: Standby by abnormal temperature
    8: Standby by SCHEDULE
    9: Standby by DDC/CI
    10: Standby by HDMI CEC
    20: Standby by OFF IF NO OPERATION

# GAMMA user data commands
- id: gamma_red_write
  label: RED GAMMA Data Transfer
  kind: action
  command: "UGRW{aa}{xxxx...xxxx}{cc}"
  params:
    - name: aa
      type: string
      pattern: "01-16"
      notes: Block number
    - name: xxxx
      type: string
      pattern: "0000-1023"
      notes: "32 pieces of user data, 4 digits each"
    - name: cc
      type: string
      pattern: "00-FF"
      notes: "ASCII hex checksum = sum of block number + user data, low byte"
- id: gamma_green_write
  label: GREEN GAMMA Data Transfer
  kind: action
  command: "UGGW{aa}{xxxx...xxxx}{cc}"
  params:
    - name: aa
      type: string
      pattern: "01-16"
    - name: xxxx
      type: string
      pattern: "0000-1023"
      notes: "32 pieces of user data, 4 digits each"
    - name: cc
      type: string
      pattern: "00-FF"
- id: gamma_blue_write
  label: BLUE GAMMA Data Transfer
  kind: action
  command: "UGBW{aa}{xxxx...xxxx}{cc}"
  params:
    - name: aa
      type: string
      pattern: "01-16"
    - name: xxxx
      type: string
      pattern: "0000-1023"
      notes: "32 pieces of user data, 4 digits each"
    - name: cc
      type: string
      pattern: "00-FF"
- id: gamma_red_read
  label: RED GAMMA Data Read
  kind: action
  command: "UGRR{aa}"
  params:
    - name: aa
      type: integer
      range: 1-16
      notes: "Returns 32 values per block; 16 blocks cover 512 pieces"
- id: gamma_green_read
  label: GREEN GAMMA Data Read
  kind: action
  command: "UGGR{aa}"
  params:
    - name: aa
      type: integer
      range: 1-16
- id: gamma_blue_read
  label: BLUE GAMMA Data Read
  kind: action
  command: "UGBR{aa}"
  params:
    - name: aa
      type: integer
      range: 1-16
- id: gamma_user_init
  label: USER DATA Initialize
  kind: action
  command: "UGRS0000"
  params: []
- id: gamma_user_save
  label: USER DATA Save
  kind: action
  command: "UGSV0000"
  params: []

Feedbacks

- id: power_state
  type: enum
  values: [0, 1, 2]
  meanings:
    0: Standby mode
    1: Normal mode
    2: Input signal waiting mode
- id: input_state
  type: enum
  values: [1, 2, 3, 10, 13, 14, 21]
  meanings:
    1: DVI-D
    2: D-SUB[RGB]
    3: D-SUB[COMPONENT]
    10: HDMI1
    13: HDMI2
    14: DisplayPort
    21: OPTION
- id: temperature_state
  type: enum
  values: [0, 1, 2, 3, 4]
  meanings:
    0: Internal temperature normal
    1: Internal temperature abnormal - standby
    2: Internal temperature abnormal occurred
    3: Internal temperature abnormal - backlight dimmed
    4: Temperature sensor abnormal
- id: standby_cause
  type: enum
  values: [0, 1, 2, 3, 4, 6, 8, 9, 10, 20]
  meanings:
    0: No detectable error
    1: Standby by POWER button
    2: Main power off
    3: Standby by RS-232C or LAN
    4: Input signal waiting mode
    6: Standby by abnormal temperature
    8: Standby by SCHEDULE
    9: Standby by DDC/CI
    10: Standby by HDMI CEC
    20: Standby by OFF IF NO OPERATION
- id: response_ok
  type: string
  values: ["OK"]
  notes: "Returned after successful command execution. With ID set: 'OK SPC nnn'"
- id: response_err
  type: string
  values: ["ERR"]
  notes: "Returned for invalid command or unsupported state. With ID set: 'ERR SPC nnn'"
- id: response_wait
  type: string
  values: ["WAIT"]
  notes: "Returned when command requires processing time. See source for triggering commands."
- id: response_locked
  type: string
  values: ["LOCKED"]
  notes: "Returned when RS-232C control is locked via operation lock function"

Variables

# Additional settable parameters beyond discrete actions. Most settings are covered
# by their own dedicated actions above; this section flags the read/write pairs
# that are parameterized ranges rather than single-shot commands.
- id: volume
  type: integer
  range: 0-31
  command: "VOLM{value}"
- id: brightness_vlmp
  type: integer
  range: 0-31
  command: "VLMP{value}"
- id: contrast
  type: integer
  range: 0-60
  command: "CONT{value}"
- id: black_level
  type: integer
  range: 0-60
  command: "BLVL{value}"
- id: tint
  type: integer
  range: 0-60
  command: "TINT{value}"
- id: color
  type: integer
  range: 0-60
  command: "COLR{value}"
- id: sharpness
  type: integer
  range: 0-24
  command: "SHRP{value}"
- id: treble
  type: integer
  range: -5-5
  command: "AUTR{value}"
- id: bass
  type: integer
  range: -5-5
  command: "AUBS{value}"
- id: balance
  type: integer
  range: -10-10
  command: "AUBL{value}"
- id: monitor_id
  type: integer
  range: 0-255
  command: "IDST{value}"
  notes: "0 = no ID"
- id: clock
  type: integer
  range: 0-1200
  command: "CLCK{value}"
  notes: "D-SUB[RGB] only"
- id: phase
  type: integer
  range: 0-63
  command: "PHSE{value}"
  notes: "D-SUB[RGB] only"

Events

# Per source, the monitor also sends "WAIT" as a non-final reply while long-running
# commands (repeater control, IDSL/IDLK, RSET, INPS, ASNC, WIDE, EMAG, EPOS, PXSL,
# POWR, AGIN, MWIN, MWIP, MWPP, ESTG, EMHV, EPHV, ESHV, ENLG, DPST) are processing,
# and "LOCKED" when RS-232C is operation-locked. No unsolicited push events from
# the monitor are documented in the source.
- id: wait_event
  description: "Reply indicating command processing in progress; expect a follow-up OK/ERR or value response."
  payload: "WAIT\\r\\n"
- id: locked_event
  description: "Reply indicating RS-232C control is locked via operation lock function."
  payload: "LOCKED\\r\\n"

Macros

# Repeater control macro: append "+" as fourth character of parameter to broadcast
# the command to all monitors on the daisy chain. Each monitor then replies in
# sequence with its ID. Source: see "Repeater control" section.
- id: repeater_broadcast
  description: "Broadcast a command to every monitor on the daisy chain"
  command_template: "{command_field}{block+}{value}+"
  notes: "Parameter format: 4 chars total with '+' as 4th char; example 'VOLM030+'. Each monitor replies 'OK nnn' sequentially."
- id: idlk_subsequent
  description: "Lock subsequent commands to a specific monitor ID until cleared or powered off"
  command_template: "IDLK{nnn} → command sequence → IDLK0000"
  notes: "Use IDST to discover current IDs. WAIT is returned while searching for the target monitor."
- id: idsl_once
  description: "Target the next single command to a specific monitor ID"
  command_template: "IDSL{nnn} → command"
  notes: "Effective only for the immediately succeeding command."

Safety

confirmation_required_for:
  - RSET  # ALL RESET wipes settings; ALL RESET 1 also clears e-mail/personal info
  - PWSP  # setting SUPPLY USB POWER to ALWAYS conflicts with POWER SAVE MODE
  - STBM  # POWER SAVE MODE conflicts with PWSP=ALWAYS
interlocks:
  - "RS-232C and LAN control are mutually exclusive (RS-232C/LAN SELECT setting)"
  - "DPST (DisplayPort MST) ERR unless PIP MODES = OFF"
  - "PFIL (ROTATE 180) ERR unless PIP MODES = OFF"
  - "OSDH ERR when STDR = PORTRAIT"
  - "PBTN=EXT. CONTROLLER requires PCIP to select valid input; PCIP ERR when PBTN=MONITOR"
  - "APOP/auto-input-priority commands ERR when applicable OPTION board not present"
  - "INPS ERR for D-SUB mode if INPUT SELECT not set to that terminal"
# UNRESOLVED: no explicit safety warnings, hazard procedures, or power-on sequencing
# requirements are documented in the source beyond the menu-level interlocks above.

Notes

  • Command format: 4-character ASCII command field + 4-character parameter field, terminated by CR+LF (0x0D 0x0A). Parameters must be space-padded to 4 characters (except MPOS, DATE, SC01-SC08, UGRW, UGGW, UGBW, which use specified fixed-width formats).
  • Baud rate: factory default 38400 bps; can be switched between 9600 / 19200 / 38400 via the SETUP menu (command BAUD). PC must match.
  • Daisy chain: up to 25 monitors per chain. Timeout for commands must scale with chain position (10s × monitor position). 100 ms minimum interval between command and next transmission.
  • Repeater control: append "+" as the 4th character of the parameter (e.g. VOLM030+) to broadcast to all monitors; each replies with its assigned ID.
  • ID control: use IDST to assign/read, IDLK for persistent targeting, IDSL for one-shot targeting. IDCK displays current ID + IDLK on screen. Repeater control cancels active IDSL/IDLK.
  • LAN control: HTTP web UI on port 80 with Basic auth (default admin/admin). Telnet-style command-based control on the DATA PORT (configurable 1025-65535, default 1025 per spec, source says "specify 1025 to 65535"). The same RS-232C ASCII command set applies over the LAN socket. Login: Login:, send username , then password , then commands, then BYE to disconnect.
  • 100 ms minimum inter-command delay on both RS-232 and LAN. WAIT responses must be retried (do not send new commands during WAIT). Plan 30 s timeout for ALL RESET and (POWER ON DELAY period + 10 s) timeout when delay feature is active.
  • Web UI side-features documented: SNMP, SMTP/periodical e-mail, URL information on error, security (user/password, IP accept list, Telnet auth), AUTO LOGOUT TIME, search port, link mode, monitor name.
  • Pinout: D-Sub 9 RS-232C input (pin 2 TXD, 3 RXD, 5 GND; other pins N.C.). Output mirrors swapped (pin 2 RXD, 3 TXD). LAN: 10BASE-T/100BASE-TX.
  • Compatible models: PN-R426, PN-R496, PN-R556, PN-R606, PN-R706 (per source heading and URL slug). Behavior assumed uniform across the family; source does not differentiate per model.

Provenance

source_domains:
  - sharp.ca
  - business.sharpusa.com
  - assets.sharpnecdisplays.us
source_urls:
  - https://sharp.ca/uploads/product_downloads/PNR426_496_556_606_706_OM.pdf
  - https://business.sharpusa.com/portals/0/downloads/Manuals/PN_R556_PN_R496_PN_R426_Operation_Manual.pdf
  - https://sharp.ca/uploads/product_downloads/PNR426_496_556_606_706_SM_00ZPNR556SM5E.pdf
  - https://assets.sharpnecdisplays.us/documents/usermanuals/pn-pxx6_pn-mxx2_s_format_external_control_manual.pdf
retrieved_at: 2026-05-13T20:40:30.762Z
last_checked_at: 2026-06-02T07:06:36.953Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T07:06:36.953Z
matched_actions: 204
action_count: 204
confidence: medium
summary: "All 204 spec actions map to wire-literal commands present in the source command table; all 174 source mnemonics are covered; transport values match. (3 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "device firmware version range compatibility not stated in source"
- "no explicit safety warnings, hazard procedures, or power-on sequencing"
- "firmware version compatibility ranges not stated in source. UNRESOLVED: voltage/current/power specifications not stated in source. UNRESOLVED: explicit safety warnings or hazard procedures not present in source."

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