Summary

Control spec for the Lumens OIP-D40E/D40D AV-over-IP encoder/decoder pair, covering Telnet (TCP/IP) CLI control of video wall presets, input/output routing, decoder display settings (HDR, CEC, rotate, resolution, video mute), audio routing, macros, and device reboot. Commands are ASCII strings terminated by a carriage return and are not case-sensitive.

Transport

protocols:
  - tcp
  - serial  # stated in source title "Telnet_RS-232 command set"; only Telnet procedure described in body
addressing:
  port: 23  # from source example: "telnet 192.168.1.50 23"
serial:
  baud_rate: null  # UNRESOLVED: not stated in source
  data_bits: null  # UNRESOLVED: not stated in source
  parity: null  # UNRESOLVED: not stated in source
  stop_bits: null  # UNRESOLVED: not stated in source
  flow_control: null  # UNRESOLVED: not stated in source
auth:
  type: none  # inferred: no auth procedure in source

Traits

- routable  # inferred from routing command examples (set out N1 route N2, set all out route N1, audio/IR/CEC routing)

Actions

# Note: source shows commands are not case-sensitive and must be terminated with a carriage return.
# Two source rows spelled "set video wall preset N1 N2" / "Set video wall preset N1 N2" are merged
# below (same command, case variant). "set N1 system reboot" appears twice as separate rows
# (Decoder rx range / Encoder tx range) and is kept as two actions.

- id: video_wall_preset_execute
  label: Execute Video Wall Preset
  kind: action
  command: "set video wall preset {n1} {n2}"
  params:
    - name: n1
      type: integer
      description: "Video wall group ID / preset number (1~128)"
    - name: n2
      type: integer
      description: "Encoder ID (1~128, tx)"

- id: video_wall_preset_blank
  label: Video Wall Preset Blank Screen
  kind: action
  command: "set video wall preset {n1} mute {s1}"
  params:
    - name: n1
      type: integer
      description: "Video wall preset number"
    - name: s1
      type: integer
      description: "0 = Normal, 1 = Blank screen (sets Decoder N1 blank)"

- id: factory_default
  label: Reset to Factory Defaults
  kind: action
  command: "set factory default"
  params: []

- id: system_reboot
  label: Reboot Unit
  kind: action
  command: "set system reboot"
  params: []

- id: macro_run
  label: Run Macro
  kind: action
  command: "set macro {n1} run"
  params:
    - name: n1
      type: integer
      description: "Macro ID (1~16)"

- id: out_route
  label: Route Input to Output
  kind: action
  command: "set out {n1} route {n2}"
  params:
    - name: n1
      type: integer
      description: "Output number (1,2,3...)"
    - name: n2
      type: integer
      description: "Input number (1,2,3...)"

- id: all_rx_system_reboot
  label: Reboot All Decoders
  kind: action
  command: "set all rx system reboot"
  params: []

- id: decoder_system_reboot
  label: Reboot Decoder
  kind: action
  command: "set {n1} system reboot"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"

- id: decoder_hdr_set
  label: Set Decoder HDR Mode
  kind: action
  command: "set {n1} hdr {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "0 = Off, 1 = On"

- id: decoder_cec_set
  label: Set Decoder CEC Mode
  kind: action
  command: "set {n1} cec {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "0 = Off, 1 = On"

- id: decoder_cec_route
  label: Route Decoder CEC From Encoder
  kind: action
  command: "set voip {n1} cec route {n2}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: n2
      type: string
      description: "Encoder ID (tx1~tx128)"

- id: decoder_rotate_set
  label: Set Decoder Rotation
  kind: action
  command: "set {n1} rotate {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "1 = 0 degrees, 2 = 180 degrees, 3 = 270 degrees"

- id: decoder_video_mute_set
  label: Set Decoder Video Mute (Blank Screen)
  kind: action
  command: "set {n1} video mute {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "0 = Off, 1 = On"

- id: decoder_video_wall_stretch_set
  label: Set Decoder Video Wall Stretch Mode
  kind: action
  command: "set {n1} video wall stretch {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "1 = Stretch Out, 2 = Fit In"

- id: decoder_resolution_set
  label: Set Decoder Output Resolution
  kind: action
  command: "set {n1} resolution {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: s1
      type: integer
      description: "1 = Pass Through, 2 = Native, 3 = 640x480p60, 4 = 800x600p60, 5 = 1024x768p60, 6 = 1280x768p60, 7 = 1280x800p60, 8 = 1280x1024p60, 9 = 1360x768p60, 10 = 1366x768p60, 11 = 1440x900p60, 12 = 1400x1050p60, 13 = 1600x900p60, 14 = 1600x1200p60, 15 = 1680x1050p60, 16 = 1920x1200p60, 17 = 480i60, 18 = 576i50, 19 = 480p60, 20 = 576p50, 21 = 720p25, 22 = 720p30, 23 = 720p50, 24 = 720p60, 25 = 1080i50, 26 = 1080i60, 27 = 1080p24, 28 = 1080p25, 29 = 1080p30, 30 = 1080p50, 31 = 1080p60, 32 = 3840x2160p24, 33 = 3840x2160p25, 34 = 3840x2160p30"

