Summary
Barco Eonis 3D Mdrc 8127 supports Pulse API control over TCP/IP and RS-232. TCP service uses port 9090. API requests use JSON-RPC-style method and property operations; HTTP file endpoints support warp, blend, and black-level file transfers.
Transport
protocols:
- tcp
- serial
addressing:
port: 9090
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: secret_code # higher-level access requires authentication; normal end-user access may skip authentication
Traits
- powerable # inferred from system.poweron and system.poweroff
- routable # inferred from source selection commands
- queryable # inferred from property.get and introspection commands
- levelable # inferred from illumination and image property controls
Actions
- id: system_poweron
label: Power On
kind: action
command: '{"jsonrpc": "2.0", "method": "system.poweron"}'
params: []
- id: system_poweroff
label: Power Off
kind: action
command: '{"jsonrpc": "2.0", "method": "system.poweroff"}'
params: []
- id: select_source
label: Select Active Source
kind: action
command: '{"jsonrpc": "2.0", "method": "property.set", "params": {"property": "image.window.main.source", "value": "{source}"}}'
params:
- name: source
type: string
description: Available source name
- id: authenticate
label: Authenticate
kind: action
command: '{"jsonrpc": "2.0", "method": "authenticate", "params": {"code": {code}}}'
params:
- name: code
type: integer
description: Secret pass code
- id: property_set
label: Set Property
kind: action
command: '{"jsonrpc": "2.0", "method": "property.set", "params": {"property": "{property}", "value": {value}}}'
params:
- name: property
type: string
description: Property name in dot notation
- name: value
type: any
description: Property value
- id: property_get
label: Get Property
kind: query
command: '{"jsonrpc": "2.0", "method": "property.get", "params": {"property": "{property}"}}'
params:
- name: property
type: string
description: Property name in dot notation
- id: property_get_multiple
label: Get Multiple Properties
kind: query
command: '{"jsonrpc": "2.0", "method": "property.get", "params": {"property": ["{property_1}", "{property_2}"]}}'
params:
- name: property_1
type: string
description: First property name
- name: property_2
type: string
description: Second property name
- id: property_subscribe
label: Subscribe to Property
kind: action
command: '{"jsonrpc": "2.0", "method": "property.subscribe", "params": {"property": "{property}"}}'
params:
- name: property
type: string
description: Property name in dot notation
- id: property_subscribe_multiple
label: Subscribe to Multiple Properties
kind: action
command: '{"jsonrpc": "2.0", "method": "property.subscribe", "params": {"property": ["{property_1}", "{property_2}"]}}'
params:
- name: property_1
type: string
description: First property name
- name: property_2
type: string
description: Second property name
- id: property_unsubscribe
label: Unsubscribe from Property
kind: action
command: '{"jsonrpc": "2.0", "method": "property.unsubscribe", "params": {"property": "{property}"}}'
params:
- name: property
type: string
description: Property name in dot notation
- id: property_unsubscribe_multiple
label: Unsubscribe from Multiple Properties
kind: action
command: '{"jsonrpc": "2.0", "method": "property.unsubscribe", "params": {"property": ["{property_1}", "{property_2}"]}}'
params:
- name: property_1
type: string
description: First property name
- name: property_2
type: string
description: Second property name
- id: signal_subscribe
label: Subscribe to Signal
kind: action
command: '{"jsonrpc": "2.0", "method": "signal.subscribe", "params": {"signal": "{signal}"}}'
params:
- name: signal
type: string
description: Signal name
- id: signal_subscribe_multiple
label: Subscribe to Multiple Signals
kind: action
command: '{"jsonrpc": "2.0", "method": "signal.subscribe", "params": {"signal": ["{signal_1}", "{signal_2}"]}}'
params:
- name: signal_1
type: string
description: First signal name
- name: signal_2
type: string
description: Second signal name
- id: signal_unsubscribe
label: Unsubscribe from Signal
kind: action
command: '{"jsonrpc": "2.0", "method": "signal.unsubscribe", "params": {"signal": "{signal}"}}'
params:
- name: signal
type: string
description: Signal name
- id: signal_unsubscribe_multiple
label: Unsubscribe from Multiple Signals
kind: action
command: '{"jsonrpc": "2.0", "method": "signal.unsubscribe", "params": {"signal": ["{signal_1}", "{signal_2}"]}}'
params:
- name: signal_1
type: string
description: First signal name
- name: signal_2
type: string
description: Second signal name
- id: image_source_list
label: List Sources
kind: query
command: '{"jsonrpc": "2.0", "method": "image.source.list"}'
params: []
- id: image_connector_list
label: List Connectors
kind: query
command: '{"jsonrpc": "2.0", "method": "image.connector.list"}'
params: []
- id: source_list_connectors
label: List Source Connectors
kind: query
command: '{"jsonrpc": "2.0", "method": "image.source.{source_object}.listconnectors"}'
params:
- name: source_object
type: string
description: Source object name in lowercase dot notation
- id: introspect_recursive
label: Recursive Introspection
kind: query
command: '{"jsonrpc": "2.0", "method": "introspect", "params": {"object": "{object}", "recursive": true}}'
params:
- name: object
type: string
description: Object name in dot notation
- id: introspect_non_recursive
label: Non-Recursive Introspection
kind: query
command: '{"jsonrpc": "2.0", "method": "introspect", "params": {"object": "{object}", "recursive": false}}'
params:
- name: object
type: string
description: Object name in dot notation
- id: environment_getcontrolblocks
label: Get Environment Control Blocks
kind: query
command: '{"jsonrpc": "2.0", "method": "environment.getcontrolblocks", "params": {"type": "{type}", "valuetype": "{valuetype}"}}'
params:
- name: type
type: string
description: Sensor, Filter, Controller, Actuator, Alarm, or GenericBlock
- name: valuetype
type: string
description: Requested sensor value type
- id: environment_getalarminfo
label: Get Alarm Information
kind: query
command: '{"jsonrpc": "2.0", "method": "environment.getalarminfo"}'
params: []
- id: dmx_listchannels
label: List DMX Channels
kind: query
command: '{"jsonrpc": "2.0", "method": "dmx.listchannels"}'
params: []
- id: dmx_listmodes
label: List DMX Modes
kind: query
command: '{"jsonrpc": "2.0", "method": "dmx.listmodes"}'
params: []
- id: firmware_listcomponents
label: List Firmware Components
kind: query
command: '{"jsonrpc": "2.0", "method": "firmware.listcomponents"}'
params: []
- id: firmware_listcomponentversionstatus
label: List Firmware Component Version Status
kind: query
command: '{"jsonrpc": "2.0", "method": "firmware.listcomponentversionstatus"}'
params: []
- id: firmware_schedulecomponentupgrade
label: Schedule Firmware Component Upgrade
kind: action
command: '{"jsonrpc": "2.0", "method": "firmware.schedulecomponentupgrade"}'
params: []
- id: illumination_clo_engage
label: Engage CLO
kind: action
command: '{"jsonrpc": "2.0", "method": "illumination.clo.engage"}'
params: []
- id: illumination_laser_getserialnumber
label: Get Illumination Laser Serial Number
kind: query
command: '{"jsonrpc": "2.0", "method": "illumination.laser.getserialnumber"}'
params: []
- id: image_color_p7_custom_copypresettocustom
label: Copy Preset to Custom
kind: action
command: '{"jsonrpc": "2.0", "method": "image.color.p7.custom.copypresettocustom", "params": {"presetname": "{presetname}"}}'
params:
- name: presetname
type: string
description: Preset name
- id: image_color_p7_custom_resetpreset
label: Reset Custom Preset
kind: action
command: '{"jsonrpc": "2.0", "method": "image.color.p7.custom.resetpreset", "params": {"presetname": "{presetname}"}}'
params:
- name: presetname
type: string
description: Preset name
- id: image_color_p7_custom_resettonative
label: Reset to Native
kind: action
command: '{"jsonrpc": "2.0", "method": "image.color.p7.custom.resettonative"}'
params: []
- id: image_color_rgbmode_nextrgbmode
label: Next RGB Mode
kind: action
command: '{"jsonrpc": "2.0", "method": "image.color.rgbmode.nextrgbmode"}'
params: []
Feedbacks
- id: system_state
type: enum
values:
- boot
- eco
- standby
- ready
- conditioning
- on
- deconditioning
- service
- error
- id: illumination_state
type: enum
values:
- On
- Off
- id: active_source
type: string
- id: image_brightness
type: float
range:
min: -1
max: 1
step_size: 1
precision: 0.01
- id: image_contrast
type: float
range:
min: 0
max: 2
step_size: 1
precision: 0.01
- id: image_gamma
type: float
range:
min: 1
max: 3
step_size: 1
precision: 0.1
- id: image_saturation
type: float
range:
min: 0
max: 2
step_size: 1
precision: 0.01
- id: image_sharpness
type: integer
range:
min: -2
max: 8
step_size: 1
precision: 1
- id: image_orientation
type: enum
values:
- DESKTOP_FRONT
- DESKTOP_REAR
- CEILING_FRONT
- CEILING_REAR
- id: illumination_laser_power
type: float
unit: percent
- id: illumination_laser_minpower
type: float
unit: percent
- id: illumination_laser_maxpower
type: float
unit: percent
- id: network_lan_state
type: enum
values:
- CONNECTED
- DISCONNECTED
- id: environment_alarmstate
type: enum
values:
- Fatal
- Error
- Alert
- Warning
- Ok
- id: optics_shutter_position
type: enum
values:
- Open
- Closed
- id: optics_shutter_target
type: enum
values:
- Open
- Closed
- id: property_changed
type: object
description: Notification containing property/value pairs
- id: signal_callback
type: object
description: Notification containing signal/argument-list pairs
Variables
- id: illumination_laser_power
type: float
unit: percent
range:
min: 0
max: 100
- id: image_brightness
type: float
range:
min: -1
max: 1
step_size: 1
precision: 0.01
- id: image_contrast
type: float
range:
min: 0
max: 2
step_size: 1
precision: 0.01
- id: image_gamma
type: float
range:
min: 1
max: 3
step_size: 1
precision: 0.1
- id: image_saturation
type: float
range:
min: 0
max: 2
step_size: 1
precision: 0.01
- id: image_sharpness
type: integer
range:
min: -2
max: 8
- id: image_window_main_source
type: string
- id: image_window_main_position
type: object
description: Window x/y position
- id: image_window_main_size
type: object
description: Window width/height
- id: image_window_main_scalingmode
type: enum
values:
- Fill
- OneToOne
- FillScreen
- Stretch
- id: image_orientation
type: enum
values:
- DESKTOP_FRONT
- DESKTOP_REAR
- CEILING_FRONT
- CEILING_REAR
- id: image_processing_warp_enable
type: boolean
- id: image_processing_warp_file_enable
type: boolean
- id: image_processing_warp_file_selected
type: string
- id: image_processing_blend_file_enable
type: boolean
- id: image_processing_blend_file_selected
type: string
- id: image_processing_blacklevel_file_enable
type: boolean
- id: image_processing_blacklevel_file_selected
type: string
- id: dmx_mode
type: string
- id: dmx_startchannel
type: integer
range:
min: 1
max: 512
- id: dmx_shutdown
type: boolean
- id: system_standby_enable
type: boolean
- id: system_eco_enable
type: boolean
- id: optics_shutter_target
type: enum
values:
- Open
- Closed
Events
- id: property_changed
command: '{"jsonrpc": "2.0", "method": "property.changed", "params": {"property": [{"{property}": {value}}]}}'
description: Server notification sent when property value changes.
- id: signal_callback
command: '{"jsonrpc": "2.0", "method": "signal.callback", "params": {"signal": [{"{signal}": {arguments}}]}}'
description: Server notification sent when signal is emitted.
- id: modelupdated
description: Signal triggered when object structure changes.
Macros
- id: wake_from_eco_serial
label: Wake from ECO mode over RS-232
steps:
- command: ":POWR1\\r"
Safety
confirmation_required_for: []
interlocks:
- condition: system.state
required_values:
- standby
- ready
action: system.poweron
- condition: system.state
required_values:
- on
action: system.poweroff
Notes
Pulse API documentation states that property.set confirmations should be awaited before setting same property again, to avoid flooding server and reducing performance. Power commands have no effect when projector already is on, off, or transitioning. Exact API availability depends on projector configuration and peripherals; introspection is recommended.
Provenance
source_domains:
- audiogeneral.com
source_urls:
- "https://www.audiogeneral.com/barco/UDX%20Series/JSON_ReferenceGuide.pdf"
retrieved_at: 2026-07-23T06:16:36.188Z
last_checked_at: 2026-08-05T07:29:51.045Z
Verification Summary
verdict: verified
checked_at: 2026-08-05T07:29:51.045Z
matched_actions: 33
action_count: 33
confidence: medium
summary: "All 33 action units and declared transport values are supported by the source command catalogue. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Device-specific API availability may vary by projector configuration and peripherals."
- "Exact device-specific object and method availability not stated beyond generic Pulse API documentation."
- "Authentication secret code value not stated for this device."
- "HTTP file endpoint authentication behavior not stated."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0