Summary

RS-232 / RS-485 / TCP control protocol for the Lumens LC100, LC100N and LC100A media processors (revision 4.0, 2025/06/30). Frame format: 0x55 0xF0 Length Address Action Command Parameters 0x0D with Action byte 0x67=Get, 0x73=Set, 0x06=ACK, 0x15=NAK. TCP port 5080; serial 9600/8/N/1, no flow control. Authentication is UNRESOLVED: the source does not describe an authentication procedure or establish that authentication is absent.

Transport

protocols:
  - serial
  - tcp
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none
addressing:
  port: 5080
auth:
  type: UNRESOLVED  # Source does not establish authentication requirements.

Traits

- powerable       # inferred from PW, SR (standby/wakeup) command examples
- routable        # inferred from input channel / stream / macro / intermission switching commands
- queryable       # inferred from extensive Get-state commands
- levelable       # inferred from AV (audio volume) commands

Actions

# Repaired table-fragment entries retain their existing, non-exempted IDs.
# Two-letter command values are vendor mnemonics; see Notes for frame encoding.

- id: 1_2_3_4_audio_channel_1_audio_channel_2_audio_xlr_audio_line_in_&_usb
  label: Set Audio Vol Input
  kind: action
  command: "AV"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio XLR, 0x34=Audio Line in & USB."
    - name: volume
      type: integer
      description: "Raw volume byte, 0x00~0x7D (0..125)."

- id: command_response_parameter_2_1_2_3_4_audio_channel_1_audio_channel_2_audio_xlr_audio_line_in_&_usb
  label: Get Audio Vol Input
  kind: query
  command: "AV"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio XLR, 0x34=Audio Line in & USB."
  notes: "ACK parameters are direction, channel, volume; volume is 0x00~0x7D. NAK parameters echo direction and channel."

- id: parameter_2_1_2_3_4_audio_channel_1_audio_channel_2_audio_xlr_audio_line_in_&_usb
  label: Set Audio Mute Input
  kind: action
  command: "AM"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio XLR, 0x34=Audio Line in & USB."
    - name: mute
      type: enum
      description: "Encoded byte: 0x30=Audio unmute, 0x31=Audio mute."

- id: parameter_2_1_2_3_4_audio_channel_1,_only_available_0x33_&_0x36_&_0x3a_audio_channel_2,_only_available_0x33_&_0x36_&_0x3a_audio_channel_3,_only_available_0x37_&_0x38_audio_channel_4,_only_available_0x31_&_0x32_&_0x39
  label: Set Audio Type Input
  kind: action
  command: "AT"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio channel 3 (XLR), 0x34=Audio channel 4 (Line in & USB)."
    - name: audio_type
      type: enum
      description: "Encoded byte: 0x31=Line in, 0x32=Mic in, 0x33=HDMI / SDI, 0x36=IP Audio, 0x37=XLR-Line, 0x38=XLR-Mic, 0x39=USB Audio, 0x3A=Follow. Channels 1 and 2 allow only 0x33, 0x36, 0x3A; channel 3 allows only 0x37, 0x38; channel 4 allows only 0x31, 0x32, 0x39."
  notes: "UNRESOLVED: the source example selects channel 1 with type 0x31, contradicting its channel-availability table. No default channel/type pair is established."

- id: parameter_1_s_u_d_l_r_camera_stop_move_camera_move_up_camera_move_down_camera_move_left_camera_move_right
  label: Set Camera Move
  kind: action
  command: "CM"
  params:
    - name: direction
      type: enum
      description: "Encoded byte: 0x53=S=Stop, 0x55=U=Up, 0x44=D=Down, 0x4C=L=Left, 0x52=R=Right."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: speed
      type: integer
      description: "Raw speed byte, 0x01~0x18. The source calls this the percentage of speed without defining a further conversion. May be omitted only for Stop."
  notes: "Length is 0x07 with speed and 0x06 when speed is omitted for Stop."