- id: all_out_route
  label: Route Input to All Outputs
  kind: action
  command: "set all out route {n1}"
  params:
    - name: n1
      type: integer
      description: "Input number (1,2,3...)"

- id: all_voip_ir_route
  label: Route IR Input to All AVoIP IR Outputs
  kind: action
  command: "set all voip ir route {n1}"
  params:
    - name: n1
      type: string
      description: "Encoder ID (tx1~tx128, IR input)"

- id: all_tx_system_reboot
  label: Reboot All Encoders
  kind: action
  command: "set all tx system reboot"
  params: []

- id: encoder_system_reboot
  label: Reboot Encoder
  kind: action
  command: "set {n1} system reboot"
  params:
    - name: n1
      type: string
      description: "Encoder ID (tx1~tx128)"

- id: audio_route
  label: Route Encoder Audio Input to Decoder Audio Output
  kind: action
  command: "set voip {n1} audio out o1 route {n2} {s1}"
  params:
    - name: n1
      type: string
      description: "Decoder ID (rx1~rx256)"
    - name: n2
      type: string
      description: "Encoder ID (tx1~tx128)"
    - name: s1
      type: integer
      description: "1 = HDMI audio input, 2 = Analog audio input. Source note: 'The values for S1 and S2 must match' (S2 is not defined in source)."

- id: all_voip_audio_route
  label: Route Encoder Audio Input to All Decoder Audio Outputs
  kind: action
  command: "set all voip audio out o1 route {n1} {s1}"
  params:
    - name: n1
      type: string
      description: "Encoder ID (tx1~tx128)"
    - name: s1
      type: integer
      description: "1 = HDMI audio input, 2 = Analog audio input. Source note: 'The values for S1 and S2 must match' (S2 is not defined in source)."

- id: encoder_audio_source_set
  label: Set Encoder Audio Input Source
  kind: action
  command: "set {n1} audio source {s1}"
  params:
    - name: n1
      type: string
      description: "Encoder ID (tx1~tx128)"
    - name: s1
      type: integer
      description: "1 = Auto, 2 = HDMI, 3 = Analog"

Feedbacks

- id: ok_ack
  type: string
  description: "Device returns 'OK' after a successful command (shown as '[OK]' appended to each command in the source)."
# UNRESOLVED: no other response formats, error responses, or query responses documented in source

Variables

# UNRESOLVED: no settable parameters outside discrete commands documented in source

Events

# UNRESOLVED: no unsolicited notifications documented in source

Macros

# UNRESOLVED: source documents a macro execution command (set macro N1 run, N1 = 1~16)
# but defines no multi-step macro sequences

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source

Notes

  • Commands must be followed by a carriage return to execute; commands are not case-sensitive.
  • By default the unit obtains its LAN 2 IP address via DHCP; check the unit's HDMI status display for the current address. Changing the unit's IP address changes the Telnet address accordingly.
  • Port 23 taken from the source's Telnet example ("telnet 192.168.1.50 23"); the source does not separately state a default port.
  • Source lists "set video wall preset N1 N2" twice with different capitalization and near-identical descriptions (video wall configuration / change video wall image to Encoder); merged into one action here since commands are case-insensitive.
  • Source lists "set N1 system reboot" as two rows (Decoder rx1rx256 and Encoder tx1tx128); kept as two actions with distinct parameter domains.
  • The audio routing commands reference an "S2" parameter in a note ("The values for S1 and S2 must match") that is never defined in the source.

Provenance

source_domains: []
source_urls: []
retrieved_at: 2026-09-23T18:49:13.343Z
last_checked_at: 2026-09-23T18:49:13.343Z

Verification Summary

verdict: verified
checked_at: 2026-09-23T18:49:13.343Z
matched_actions: 22
action_count: 22
confidence: medium
summary: "All 22 spec actions verified in source; spec correctly split one source command for decoder/encoder variants. (13 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "source document is titled \"OIP-D50C Telnet_RS-232 command set\" while the target device is the OIP-D40E/D40D; applicability of this command set to the D40E/D40D is not confirmed within the source."
- "no query/status commands documented in source."
- "no RS-232 serial parameters (baud rate, data bits, parity, stop bits, flow control) documented in source despite \"Telnet_RS-232\" title."
- "not stated in source"
- "no other response formats, error responses, or query responses documented in source"
- "no settable parameters outside discrete commands documented in source"
- "no unsolicited notifications documented in source"
- "source documents a macro execution command (set macro N1 run, N1 = 1~16)"
- "no safety warnings or interlock procedures in source"
- "source document titled \"OIP-D50C Telnet_RS-232 command set\" — model applicability to OIP-D40E/D40D unverified."
- "firmware version compatibility not stated in source."
- "RS-232 serial parameters not stated in source."
- "error/fault behavior and command response timing not stated in source."
- "model-specific source not located"

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