Summary
Barco G62 W14 projector control through Pulse JSON-RPC services over TCP/IP or RS-232. Spec covers authentication, properties, notifications, introspection, power, source selection, illumination, image controls, optics, DMX, firmware, environment monitoring, and HTTP file transfer.
Transport
protocols:
- tcp
- serial
- http
addressing:
port: 9090
base_url: "http://{projector-address}/api"
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: passcode
required_for: elevated_access
normal_user_access: optional
request:
jsonrpc: "2.0"
method: "authenticate"
params:
code: "{passcode}"
# UNRESOLVED: passcode source and format not stated beyond numeric example.
Traits
- powerable # inferred from system.poweron and system.poweroff
- routable # inferred from source-selection commands
- queryable # inferred from property and method queries
- levelable # inferred from illumination and image-level controls
Actions
- id: authenticate
label: Authenticate Session
kind: action
command: '{"jsonrpc":"2.0","method":"authenticate","params":{"code":{passcode}},"id":{id}}'
params:
- name: passcode
type: integer
- name: id
type: [string, number]
- id: invoke_method
label: Invoke Pulse Method
kind: action
command: '{"jsonrpc":"2.0","method":"{method}","params":{params},"id":{id}}'
params:
- name: method
type: string
- name: params
type: object
- name: id
type: [string, number]
- id: property_set
label: Set Property
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"{property}","value":{value}},"id":{id}}'
params:
- name: property
type: string
- name: value
type: any
- name: id
type: [string, number]
- id: property_get
label: Read Property
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"{property}"},"id":{id}}'
params:
- name: property
type: [string, array]
- name: id
type: [string, number]
- id: property_subscribe
label: Subscribe to Property Changes
kind: action
command: '{"jsonrpc":"2.0","method":"property.subscribe","params":{"property":{property}},"id":{id}}'
params:
- name: property
type: [string, array]
- name: id
type: [string, number]
- id: property_unsubscribe
label: Unsubscribe from Property Changes
kind: action
command: '{"jsonrpc":"2.0","method":"property.unsubscribe","params":{"property":{property}},"id":{id}}'
params:
- name: property
type: [string, array]
- name: id
type: [string, number]
- id: signal_subscribe
label: Subscribe to Signals
kind: action
command: '{"jsonrpc":"2.0","method":"signal.subscribe","params":{"signal":{signal}},"id":{id}}'
params:
- name: signal
type: [string, array]
- name: id
type: [string, number]
- id: signal_unsubscribe
label: Unsubscribe from Signals
kind: action
command: '{"jsonrpc":"2.0","method":"signal.unsubscribe","params":{"signal":{signal}},"id":{id}}'
params:
- name: signal
type: [string, array]
- name: id
type: [string, number]
- id: introspect
label: Introspect Pulse API
kind: query
command: '{"jsonrpc":"2.0","method":"introspect","params":{"object":"{object}","recursive":{recursive}},"id":{id}}'
params:
- name: object
type: string
required: false
default: ""
- name: recursive
type: boolean
required: false
default: true
- name: id
type: [string, number]
- id: system_power_on
label: Power On
kind: action
command: '{"jsonrpc":"2.0","method":"system.poweron"}'
params: []
- id: system_power_off
label: Power Off
kind: action
command: '{"jsonrpc":"2.0","method":"system.poweroff"}'
params: []
- id: system_state_get
label: Read Projector State
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.state"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: system_state_subscribe
label: Subscribe to Projector State
kind: action
command: '{"jsonrpc":"2.0","method":"property.subscribe","params":{"property":"system.state"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: eco_serial_wake
label: Wake from ECO over RS-232
kind: action
command: ":POWR1\r"
params: []
- id: image_active_source_get
label: Read Active Source
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.window.main.source"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_source_list
label: List Available Sources
kind: query
command: '{"jsonrpc":"2.0","method":"image.source.list","id":{id}}'
params:
- name: id
type: [string, number]
- id: image_active_source_set
label: Set Active Source
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.window.main.source","value":"{source}"},"id":{id}}'
params:
- name: source
type: string
description: Name returned by image.source.list
- name: id
type: [string, number]
- id: image_connector_list
label: List Available Connectors
kind: query
command: '{"jsonrpc":"2.0","method":"image.connector.list","id":{id}}'
params:
- name: id
type: [string, number]
- id: image_source_connectors_list
label: List Connectors for Source
kind: query
command: '{"jsonrpc":"2.0","method":"image.source.{source_object}.listconnectors","id":{id}}'
params:
- name: source_object
type: string
description: Lowercase source name with non-word characters removed
- name: id
type: [string, number]
- id: image_connector_signal_get
label: Read Connector Signal
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.connector.{connector_object}.detectedsignal"},"id":{id}}'
params:
- name: connector_object
type: string
- name: id
type: [string, number]
- id: illumination_state_get
label: Read Illumination State
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.state"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_state_subscribe
label: Subscribe to Illumination State
kind: action
command: '{"jsonrpc":"2.0","method":"property.subscribe","params":{"property":"illumination.state"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_sources_introspect
label: List Illumination Sources
kind: query
command: '{"jsonrpc":"2.0","method":"introspect","params":{"object":"illumination.sources","recursive":false},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_laser_power_get
label: Read Laser Power
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.sources.laser.power"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_laser_power_set
label: Set Laser Power
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"illumination.sources.laser.power","value":{value}},"id":{id}}'
params:
- name: value
type: float
description: Target power in percent; query dynamic minimum and maximum first
- name: id
type: [string, number]
- id: illumination_laser_power_subscribe
label: Subscribe to Laser Power
kind: action
command: '{"jsonrpc":"2.0","method":"property.subscribe","params":{"property":"illumination.sources.laser.power"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_laser_minpower_get
label: Read Minimum Laser Power
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.sources.laser.minpower"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_laser_maxpower_get
label: Read Maximum Laser Power
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.sources.laser.maxpower"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_brightness_get
label: Read Brightness
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.brightness"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_brightness_set
label: Set Brightness
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.brightness","value":{value}},"id":{id}}'
params:
- name: value
type: float
minimum: -1
maximum: 1
precision: 0.01
- name: id
type: [string, number]
- id: image_brightness_subscribe
label: Subscribe to Brightness
kind: action
command: '{"jsonrpc":"2.0","method":"property.subscribe","params":{"property":"image.brightness"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_contrast_get
label: Read Contrast
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.contrast"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_contrast_set
label: Set Contrast
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.contrast","value":{value}},"id":{id}}'
params:
- name: value
type: float
minimum: 0
maximum: 2
precision: 0.01
- name: id
type: [string, number]
- id: image_gamma_get
label: Read Gamma
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.gamma"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_gamma_set
label: Set Gamma
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.gamma","value":{value}},"id":{id}}'
params:
- name: value
type: float
minimum: 1
maximum: 3
precision: 0.1
- name: id
type: [string, number]
- id: image_saturation_get
label: Read Saturation
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.saturation"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_saturation_set
label: Set Saturation
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.saturation","value":{value}},"id":{id}}'
params:
- name: value
type: float
minimum: 0
maximum: 2
precision: 0.01
- name: id
type: [string, number]
- id: image_sharpness_get
label: Read Sharpness
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.sharpness"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_sharpness_set
label: Set Sharpness
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.sharpness","value":{value}},"id":{id}}'
params:
- name: value
type: integer
minimum: -2
maximum: 8
- name: id
type: [string, number]
- id: image_orientation_get
label: Read Orientation
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.orientation"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_orientation_set
label: Set Orientation
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.orientation","value":"{value}"},"id":{id}}'
params:
- name: value
type: enum
values: [DESKTOP_FRONT, DESKTOP_REAR, CEILING_FRONT, CEILING_REAR]
- name: id
type: [string, number]
- id: image_window_position_get
label: Read Window Position
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.window.main.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_window_position_set
label: Set Window Position
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.window.main.position","value":{"x":{x},"y":{y}}},"id":{id}}'
params:
- name: x
type: integer
- name: y
type: integer
- name: id
type: [string, number]
- id: image_window_size_get
label: Read Window Size
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.window.main.size"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_window_size_set
label: Set Window Size
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.window.main.size","value":{"width":{width},"height":{height}}},"id":{id}}'
params:
- name: width
type: integer
- name: height
type: integer
- name: id
type: [string, number]
- id: image_window_scalingmode_get
label: Read Scaling Mode
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.window.main.scalingmode"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: image_window_scalingmode_set
label: Set Scaling Mode
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.window.main.scalingmode","value":"{value}"},"id":{id}}'
params:
- name: value
type: enum
values: [Fill, OneToOne, FillScreen, Stretch]
- name: id
type: [string, number]
- id: image_warp_enable_set
label: Enable or Disable Warp
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.warp.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: image_warp_file_select
label: Select Warp File
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.warp.file.selected","value":"{filename}"},"id":{id}}'
params:
- name: filename
type: string
- name: id
type: [string, number]
- id: image_warp_file_enable
label: Enable or Disable Warp File
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.warp.file.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: upload_warp_file
label: Upload Warp File
kind: action
command: "POST http://{projector-address}/api/image/processing/warp/file/transfer"
params:
- name: file
type: file
encoding: multipart/form-data
- id: download_warp_file
label: Download Warp File
kind: query
command: "GET http://{projector-address}/api/image/processing/warp/file/transfer/{filename}"
params:
- name: filename
type: string
required: false
- id: image_blend_file_select
label: Select Blend Mask
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blend.file.selected","value":"{filename}"},"id":{id}}'
params:
- name: filename
type: string
- name: id
type: [string, number]
- id: image_blend_file_enable
label: Enable or Disable Blend Mask
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blend.file.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: upload_blend_mask
label: Upload Blend Mask
kind: action
command: "POST http://{projector-address}/api/image/processing/blend/file/transfer"
params:
- name: file
type: file
encoding: multipart/form-data
- id: image_blacklevel_file_select
label: Select Black-Level Mask
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blacklevel.file.selected","value":"{filename}"},"id":{id}}'
params:
- name: filename
type: string
- name: id
type: [string, number]
- id: image_blacklevel_file_enable
label: Enable or Disable Black-Level Mask
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blacklevel.file.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: upload_blacklevel_mask
label: Upload Black-Level Mask
kind: action
command: "POST http://{projector-address}/api/image/processing/blacklevel/file/transfer"
params:
- name: file
type: file
encoding: multipart/form-data
- id: dmx_mode_get
label: Read DMX Mode
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"dmx.mode"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: dmx_mode_set
label: Set DMX Mode
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"dmx.mode","value":"{value}"},"id":{id}}'
params:
- name: value
type: string
- name: id
type: [string, number]
- id: dmx_startchannel_get
label: Read DMX Start Channel
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"dmx.startchannel"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: dmx_startchannel_set
label: Set DMX Start Channel
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"dmx.startchannel","value":{value}},"id":{id}}'
params:
- name: value
type: integer
minimum: 1
maximum: 512
- name: id
type: [string, number]
- id: dmx_shutdown_get
label: Read DMX Shutdown Setting
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"dmx.shutdown"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: dmx_shutdown_set
label: Set DMX Shutdown
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"dmx.shutdown","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: dmx_list_channels
label: List DMX Channels
kind: query
command: '{"jsonrpc":"2.0","method":"dmx.listchannels","id":{id}}'
params:
- name: id
type: [string, number]
- id: dmx_list_modes
label: List DMX Modes
kind: query
command: '{"jsonrpc":"2.0","method":"dmx.listmodes","id":{id}}'
params:
- name: id
type: [string, number]
- id: network_ip4config_get
label: Read IPv4 Configuration
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"network.device.lan.ip4config"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: network_lan_state_get
label: Read LAN State
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"network.device.lan.state"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_shutter_position_get
label: Read Shutter Position
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"optics.shutter.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_shutter_target_set
label: Set Shutter Target
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"optics.shutter.target","value":"{value}"},"id":{id}}'
params:
- name: value
type: enum
values: [Open, Closed]
- name: id
type: [string, number]
- id: optics_zoom_position_get
label: Read Zoom Position
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"optics.zoom.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_zoom_position_set
label: Set Zoom Position
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"optics.zoom.position","value":{value}},"id":{id}}'
params:
- name: value
type: integer
- name: id
type: [string, number]
- id: optics_focus_position_get
label: Read Focus Position
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"optics.focus.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_focus_position_set
label: Set Focus Position
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"optics.focus.position","value":{value}},"id":{id}}'
params:
- name: value
type: integer
- name: id
type: [string, number]
- id: optics_lensshift_horizontal_get
label: Read Horizontal Lens Shift
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"optics.lensshift.horizontal.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_lensshift_horizontal_set
label: Set Horizontal Lens Shift
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"optics.lensshift.horizontal.position","value":{value}},"id":{id}}'
params:
- name: value
type: integer
- name: id
type: [string, number]
- id: optics_lensshift_vertical_get
label: Read Vertical Lens Shift
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"optics.lensshift.vertical.position"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: optics_lensshift_vertical_set
label: Set Vertical Lens Shift
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"optics.lensshift.vertical.position","value":{value}},"id":{id}}'
params:
- name: value
type: integer
- name: id
type: [string, number]
- id: system_standby_enable_get
label: Read Standby Enable
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.standby.enable"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: system_standby_enable_set
label: Enable or Disable Standby
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"system.standby.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: system_eco_enable_get
label: Read ECO Enable
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.eco.enable"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: system_eco_enable_set
label: Enable or Disable ECO Mode
kind: action
command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"system.eco.enable","value":{enabled}},"id":{id}}'
params:
- name: enabled
type: boolean
- name: id
type: [string, number]
- id: environment_alarmstate_get
label: Read Environment Alarm State
kind: query
command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"environment.alarmstate"},"id":{id}}'
params:
- name: id
type: [string, number]
- id: environment_get_control_blocks
label: Read Environment Control Blocks
kind: query
command: '{"jsonrpc":"2.0","method":"environment.getcontrolblocks","params":{"type":"{type}","valuetype":"{value_type}"},"id":{id}}'
params:
- name: type
type: enum
values: [Sensor, Filter, Controller, Actuator, Alarm, GenericBlock]
- name: value_type
type: string
- name: id
type: [string, number]
- id: environment_get_alarm_info
label: Read Environment Alarm Information
kind: query
command: '{"jsonrpc":"2.0","method":"environment.getalarminfo","id":{id}}'
params:
- name: id
type: [string, number]
- id: firmware_list_components
label: List Firmware Components
kind: query
command: '{"jsonrpc":"2.0","method":"firmware.listcomponents","id":{id}}'
params:
- name: id
type: [string, number]
- id: firmware_list_component_version_status
label: Read Firmware Component Versions
kind: query
command: '{"jsonrpc":"2.0","method":"firmware.listcomponentversionstatus","id":{id}}'
params:
- name: id
type: [string, number]
- id: firmware_schedule_component_upgrade
label: Schedule Component Upgrade
kind: action
command: '{"jsonrpc":"2.0","method":"firmware.schedulecomponentupgrade","params":{params},"id":{id}}'
params:
- name: params
type: object
description: "UNRESOLVED: method parameters not stated in source"
- name: id
type: [string, number]
- id: illumination_clo_engage
label: Engage CLO
kind: action
command: '{"jsonrpc":"2.0","method":"illumination.clo.engage","id":{id}}'
params:
- name: id
type: [string, number]
- id: illumination_laser_get_serial_number
label: Read Laser Serial Number
kind: query
command: '{"jsonrpc":"2.0","method":"illumination.laser.getserialnumber","id":{id}}'
params:
- name: id
type: [string, number]
- id: image_color_p7_copy_preset_to_custom
label: Copy P7 Preset to Custom
kind: action
command: '{"jsonrpc":"2.0","method":"image.color.p7.custom.copypresettocustom","params":{"presetname":"{preset_name}"},"id":{id}}'
params:
- name: preset_name
type: string
- name: id
type: [string, number]
- id: image_color_p7_reset_preset
label: Reset P7 Preset
kind: action
command: '{"jsonrpc":"2.0","method":"image.color.p7.custom.resetpreset","params":{"presetname":"{preset_name}"},"id":{id}}'
params:
- name: preset_name
type: string
- name: id
type: [string, number]
- id: image_color_p7_reset_to_native
label: Reset P7 Custom Color to Native
kind: action
command: '{"jsonrpc":"2.0","method":"image.color.p7.custom.resettonative","id":{id}}'
params:
- name: id
type: [string, number]
- id: image_color_rgbmode_next
label: Select Next RGB Mode
kind: action
command: '{"jsonrpc":"2.0","method":"image.color.rgbmode.nextrgbmode","id":{id}}'
params:
- name: id
type: [string, number]
- id: ledctrl_blink
label: Blink LED
kind: action
command: '{"jsonrpc":"2.0","method":"ledctrl.blink","params":{"led":"{led}","color":"{color}","period":{period}},"id":{id}}'
params:
- name: led
type: string
- name: color
type: string
- name: period
type: integer
- name: id
type: [string, number]
- id: warp_gridchanged_subscribe
label: Subscribe to Warp Grid Changes
kind: action
command: '{"jsonrpc":"2.0","method":"signal.subscribe","params":{"signal":"image.processing.warp.gridchanged"},"id":{id}}'
params:
- name: id
type: [string, number]
Feedbacks
- id: jsonrpc_result
type: any
description: Successful JSON-RPC result correlated by request id
- id: jsonrpc_error
type: object
description: JSON-RPC error object returned when request fails
- id: authentication_result
type: boolean
- id: property_set_result
type: boolean
- id: projector_state
type: enum
values: [boot, eco, standby, ready, conditioning, on, service, deconditioning, error]
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.state"},"id":{id}}'
- id: active_source
type: string
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.window.main.source"},"id":{id}}'
- id: available_sources
type: array
items: string
query_command: '{"jsonrpc":"2.0","method":"image.source.list","id":{id}}'
- id: available_connectors
type: array
query_command: '{"jsonrpc":"2.0","method":"image.connector.list","id":{id}}'
- id: detected_signal
type: object
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.connector.{connector_object}.detectedsignal"},"id":{id}}'
fields:
active: boolean
name: string
vertical_total: integer
horizontal_total: integer
vertical_resolution: integer
horizontal_resolution: integer
vertical_sync_width: integer
vertical_front_porch: integer
vertical_back_porch: integer
horizontal_sync_width: integer
horizontal_front_porch: integer
horizontal_back_porch: integer
horizontal_frequency: float
vertical_frequency: float
pixel_rate: integer
scan: string
bits_per_component: integer
color_space: string
signal_range: string
chroma_sampling: string
gamma_type: string
color_primaries: string
mastering_luminance: float
content_aspect_ratio: string
is_stereo: boolean
stereo_mode: string
- id: illumination_state
type: enum
values: [On, Off]
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.state"},"id":{id}}'
- id: illumination_laser_power
type: float
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"illumination.sources.laser.power"},"id":{id}}'
- id: image_brightness
type: float
minimum: -1
maximum: 1
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.brightness"},"id":{id}}'
- id: image_contrast
type: float
minimum: 0
maximum: 2
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.contrast"},"id":{id}}'
- id: image_gamma
type: float
minimum: 1
maximum: 3
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.gamma"},"id":{id}}'
- id: image_saturation
type: float
minimum: 0
maximum: 2
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.saturation"},"id":{id}}'
- id: image_sharpness
type: integer
minimum: -2
maximum: 8
query_command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"image.sharpness"},"id":{id}}'
- id: network_lan_state
type: enum
values: [CONNECTED, DISCONNECTED]
- id: shutter_position
type: enum
values: [Open, Closed]
- id: environment_alarm_state
type: enum
values: [Fatal, Error, Alert, Warning, Ok]
- id: environment_control_blocks
type: dictionary
description: Sensor or control-block names mapped to numeric readings
query_command: '{"jsonrpc":"2.0","method":"environment.getcontrolblocks","params":{"type":"Sensor","valuetype":"Temperature"},"id":{id}}'
- id: firmware_component_status
type: array
fields:
name: string
available: string
running: string
status: enum
values: [Unknown, OK, Upgradable]
query_command: '{"jsonrpc":"2.0","method":"firmware.listcomponentversionstatus","id":{id}}'
Variables
- id: image_window_main_source
type: string
access: read_write
- id: image_window_main_position
type: object
access: read_write
fields:
x: integer
y: integer
- id: image_window_main_size
type: object
access: read_write
fields:
width: integer
height: integer
- id: image_window_main_scalingmode
type: enum
access: read_write
values: [Fill, OneToOne, FillScreen, Stretch]
- id: image_brightness
type: float
access: read_write
minimum: -1
maximum: 1
default: 0
step_size: 1
precision: 0.01
- id: image_contrast
type: float
access: read_write
minimum: 0
maximum: 2
default: 1
step_size: 1
precision: 0.01
- id: image_gamma
type: float
access: read_write
minimum: 1
maximum: 3
default: 2.2
step_size: 1
precision: 0.1
- id: image_saturation
type: float
access: read_write
minimum: 0
maximum: 2
default: 1
step_size: 1
precision: 0.01
- id: image_sharpness
type: integer
access: read_write
minimum: -2
maximum: 8
step_size: 1
precision: 1
- id: image_orientation
type: enum
access: read_write
values: [DESKTOP_FRONT, DESKTOP_REAR, CEILING_FRONT, CEILING_REAR]
- id: illumination_laser_power
type: float
access: read_write
description: Target power in percent; valid minimum and maximum are dynamic
- id: illumination_laser_minpower
type: float
access: read_only
- id: illumination_laser_maxpower
type: float
access: read_only
- id: image_processing_warp_enable
type: boolean
access: read_write
- id: image_processing_warp_file_enable
type: boolean
access: read_write
- id: image_processing_warp_file_selected
type: string
access: read_write
- id: image_processing_blend_file_enable
type: boolean
access: read_write
- id: image_processing_blend_file_selected
type: array
items: string
access: read_write
- id: image_processing_blacklevel_file_enable
type: boolean
access: read_write
- id: image_processing_blacklevel_file_selected
type: string
access: read_write
- id: dmx_mode
type: string
access: read_write
- id: dmx_startchannel
type: integer
access: read_write
minimum: 1
maximum: 512
- id: dmx_shutdown
type: boolean
access: read_write
- id: network_device_lan_ip4config
type: object
fields:
Address: string
Mask: string
Gateway: string
NameServers: string
- id: network_device_lan_state
type: enum
access: read_only
values: [CONNECTED, DISCONNECTED]
- id: optics_shutter_position
type: enum
access: read_only
values: [Open, Closed]
- id: optics_shutter_target
type: enum
access: read_write
values: [Open, Closed]
- id: optics_zoom_position
type: integer
- id: optics_focus_position
type: integer
- id: optics_lensshift_horizontal_position
type: integer
- id: optics_lensshift_vertical_position
type: integer
- id: system_standby_enable
type: boolean
- id: system_eco_enable
type: boolean
- id: environment_alarmstate
type: enum
access: read_only
values: [Fatal, Error, Alert, Warning, Ok]
Events
- id: property_changed
method: "property.changed"
command: '{"jsonrpc":"2.0","method":"property.changed","params":{"property":[{property_value_pairs}]}}'
description: Unsolicited notification containing property/value pairs; message has no id
- id: signal_callback
method: "signal.callback"
command: '{"jsonrpc":"2.0","method":"signal.callback","params":{"signal":[{signal_argument_pairs}]}}'
description: Unsolicited notification containing signal/argument-list pairs; message has no id
- id: model_updated
signal: "modelupdated"
description: Object structure changed because objects were added or removed
- id: introspect_object_changed
signal: "introspect.objectchanged"
params:
object:
type: string
newobject:
type: boolean
description: True when object is new; false when object is lost
Macros
- id: safe_power_on
label: Verify State and Power On
steps:
- command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.state"},"id":{id}}'
- condition: "result is standby or ready"
- command: '{"jsonrpc":"2.0","method":"system.poweron"}'
- id: safe_power_off
label: Verify State and Power Off
steps:
- command: '{"jsonrpc":"2.0","method":"property.get","params":{"property":"system.state"},"id":{id}}'
- condition: "result is on"
- command: '{"jsonrpc":"2.0","method":"system.poweroff"}'
- id: activate_warp_file
label: Upload and Activate Warp Grid
steps:
- command: "POST http://{projector-address}/api/image/processing/warp/file/transfer"
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.warp.file.selected","value":"{filename}"},"id":{id}}'
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.warp.file.enable","value":true},"id":{id}}'
- id: activate_blend_mask
label: Upload and Activate Blend Mask
steps:
- command: "POST http://{projector-address}/api/image/processing/blend/file/transfer"
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blend.file.selected","value":"{filename}"},"id":{id}}'
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blend.file.enable","value":true},"id":{id}}'
- id: activate_blacklevel_mask
label: Upload and Activate Black-Level Mask
steps:
- command: "POST http://{projector-address}/api/image/processing/blacklevel/file/transfer"
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blacklevel.file.selected","value":"{filename}"},"id":{id}}'
- command: '{"jsonrpc":"2.0","method":"property.set","params":{"property":"image.processing.blacklevel.file.enable","value":true},"id":{id}}'
Safety
confirmation_required_for:
- firmware_schedule_component_upgrade
interlocks:
- action: system_power_on
required_state:
- standby
- ready
note: Verify state before command; command has no effect if already on or transitioning.
- action: system_power_off
required_state:
- on
note: Verify state before command; command has no effect if already off or transitioning.
- action: illumination_laser_power_set
procedure:
- Read illumination.sources.laser.minpower.
- Read illumination.sources.laser.maxpower.
- Set value within current dynamic limits.
- action: property_set
note: Wait for property.set confirmation before setting same property again.
Notes
Pulse uses JSON-RPC 2.0 with named parameters; parameter order does not matter. Normal end-user access may skip authentication, while higher access requires a secret passcode. Notification messages have no request ID and require no response.
Property subscriptions do not return current values; issue property.get separately. Active-source changes may produce two notifications: an empty source while deselecting, followed by newly selected source. API objects are dynamic and may depend on lens, illumination, DMX mode, peripherals, and projector configuration; use introspect to discover exact runtime API.
HTTP file endpoints accept uploads with multipart form field file. Warp, blend, and black-level image support includes PNG, JPEG, and TIFF; image-mask behavior and dimensions depend on projector resolution.
Provenance
source_domains:
- audiogeneral.com
source_urls:
- "https://www.audiogeneral.com/barco/UDX%20Series/JSON_ReferenceGuide.pdf"
retrieved_at: 2026-08-04T06:22:15.349Z
last_checked_at: 2026-10-07T20:47:20.693Z
Verification Summary
verdict: verified
checked_at: 2026-10-07T20:47:20.693Z
matched_actions: 110
action_count: 110
confidence: medium
summary: "All 110 action units map to Pulse methods, properties or file endpoints in the source, transport values are supported, and the spec covers the source catalogue. (5 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source describes dynamic Pulse API whose availability depends on projector configuration and attached peripherals."
- "firmware version compatibility and fault-recovery procedures not stated in source."
- "passcode source and format not stated beyond numeric example."
- "method parameters not stated in source\""
- "firmware compatibility range, passcode provisioning, request framing over TCP/serial, command terminator, timeouts, retry policy, and complete model-specific dynamic API are not stated in source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0