- id: parameter_1_s_i_o_camera_stop_zoom_camera_zoom_in_camera_zoom_out
  label: Set Camera Zoom
  kind: action
  command: "CZ"
  params:
    - name: direction
      type: enum
      description: "Encoded byte: 0x53=S=Stop, 0x49=I=Zoom in, 0x4F=O=Zoom out."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: speed
      type: integer
      description: "Raw speed byte, 0x01~0x07. The source calls this the percentage of speed without defining a further conversion. May be omitted only for Stop."
  notes: "Length is 0x07 with speed and 0x06 when speed is omitted for Stop."

# 2.3.1 Cmd Power

- id: set_power_off
  label: Set Power Off
  kind: action
  command: "55 F0 05 01 73 50 57 30 0D"
  params: []
  notes: "Hardware limitation: Power-on (PW 0x31) is documented but NOT supported."


- id: set_standby
  label: Set Standby Mode
  kind: action
  command: "55 F0 05 01 73 53 52 31 0D"
  params: []
  notes: "In Standby mode only 'Get State' and 'Set Standby/Wake up' are accepted."


- id: set_wakeup
  label: Wake Up
  kind: action
  command: "55 F0 05 01 73 53 52 32 0D"
  params: []
  notes: "Active only if power mode was Standby."

# 2.3.2 Cmd Record

- id: set_record_start
  label: Set Record Start
  kind: action
  command: "55 F0 04 01 73 52 43 0D"
  params: []


- id: set_record_pause
  label: Set Record Pause
  kind: action
  command: "55 F0 04 01 73 50 53 0D"
  params: []


- id: set_record_resume_pause
  label: Set Record Resume Pause
  kind: action
  command: "55 F0 04 01 73 52 50 0D"
  params: []


- id: set_record_stop
  label: Set Record Stop
  kind: action
  command: "55 F0 04 01 73 53 50 0D"
  params: []


- id: get_record_state
  label: Get Record State
  kind: query
  command: "55 F0 04 01 67 53 54 0D"
  params: []

# 2.3.3 Cmd Theme (Scene)

- id: set_layout
  label: Set Layout
  kind: action
  command: "55 F0 05 01 73 4C 4F {layout_id} 0D"
  params:
    - name: layout_id
      type: integer
      description: Layout ID, 0x01~0x12 (1..18)


- id: set_background
  label: Set Background
  kind: action
  command: "55 F0 05 01 73 42 47 {bg_id} 0D"
  params:
    - name: bg_id
      type: integer
      description: Background ID, 0x00~0x09; 0x00 = Background off


- id: set_overlay
  label: Set Overlay
  kind: action
  command: "55 F0 05 01 73 4F 4C {overlay_id} 0D"
  params:
    - name: overlay_id
      type: integer
      description: Overlay ID, 0x00~0x1e; 0x00 = Overlay off


- id: set_scene
  label: Set Scene
  kind: action
  command: "55 F0 05 01 73 54 45 {scene_id} 0D"
  params:
    - name: scene_id
      type: integer
      description: Scene ID, 0x01~0x1e (1..30)


- id: set_video_source_id
  label: Set Video Source ID
  kind: action
  command: "55 F0 06 01 73 43 48 {channel} {source_id} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: source_id
      type: integer
      description: "Raw source ID byte, 0x01~0xFF: 0x01=HDMI, 0x02=SDI, 0x03=USB, 0x04 onward=IP streams."
  notes: "A source ID greater than the maximum stream-source ID returns success but causes no action on the GUI."


- id: set_macro
  label: Set Macro
  kind: action
  command: "55 F0 05 01 73 4D 43 {macro} 0D"
  params:
    - name: macro
      type: integer
      description: "Encoded byte: 0x31=Macro 1, 0x32=Macro 2, 0x33=Macro 3."


- id: set_intermission_live
  label: Set Intermission / Live Mode
  kind: action
  command: "55 F0 05 01 73 49 4C {mode} 0D"
  params:
    - name: mode
      type: enum
      description: "0x30=Live, 0x31=Intermission"


- id: set_layout_swap
  label: Set Layout Swap
  kind: action
  command: "55 F0 04 01 73 4C 53 0D"
  params: []


- id: get_layout
  label: Get Layout ID
  kind: query
  command: "55 F0 04 01 67 4C 4F 0D"
  params: []


- id: get_background
  label: Get Background ID
  kind: query
  command: "55 F0 04 01 67 42 47 0D"
  params: []


- id: get_overlay
  label: Get Overlay ID
  kind: query
  command: "55 F0 04 01 67 4F 4C 0D"
  params: []
  notes: "Source lists response range as 0x00~0x09 (note: Set supports 0x00~0x1e). UNRESOLVED: the source does not explain the difference."


- id: get_video_source_total_number
  label: Get Video Source Total Number
  kind: query
  command: "55 F0 05 01 67 43 48 {channel} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."


- id: get_current_video_source_id
  label: Get Current Video Source ID
  kind: query
  command: "55 F0 05 01 67 43 55 {channel} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."

# 2.3.4 Cmd Audio Vol
# Input definitions retain their existing IDs above.

- id: set_audio_vol_output
  label: Set Audio Vol Output
  kind: action
  command: "AV"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Line & HDMI output, 0x32=PGM output."
    - name: volume
      type: integer
      description: "Raw volume byte, 0x00~0x7D (0..125)."

- id: get_audio_vol_output
  label: Get Audio Vol Output
  kind: query
  command: "AV"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Line & HDMI output, 0x32=PGM output."
  notes: "ACK parameters are direction, channel, volume; volume is 0x00~0x7D. NAK parameters echo direction and channel."

# 2.3.5 Cmd Audio Mute
# Set Audio Mute Input retains its existing ID above.

- id: set_audio_mute_output
  label: Set Audio Mute Output
  kind: action
  command: "AM"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Line & HDMI output, 0x32=PGM output."
    - name: mute
      type: enum
      description: "Encoded byte: 0x30=Audio unmute, 0x31=Audio mute."

- id: get_audio_mute_input
  label: Get Audio Mute Input
  kind: query
  command: "AM"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio XLR, 0x34=Audio Line in & USB."
  notes: "ACK parameters are direction, channel, mute; 0x30=Unmute, 0x31=Mute. NAK parameters echo direction and channel."

- id: get_audio_mute_output
  label: Get Audio Mute Output
  kind: query
  command: "AM"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Line & HDMI output, 0x32=PGM output."
  notes: "ACK parameters are direction, channel, mute; 0x30=Unmute, 0x31=Mute. NAK parameters echo direction and channel."

# 2.3.6 Cmd Audio Type
# Set Audio Type Input retains its existing ID above.

- id: set_audio_type_output
  label: Set Audio Type Output
  kind: action
  command: "AT"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Required encoded channel byte: 0x31=Line & HDMI output."
    - name: audio_type
      type: enum
      description: "Encoded byte: 0x31=ALL, 0x32=Line out + PGM, 0x33=MultiView."

- id: get_audio_type_input
  label: Get Audio Type Input
  kind: query
  command: "AT"
  params:
    - name: direction
      type: enum
      description: "Required input selector byte: 0x49 (ASCII I)."
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Audio channel 1, 0x32=Audio channel 2, 0x33=Audio XLR, 0x34=Audio Line in & USB."
  notes: "ACK parameters are direction, channel, audio type: 0x31=Line in, 0x32=Mic in, 0x33=HDMI / SDI, 0x36=IP Audio, 0x37=XLR-Line, 0x38=XLR-Mic, 0x39=USB Audio, 0x3A=Follow. NAK parameters echo direction and channel."

- id: get_audio_type_output
  label: Get Audio Type Output
  kind: query
  command: "AT"
  params:
    - name: direction
      type: enum
      description: "Required output selector byte: 0x4F (ASCII O)."
    - name: channel
      type: integer
      description: "Required encoded channel byte: 0x31=Line & HDMI output."
  notes: "ACK parameters are direction, channel, audio type: 0x31=ALL, 0x32=Line out + PGM, 0x33=MultiView. NAK parameters echo direction and channel."

# 2.3.7 Cmd Audio XLR

- id: set_audio_xlr_channel
  label: Set Audio XLR Channel Mode
  kind: action
  command: "55 F0 05 01 73 58 43 {mode} 0D"
  params:
    - name: mode
      type: enum
      description: "0x30=Stereo, 0x31=Mono"


- id: set_audio_xlr_power
  label: Set Audio XLR Power Mode
  kind: action
  command: "55 F0 05 01 73 58 50 {mode} 0D"
  params:
    - name: mode
      type: enum
      description: "0x30=XLR power off, 0x31=XLR power on"


- id: get_audio_xlr_channel
  label: Get Audio XLR Channel Mode
  kind: query
  command: "55 F0 04 01 67 58 43 0D"
  params: []


- id: get_audio_xlr_power
  label: Get Audio XLR Power Mode
  kind: query
  command: "55 F0 04 01 67 58 50 0D"
  params: []

# 2.3.8 Cmd Stream

- id: set_stream
  label: Set Stream
  kind: action
  command: "SC"
  params:
    - name: stream
      type: integer
      description: "Encoded byte: 0x31=Stream 1, 0x32=Stream 2, 0x33=Stream 3."
    - name: mode
      type: enum
      description: "Raw byte: 0x01=Stop Stream, 0x02=Start Stream."

- id: get_stream
  label: Get Stream
  kind: query
  command: "SC"
  params:
    - name: stream
      type: integer
      description: "Encoded byte: 0x31=Stream 1, 0x32=Stream 2, 0x33=Stream 3."
  notes: "ACK parameters are stream and state: 0x00=Sync, 0x01=Ready (enable), 0x02=Streaming (enable), 0x04=Off. NAK parameters echo the stream selector. These state bytes are response values, not commands."

# 2.3.9 Cmd Camera
# Set Camera Move and Set Camera Zoom retain their existing IDs above.

- id: set_camera_preset
  label: Set Camera Preset
  kind: action
  command: "55 F0 06 01 73 43 50 {channel} {preset_id} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: preset_id
      type: integer
      description: "Preset ID, 0x01~0x09"


- id: set_camera_save_preset
  label: Set Camera Save Preset
  kind: action
  command: "55 F0 06 01 73 43 53 {channel} {preset_id} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: preset_id
      type: integer
      description: "Preset ID, 0x01~0x09"


- id: set_camera_tracking
  label: Set Camera Tracking On/Off
  kind: action
  command: "55 F0 06 01 73 43 52 {channel} {mode} 0D"
  params:
    - name: channel
      type: integer
      description: "Encoded byte: 0x31=Channel 1, 0x32=Channel 2."
    - name: mode
      type: enum
      description: "0x30=ON, 0x31=OFF"

# 2.3.10 Cmd Others

- id: set_snapshot
  label: Insert Snapshot
  kind: action
  command: "55 F0 04 01 73 53 53 0D"
  params: []


- id: set_bookmark
  label: Insert Bookmark
  kind: action
  command: "55 F0 04 01 73 42 4D 0D"
  params: []


- id: set_backup_to_usb
  label: Set Backup to USB
  kind: action
  command: "55 F0 05 01 73 42 55 {mode} 0D"
  params:
    - name: mode
      type: enum
      description: "0x30=Start backup to USB, 0x31=Stop backup to USB"

Feedbacks

Variables

# No additional settable scalar parameters beyond the commands above.

Events

- id: ntfy_media_state
  header: "0x23"
  end: "0x0D"
  event_code: "ST (0x53 0x54)"
  params:
    type: enum
    values:
      - uninitialize   # 0x30
      - ready          # 0x31
      - stopped        # 0x32
      - recording      # 0x33
      - paused         # 0x34
      - waiting        # 0x35
      - stopping       # 0x36
      - standby        # 0x37
      - reboot         # 0x38 - only valid when prior state was standby
  example: "23 53 54 31 0D"
  notes: "Event frame format: Header(1) + Event Code(2) + Parameters(n) + End(1=0x0D). Sent unsolicited by device on TCP connection until disconnected or a new connection is established."

Macros

# Source documents Macro 1/2/3 invocation via MC command; no internal macro definition
# commands (record/play macro) are exposed in this revision.

Safety

confirmation_required_for: []
interlocks: []
# Source contains no explicit safety warnings or interlocks.
# Commands are not accepted during media station boot-up.
# In Standby, only Get State and Set Standby/Wake up are accepted.
# Wake up is active only when the previous power mode was Standby.

Notes

Protocol frame layout: 0x55 0xF0 Length Address Action CmdH CmdL Parameters… 0x0D. Length counts Address through Parameters (inclusive). Address reserved (any 0x01–0xFF, 0 reserved). Action: 0x67 Get, 0x73 Set, 0x06 ACK, 0x15 NAK. ACK = command executed successfully; NAK = command understood but execution failed OR protocol invalid (NAK + End only in latter case). No checksum. On TCP, if client does not close, connection persists and receives event notifications until a new connection is established.

Complete hexadecimal command strings describe binary frames; transmit their bytes, not the textual hexadecimal notation. Each placeholder represents one encoded byte as specified by its parameter description. Channel, macro and other ASCII selectors must use their documented ASCII byte values; a selector labelled 1 is not the raw byte 0x01 unless explicitly specified.

For entries with a two-letter vendor mnemonic in command, encode the mnemonic as two ASCII command bytes: AV = 0x41 0x56, AM = 0x41 0x4D, AT = 0x41 0x54, SC = 0x53 0x43, CM = 0x43 0x4D, CZ = 0x43 0x5A. Construct the same protocol frame with Header 0x55, Extended Header 0xF0, the supplied Address, Action 0x73 for kind: action or 0x67 for kind: query, those two command bytes, the encoded parameters in their listed order, and End 0x0D. Length is 4 plus the number of transmitted parameter bytes. Source examples use Address 0x01; the source does not establish an address default. No parameter defaults are assigned. A selector restricted to a single documented value is a required protocol field.

For AV, AM and AT, Set requests carry direction, channel and value (Length 0x07); Get requests carry direction and channel (Length 0x06). Successful Get responses carry direction, channel and value (Length 0x07). For SC, Set requests carry stream and mode (Length 0x06); Get requests carry stream (Length 0x05), and successful Get responses carry stream and state (Length 0x06). CM and CZ carry direction, channel and speed (Length 0x07); speed may be omitted for Stop, reducing Length to 0x06.

UNRESOLVED: the Set Audio Type Input example specifies channel 1 with type 0x31, while the same section restricts channel 1 to 0x33, 0x36 and 0x3A. The parameter restrictions are preserved, and the contradictory example is not assigned as a command value or default.

Authentication is UNRESOLVED. Omission of an authentication procedure from this source does not establish that authentication is absent.

Set Power On (PW 0x31) is documented but explicitly NOT supported due to hardware limitation; use Standby/Wake Up (SR) instead. In Standby mode only "Get State" and "Set Standby/Wake Up" are accepted. Commands are not accepted during media-station boot-up.

Revision 4.0 (2025/06/30) added Set Layout Swap and revised Audio XLR Power (0x32/0x33 removed; 0x31 = on). Per-version feature availability not enumerated beyond history log.

Provenance

source_domains:
  - mylumens.com
source_urls:
  - "https://www.mylumens.com/Download/RS165%20-%20LC100_LC100N_LC100A%20RS-232%20command%20set_1_5.pdf"
  - "https://www.mylumens.com/en/Downloads/4?id2=8&keyword=LC100"
retrieved_at: 2026-07-14T06:28:28.252Z
last_checked_at: 2026-10-07T13:06:42.445Z

Verification Summary

verdict: verified
checked_at: 2026-10-07T13:06:42.445Z
matched_actions: 47
action_count: 47
confidence: medium
summary: "All 47 action units match source frames and parameters; transport 9600/8/N/1 and port 5080 confirmed; spec covers essentially all 46 source commands. (6 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "the source does not describe an authentication procedure or establish that authentication is absent."
- "firmware version compatibility ranges not fully stated; revision 4.0 corresponds to v1.1.0.29 but per-feature FW requirements not enumerated."
- "the source example selects channel 1 with type 0x31, contradicting its channel-availability table. No default channel/type pair is established.\""
- "the source does not explain the difference.\""
- "the Set Audio Type Input example specifies channel 1 with type 0x31, while the same section restricts channel 1 to 0x33, 0x36 and 0x3A. The parameter restrictions are preserved, and the contradictory example is not assigned as a command value or default."
- "firmware version compatibility for individual commands not stated; per-feature FW gates not documented."

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