Summary
JSON-RPC 2.0 control interface (the "Pulse" service) for Barco projectors. Access over TCP port 9090 or RS-232 serial at 19200-8-N-1. Authentication is optional (skippable for end-user access). Covers power, source/connector selection, illumination, image properties, warp/blend/blacklevel, optics, environment telemetry, signals, notifications, and 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: optional # inferred: source states authentication is "only necessary when a higher level than normal end user is required" and "can be skipped" for end-user access
Traits
- powerable # inferred from system.poweron / system.poweroff commands
- routable # inferred from source/connector selection commands (image.window.main.source)
- queryable # inferred from property.get / property.subscribe patterns
- levelable # inferred from illumination.sources.laser.power and image.brightness/contrast/saturation properties
- subscribable # inferred from property.subscribe / signal.subscribe patterns
Actions
# --- Connection / session ---
- id: authenticate
label: Authenticate session
kind: action
command: |
{ "jsonrpc": "2.0", "method": "authenticate", "params": { "code": 98765 } }
params:
- name: code
type: integer
description: Secret pass code setting access level
notes: Optional. End-user requests do not require it.
# --- Power / state ---
- id: system_poweron
label: Power on projector
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.poweron" }
params: []
- id: system_poweroff
label: Power off projector
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.poweroff" }
params: []
- id: system_gotoeco
label: Set device in eco state
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.gotoeco" }
params: []
- id: system_gotoready
label: Set device in ready state
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.gotoready" }
params: []
- id: system_reboot
label: Reboot projector (powers off first)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.reboot" }
params: []
- id: system_reset
label: Reset selected domains
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.reset", "params": { "domains": ["{domain}"] } }
params:
- name: domain
type: string
description: Reset domain enum: ImageConnector, ImageSource, ImageFeatures, ImageRealColor, ImageWarp, ImageBlend, ImageOrientation, ImageResolution, ImageStereo, ImageDisplay, ImageTestPattern, ImageConvergence, UserInterface, Optics, Illumination, Network, Screen, System, LightMeasurement, Dmx
- id: system_resetall
label: Reset all domains
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.resetall" }
params: []
- id: serial_wake_eco
label: Wake projector from ECO (serial ASCII)
kind: action
command: ":POWR1\r"
params: []
notes: Send on RS-232 to wake from ECO mode. Alternative: WoL with MAC, remote power, or keypad power.
# --- Property generic get/set/subscribe/unsubscribe ---
- id: property_set
label: Set property value
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "{property}", "value": {value} } }
params:
- name: property
type: string
description: Dot-notation property name (e.g. image.window.main.source)
- name: value
type: string
description: Target value (string, int, float, bool, object, array)
- id: property_get
label: Get property value
kind: query
command: |
{ "jsonrpc": "2.0", "method": "property.get", "params": { "property": "{property}" } }
params:
- name: property
type: string
description: Dot-notation property name (single, or array for batch read)
- id: property_subscribe
label: Subscribe to property change notifications
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.subscribe", "params": { "property": "{property}" } }
params:
- name: property
type: string
description: Property name or array of property names
- id: property_unsubscribe
label: Unsubscribe from property change notifications
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.unsubscribe", "params": { "property": "{property}" } }
params:
- name: property
type: string
description: Property name or array of property names
# --- Signal subscription ---
- id: signal_subscribe
label: Subscribe to a signal
kind: action
command: |
{ "jsonrpc": "2.0", "method": "signal.subscribe", "params": { "signal": "{signal}" } }
params:
- name: signal
type: string
description: Signal name (string or array)
- id: signal_unsubscribe
label: Unsubscribe from a signal
kind: action
command: |
{ "jsonrpc": "2.0", "method": "signal.unsubscribe", "params": { "signal": "{signal}" } }
params:
- name: signal
type: string
description: Signal name (string or array)
# --- Introspection ---
- id: introspect
label: Introspect API (metadata)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "introspect", "params": { "object": "{object}", "recursive": {recursive} } }
params:
- name: object
type: string
description: Object name in dot notation (default = all)
- name: recursive
type: boolean
description: Recursively list sub-objects (default true)
# --- Image / sources / connectors ---
- id: image_source_list
label: List available sources
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.source.list" }
params: []
- id: image_connector_list
label: List available connectors
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.connector.list" }
params: []
- id: image_source_listconnectors
label: List connectors used by a source
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.source.{name}.listconnectors" }
params:
- name: name
type: string
description: Source object name (lowercase, non-word stripped, e.g. displayport1)
- id: select_active_source
label: Set the 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: Source name (e.g. "DisplayPort 1", "HDMI")
- id: image_resolution_list
label: List possible resolutions
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.resolution.list" }
params: []
- id: image_window_list
label: List all available windows
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.window.list" }
params: []
# --- Illumination ---
- id: illumination_laser_set_power
label: Set laser illumination power (%)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "illumination.sources.laser.power", "value": {power} } }
params:
- name: power
type: float
description: Target power in percent (clamped to minpower..maxpower)
- id: illumination_clo_engage
label: Engage constant light output at current level
kind: action
command: |
{ "jsonrpc": "2.0", "method": "illumination.clo.engage" }
params: []
- id: illumination_laser_getserialnumber
label: Get laser serial number
kind: query
command: |
{ "jsonrpc": "2.0", "method": "illumination.laser.getserialnumber" }
params: []
# --- Picture settings ---
- id: image_brightness_set
label: Set image brightness
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.brightness", "value": {value} } }
params:
- name: value
type: float
description: -1..1 normalized, 0 default, 1 = 100% offset, precision 0.01
- id: image_contrast_set
label: Set image contrast
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.contrast", "value": {value} } }
params:
- name: value
type: float
description: 0..2 normalized, 1 default, precision 0.01
- id: image_saturation_set
label: Set image saturation
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.saturation", "value": {value} } }
params:
- name: value
type: float
description: 0..2 normalized, 1 default, precision 0.01
- id: image_gamma_set
label: Set image gamma
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.gamma", "value": {value} } }
params:
- name: value
type: float
description: 1..3, default 2.2, step 0.1
- id: image_sharpness_set
label: Set image sharpness
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.sharpness", "value": {value} } }
params:
- name: value
type: integer
description: -2..8 integer
- id: image_intensity_set
label: Set image intensity
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.intensity", "value": {value} } }
params:
- name: value
type: float
description: 0..1, precision 0.01
- id: image_orientation_set
label: Set image orientation
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.orientation", "value": "{orientation}" } }
params:
- name: orientation
type: string
description: DESKTOP_FRONT | DESKTOP_REAR | CEILING_FRONT | CEILING_REAR
# --- DMX ---
- id: dmx_listmodes
label: List DMX modes
kind: query
command: |
{ "jsonrpc": "2.0", "method": "dmx.listmodes" }
params: []
- id: dmx_listchannels
label: List DMX channel names
kind: query
command: |
{ "jsonrpc": "2.0", "method": "dmx.listchannels" }
params: []
# --- Firmware ---
- id: firmware_listcomponents
label: List managed firmware components
kind: query
command: |
{ "jsonrpc": "2.0", "method": "firmware.listcomponents" }
params: []
- id: firmware_listcomponentversionstatus
label: List firmware component versions/status
kind: query
command: |
{ "jsonrpc": "2.0", "method": "firmware.listcomponentversionstatus" }
params: []
- id: firmware_schedulecomponentupgrade
label: Schedule component upgrade at next reboot
kind: action
command: |
{ "jsonrpc": "2.0", "method": "firmware.schedulecomponentupgrade" }
params: []
# --- Color / P7 ---
- id: image_color_p7_custom_copypresettocustom
label: Copy P7 preset to custom
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.color.p7.custom.copypresettocustom", "params": { "presetname": "{presetname}" } }
params:
- name: presetname
type: string
description: Name of the preset to copy
- id: image_color_p7_custom_resetpreset
label: Reset P7 preset to defaults
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.color.p7.custom.resetpreset", "params": { "presetname": "{presetname}" } }
params:
- name: presetname
type: string
- id: image_color_p7_custom_resettonative
label: Reset P7 custom to native
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.color.p7.custom.resettonative" }
params: []
- id: image_color_rgbmode_nextrgbmode
label: Cycle to next RGB mode
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.color.rgbmode.nextrgbmode" }
params: []
# --- Display / stereo / test pattern ---
- id: image_display_listdisplaymodes
label: List possible display modes
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.display.listdisplaymodes" }
params: []
- id: image_stereo_listdarktime
label: List possible darktime values (us)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.stereo.listdarktime" }
params: []
- id: image_testpattern_list
label: List available test patterns
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.testpattern.list" }
params: []
- id: image_testpattern_setproperties
label: Set properties of a pattern
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.testpattern.setproperties", "params": { "id": "{id}", "properties": {properties} } }
params:
- name: id
type: string
- name: properties
type: object
description: key/value array of properties
# --- Optics ---
- id: optics_focus_calibrate
label: Focus calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.calibrate" }
params: []
- id: optics_focus_runforward
label: Focus run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.runforward" }
params: []
- id: optics_focus_runforwardtime
label: Focus run forward for X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.runforwardtime" }
params: []
- id: optics_focus_runreverse
label: Focus run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.runreverse" }
params: []
- id: optics_focus_runreversetime
label: Focus run reverse for X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.runreversetime" }
params: []
- id: optics_focus_setlocation
label: Focus set target to saved location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.setlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_focus_addlocation
label: Focus add current position as location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.addlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_focus_stepforward
label: Focus step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.stepforward" }
params: []
- id: optics_focus_stepreverse
label: Focus step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.stepreverse" }
params: []
- id: optics_focus_stop
label: Focus stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.focus.stop" }
params: []
# --- Zoom (analogous pattern) ---
- id: optics_zoom_calibrate
label: Zoom calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.calibrate" }
params: []
- id: optics_zoom_runforward
label: Zoom run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.runforward" }
params: []
- id: optics_zoom_runforwardtime
label: Zoom run forward for X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.runforwardtime" }
params: []
- id: optics_zoom_runreverse
label: Zoom run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.runreverse" }
params: []
- id: optics_zoom_runreversetime
label: Zoom run reverse for X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.runreversetime" }
params: []
- id: optics_zoom_setlocation
label: Zoom set target to saved location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.setlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_zoom_addlocation
label: Zoom add current position as location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.addlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_zoom_stepforward
label: Zoom step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.stepforward" }
params: []
- id: optics_zoom_stepreverse
label: Zoom step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.stepreverse" }
params: []
- id: optics_zoom_stop
label: Zoom stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.zoom.stop" }
params: []
# --- Lens shift horizontal (analogous) ---
- id: optics_lensshift_horizontal_calibrate
label: Lens shift horizontal calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.calibrate" }
params: []
- id: optics_lensshift_horizontal_runforward
label: Lens shift horizontal run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.runforward" }
params: []
- id: optics_lensshift_horizontal_runforwardtime
label: Lens shift horizontal run forward X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.runforwardtime" }
params: []
- id: optics_lensshift_horizontal_runreverse
label: Lens shift horizontal run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.runreverse" }
params: []
- id: optics_lensshift_horizontal_runreversetime
label: Lens shift horizontal run reverse X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.runreversetime" }
params: []
- id: optics_lensshift_horizontal_setlocation
label: Lens shift horizontal set target to location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.setlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_lensshift_horizontal_addlocation
label: Lens shift horizontal add location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.addlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_lensshift_horizontal_stepforward
label: Lens shift horizontal step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.stepforward" }
params: []
- id: optics_lensshift_horizontal_stepreverse
label: Lens shift horizontal step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.stepreverse" }
params: []
- id: optics_lensshift_horizontal_stop
label: Lens shift horizontal stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.horizontal.stop" }
params: []
# --- Lens shift vertical (analogous) ---
- id: optics_lensshift_vertical_calibrate
label: Lens shift vertical calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.calibrate" }
params: []
- id: optics_lensshift_vertical_runforward
label: Lens shift vertical run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.runforward" }
params: []
- id: optics_lensshift_vertical_runforwardtime
label: Lens shift vertical run forward X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.runforwardtime" }
params: []
- id: optics_lensshift_vertical_runreverse
label: Lens shift vertical run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.runreverse" }
params: []
- id: optics_lensshift_vertical_runreversetime
label: Lens shift vertical run reverse X ms
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.runreversetime" }
params: []
- id: optics_lensshift_vertical_setlocation
label: Lens shift vertical set target to location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.setlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_lensshift_vertical_addlocation
label: Lens shift vertical add location
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.addlocation", "params": { "location": "{location}" } }
params:
- name: location
type: string
- id: optics_lensshift_vertical_stepforward
label: Lens shift vertical step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.stepforward" }
params: []
- id: optics_lensshift_vertical_stepreverse
label: Lens shift vertical step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.stepreverse" }
params: []
- id: optics_lensshift_vertical_stop
label: Lens shift vertical stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.lensshift.vertical.stop" }
params: []
# --- Shutter / lens ---
- id: optics_shutter_toggle
label: Toggle shutter
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.shutter.toggle" }
params: []
- id: optics_shutter_getobjectpath
label: Get shutter motor object path
kind: query
command: |
{ "jsonrpc": "2.0", "method": "optics.shutter.getobjectpath" }
params: []
- id: optics_shifttocenter
label: Shift lens to center
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.shifttocenter" }
params: []
- id: optics_setlensid
label: Set lens ID
kind: action
command: |
{ "jsonrpc": "2.0", "method": "optics.setlensid", "params": { "lensid": {lensid}, "powerlensid": {powerlensid} } }
params:
- name: lensid
type: integer
- name: powerlensid
type: integer
- id: optics_getvalidlensids
label: Get valid lens IDs
kind: query
command: |
{ "jsonrpc": "2.0", "method": "optics.getvalidlensids" }
params: []
# --- Peripheral frame axes (analogous pattern) ---
- id: peripheral_frame_horizontal_calibrate
label: Frame horizontal calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.calibrate" }
params: []
- id: peripheral_frame_horizontal_runforward
label: Frame horizontal run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.runforward" }
params: []
- id: peripheral_frame_horizontal_runreverse
label: Frame horizontal run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.runreverse" }
params: []
- id: peripheral_frame_horizontal_stepforward
label: Frame horizontal step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.stepforward" }
params: []
- id: peripheral_frame_horizontal_stepreverse
label: Frame horizontal step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.stepreverse" }
params: []
- id: peripheral_frame_horizontal_stop
label: Frame horizontal stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.horizontal.stop" }
params: []
- id: peripheral_frame_rotation_calibrate
label: Frame rotation calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.calibrate" }
params: []
- id: peripheral_frame_rotation_runforward
label: Frame rotation run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.runforward" }
params: []
- id: peripheral_frame_rotation_runreverse
label: Frame rotation run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.runreverse" }
params: []
- id: peripheral_frame_rotation_stepforward
label: Frame rotation step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.stepforward" }
params: []
- id: peripheral_frame_rotation_stepreverse
label: Frame rotation step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.stepreverse" }
params: []
- id: peripheral_frame_rotation_stop
label: Frame rotation stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.rotation.stop" }
params: []
- id: peripheral_frame_vertical_calibrate
label: Frame vertical calibrate
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.calibrate" }
params: []
- id: peripheral_frame_vertical_runforward
label: Frame vertical run forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.runforward" }
params: []
- id: peripheral_frame_vertical_runreverse
label: Frame vertical run reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.runreverse" }
params: []
- id: peripheral_frame_vertical_stepforward
label: Frame vertical step forward
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.stepforward" }
params: []
- id: peripheral_frame_vertical_stepreverse
label: Frame vertical step reverse
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.stepreverse" }
params: []
- id: peripheral_frame_vertical_stop
label: Frame vertical stop
kind: action
command: |
{ "jsonrpc": "2.0", "method": "peripheral.frame.vertical.stop" }
params: []
# --- Notification mgmt ---
- id: notification_list
label: List active notifications
kind: query
command: |
{ "jsonrpc": "2.0", "method": "notification.list" }
params: []
- id: notification_dismiss
label: Dismiss a notification
kind: action
command: |
{ "jsonrpc": "2.0", "method": "notification.dismiss", "params": { "id": "{id}", "response": "{response}" } }
params:
- name: id
type: string
- name: response
type: string
description: NONE | OK | CANCEL | IGNORE | YES | NO | SUPPRESS
- id: notification_log
label: List saved notifications
kind: query
command: |
{ "jsonrpc": "2.0", "method": "notification.log", "params": { "minimumseverity": "{severity}", "start": {start}, "count": {count} } }
params:
- name: severity
type: string
description: INFO | CAUTION | WARNING | ERROR | CRITICAL
- name: start
type: integer
- name: count
type: integer
- id: notification_suppress
label: Suppress a notification code
kind: action
command: |
{ "jsonrpc": "2.0", "method": "notification.suppress", "params": { "code": "{code}" } }
params:
- name: code
type: string
- id: notification_unsuppress
label: Un-suppress a notification code
kind: action
command: |
{ "jsonrpc": "2.0", "method": "notification.unsuppress", "params": { "code": "{code}" } }
params:
- name: code
type: string
- id: notification_unsuppressall
label: Un-suppress all notification codes
kind: action
command: |
{ "jsonrpc": "2.0", "method": "notification.unsuppressall" }
params: []
# --- System / identity / network ---
- id: system_getidentification
label: Get a single identification value
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.getidentification", "params": { "identification": "{identification}" } }
params:
- name: identification
type: string
- id: system_getidentifications
label: Get all identifications
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.getidentifications" }
params: []
- id: system_getsystemdate
label: Get system date (UTC)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.getsystemdate" }
params: []
- id: system_boards_getboardinfo
label: Get board info
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.boards.getboardinfo", "params": { "boardname": "{boardname}" } }
params:
- name: boardname
type: string
- id: system_boards_getboardlist
label: Get list of boards
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.boards.getboardlist" }
params: []
- id: system_boards_getmissingboardlist
label: Get missing board list
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.boards.getmissingboardlist" }
params: []
- id: system_boards_getmoduleinfo
label: Get module info
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.boards.getmoduleinfo", "params": { "boardname": "{boardname}" } }
params:
- name: boardname
type: string
- id: system_activity
label: Signal user activity (resets timers)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.activity" }
params: []
- id: system_listresetdomains
label: List reset domains
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.listresetdomains" }
params: []
- id: network_list
label: List network device IDs
kind: query
command: |
{ "jsonrpc": "2.0", "method": "network.list" }
params: []
- id: ledctrl_blink
label: Blink an LED
kind: action
command: |
{ "jsonrpc": "2.0", "method": "ledctrl.blink", "params": { "led": "{led}", "color": "{color}", "period": {period} } }
params:
- name: led
type: string
description: e.g. "systemstatus"
- name: color
type: string
- name: period
type: integer
- id: led_activity
label: Activate LEDs (restart timeout)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "led.activity" }
params: []
- id: led_list
label: List LEDs
kind: query
command: |
{ "jsonrpc": "2.0", "method": "led.list" }
params: []
# --- Key dispatch (remote / keypad simulation) ---
- id: keydispatcher_sendclickevent
label: Send key click event
kind: action
command: |
{ "jsonrpc": "2.0", "method": "keydispatcher.sendclickevent", "params": { "key": "{key}" } }
params:
- name: key
type: string
description: RC_SHUTTER_OPEN | RC_SHUTTER_CLOSE | RC_POWER_ON | RC_POWER_OFF | RC_OSD | RC_LCD | RC_PATTERN | RC_RGB | RC_ZOOM_PLUS | RC_ZOOM_MINUS | RC_SHIFT_LEFT | RC_SHIFT_UP | RC_SHIFT_RIGHT | RC_SHIFT_DOWN | RC_FOCUS_PLUS | RC_FOCUS_MINUS | RC_MENU | RC_DEFAULT | RC_BACK | RC_UP | RC_LEFT | RC_OK | RC_RIGHT | RC_DOWN | RC_ADDRESS | RC_INPUT | RC_MACRO | RC_1..RC_0 | RC_ASTERISK | RC_NUMBER | KP_LEFT | KP_UP | KP_OK | KP_RIGHT | KP_DOWN | KP_MENU | KP_POWER | KP_BACK | KP_OSD | KP_LENS | KP_PATTERN | KP_SHUTTER | KP_INPUT | KP_STANDBY
- id: keydispatcher_sendpressevent
label: Send key press event
kind: action
command: |
{ "jsonrpc": "2.0", "method": "keydispatcher.sendpressevent", "params": { "key": "{key}" } }
params:
- name: key
type: string
description: Same key enum as sendclickevent
- id: keydispatcher_sendreleaseevent
label: Send key release event
kind: action
command: |
{ "jsonrpc": "2.0", "method": "keydispatcher.sendreleaseevent", "params": { "key": "{key}" } }
params:
- name: key
type: string
description: Same key enum as sendclickevent
- id: remotecontrol_listsensors
label: List IR sensor object names
kind: query
command: |
{ "jsonrpc": "2.0", "method": "remotecontrol.listsensors" }
params: []
# --- Warp / blend / blacklevel file management ---
- id: image_processing_warp_upload
label: Upload warp file (HTTP POST)
kind: action
command: 'curl -F file=@{filename} http://{host}/api/image/processing/warp/file/transfer'
params:
- name: host
type: string
description: Projector IP
- name: filename
type: string
- id: image_processing_warp_select
label: Select uploaded warp file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.warp.file.selected", "value": "{filename}" } }
params:
- name: filename
type: string
- id: image_processing_warp_enable_file
label: Enable warp file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.warp.file.enable", "value": true } }
params: []
- id: image_processing_warp_enable_all
label: Enable all warp functions
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.warp.enable", "value": true } }
params: []
- id: image_processing_warp_filelist
label: List warp files
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warp.file.list" }
params: []
- id: image_processing_warp_filedelete
label: Delete warp file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warp.file.delete", "params": { "filename": "{filename}" } }
params:
- name: filename
type: string
- id: image_processing_blend_upload
label: Upload blend mask (HTTP POST)
kind: action
command: 'curl -F file=@{filename} http://{host}/api/image/processing/blend/file/transfer'
params:
- name: host
type: string
- name: filename
type: string
- id: image_processing_blend_select
label: Select uploaded blend file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.blend.file.selected", "value": "{filename}" } }
params:
- name: filename
type: string
- id: image_processing_blend_enable_file
label: Enable blend file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.blend.file.enable", "value": true } }
params: []
- id: image_processing_blend_filelist
label: List blend files
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blend.file.list" }
params: []
- id: image_processing_blend_filedelete
label: Delete blend file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blend.file.delete", "params": { "filename": "{filename}" } }
params:
- name: filename
type: string
- id: image_processing_blacklevel_upload
label: Upload black level mask (HTTP POST)
kind: action
command: 'curl -F file=@{filename} http://{host}/api/image/processing/blacklevel/file/transfer'
params:
- name: host
type: string
- name: filename
type: string
- id: image_processing_blacklevel_select
label: Select uploaded black level file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.blacklevel.file.selected", "value": "{filename}" } }
params:
- name: filename
type: string
- id: image_processing_blacklevel_enable_file
label: Enable black level file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "property.set", "params": { "property": "image.processing.blacklevel.file.enable", "value": true } }
params: []
- id: image_processing_blacklevel_filelist
label: List black level files
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blacklevel.file.list" }
params: []
- id: image_processing_blacklevel_filedelete
label: Delete black level file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blacklevel.file.delete", "params": { "filename": "{filename}" } }
params:
- name: filename
type: string
# --- Environment / telemetry ---
- 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 | GenericBlock
- name: valuetype
type: string
description: Temperature | Speed | PWM | Voltage | Current | Power | Altitude | Pressure | Humidity | ADC | Coordinate | Peltier | Waveform | Average | Delay | Difference | Interpolation | Limit | Median | Noise | Weighting | Comparison | Threshold | Formula | Driver | PID | Mode | State | Pump | Resistance | Simulation | Constant | Manual | Range | Any
- id: environment_getalarminfo
label: Get environment alarm info
kind: query
command: |
{ "jsonrpc": "2.0", "method": "environment.getalarminfo" }
params: []
# --- Statistics / counters ---
- id: statistics_listcounters
label: List all counters
kind: query
command: |
{ "jsonrpc": "2.0", "method": "statistics.listcounters" }
params: []
# --- UI settings ---
- id: ui_settings_get
label: Get UI setting value
kind: query
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.get", "params": { "key": "{key}" } }
params:
- name: key
type: string
- id: ui_settings_set
label: Set UI setting value
kind: action
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.set", "params": { "key": "{key}", "value": "{value}" } }
params:
- name: key
type: string
- name: value
type: string
- id: ui_settings_remove
label: Remove UI setting
kind: action
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.remove", "params": { "key": "{key}" } }
params:
- name: key
type: string
- id: ui_settings_keys
label: List UI setting keys
kind: query
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.keys" }
params: []
- id: ui_settings_list
label: List UI settings key/value pairs
kind: query
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.list" }
params: []
- id: ui_togglestealthmode
label: Toggle stealth mode (deprecated)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "ui.togglestealthmode" }
params: []
# --- License / flex brightness ---
- id: system_license_option_flexbrightness_getmaximumlightoutputcode
label: Get flex-brightness max-light-output code
kind: query
command: |
{ "jsonrpc": "2.0", "method": "system.license.option.flexbrightness.getmaximumlightoutputcode" }
params: []
- id: system_license_option_flexbrightness_setmaximumlightoutput
label: Set flex-brightness max-light-output
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.license.option.flexbrightness.setmaximumlightoutput", "params": { "code": "{code}", "lightoutput": {lightoutput} } }
params:
- name: code
type: string
- name: lightoutput
type: integer
- id: system_license_option_flexbrightness_setmaximumlightoutputcode
label: Set flex-brightness max-light-output (code+sig)
kind: action
command: |
{ "jsonrpc": "2.0", "method": "system.license.option.flexbrightness.setmaximumlightoutputcode", "params": { "lightoutput": {lightoutput}, "signature": "{signature}", "code": "{code}" } }
params:
- name: lightoutput
type: integer
- name: signature
type: string
- name: code
type: string
# --- Light measurement ---
- id: lightmeasurement_getlightoutput
label: Get light output (lumens)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "lightmeasurement.getlightoutput" }
params: []
# --- Connector EDID list (per-connector) ---
- id: image_connector_edid_list
label: List EDID selections for a connector
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.connector.{connector}.edid.list" }
params:
- name: connector
type: string
description: Connector object name, e.g. l1displayport | l1hdbaset1 | l1hdbaset2 | l1hdmi | l2displayporta | l2displayportb | l2displayportc | l2displayportd
# --- Warp grid ---
- id: image_processing_warpgrid_getgrid
label: Get current warp grid points (normalized)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warpgrid.getgrid" }
params: []
- id: image_processing_warpgrid_getgridsize
label: Get warp grid size
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warpgrid.getgridsize" }
params: []
- id: image_processing_warpgrid_getscaledgrid
label: Get warp grid scaled to a given resolution
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warpgrid.getscaledgrid", "params": { "resolution": { "x": {x}, "y": {y} } } }
params:
- name: x
type: integer
description: Resolution width
- name: y
type: integer
description: Resolution height
# --- Four-corners warp helpers ---
- id: image_processing_warp_fourcorners_getscaledcorners
label: Get four-corners scaled to a resolution
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warp.fourcorners.getscaledcorners", "params": { "resolution": { "x": {x}, "y": {y} } } }
params:
- name: x
type: integer
description: Resolution width
- name: y
type: integer
description: Resolution height
- id: image_processing_warp_warpscaledpoints
label: Warp-transform an array of points
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.warp.warpscaledpoints", "params": { "points": {points}, "resolution": { "X": {rx}, "Y": {ry} } } }
params:
- name: points
type: array
description: Array of {X: float, Y: float} objects
- name: rx
type: float
description: Resolution X
- name: ry
type: float
description: Resolution Y
# --- Black level area helpers ---
- id: image_processing_blacklevel_basicblacklevel_getblacklevelarea
label: Get black level edge boxes
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blacklevel.basicblacklevel.getblacklevelarea", "params": { "resolution_width": {resolution_width}, "resolution_height": {resolution_height} } }
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: image_processing_blacklevel_basicblacklevel_getwarpedblacklevelarea
label: Get black level edge boxes (after warp)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blacklevel.basicblacklevel.getwarpedblacklevelarea", "params": { "resolution_width": {resolution_width}, "resolution_height": {resolution_height} } }
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
# --- Blend area helpers ---
- id: image_processing_blend_basicblend_getblendarea
label: Get blend edge boxes
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blend.basicblend.getblendarea", "params": { "resolution_width": {resolution_width}, "resolution_height": {resolution_height} } }
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: image_processing_blend_basicblend_getwarpedblendarea
label: Get blend edge boxes (after warp)
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.processing.blend.basicblend.getwarpedblendarea", "params": { "resolution_width": {resolution_width}, "resolution_height": {resolution_height} } }
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
# --- Notification ---
- id: notification_listsuppressed
label: List suppressed notification codes
kind: query
command: |
{ "jsonrpc": "2.0", "method": "notification.listsuppressed" }
params: []
# --- Statistics counter names/units ---
- id: statistics_counter_getname
label: Get display name of a counter
kind: query
command: |
{ "jsonrpc": "2.0", "method": "statistics.{counter}.getname" }
params:
- name: counter
type: string
description: Counter object name: laserruntime | laserstrikes | projectorruntime | systemtime | uptime
- id: statistics_counter_getunit
label: Get unit of a counter
kind: query
command: |
{ "jsonrpc": "2.0", "method": "statistics.{counter}.getunit" }
params:
- name: counter
type: string
description: Counter object name: laserruntime | laserstrikes | projectorruntime | systemtime | uptime
notes: Returns unit enum — none | hours | minutes | seconds | number | percent
# --- Test pattern file management ---
- id: image_testpattern_file_list
label: List custom uploaded test pattern files
kind: query
command: |
{ "jsonrpc": "2.0", "method": "image.testpattern.file.list" }
params: []
- id: image_testpattern_file_delete
label: Delete a custom test pattern file
kind: action
command: |
{ "jsonrpc": "2.0", "method": "image.testpattern.file.delete", "params": { "filename": "{filename}" } }
params:
- name: filename
type: string
# --- UI settings icons ---
- id: ui_settings_getfonticons
label: Get font icon names for a category
kind: query
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.getfonticons", "params": { "category": "{category}" } }
params:
- name: category
type: string
description: Source | Connector | TestPattern
- id: ui_settings_geticons
label: Get SVG sprite icon names for a category
kind: query
command: |
{ "jsonrpc": "2.0", "method": "ui.settings.geticons", "params": { "category": "{category}" } }
params:
- name: category
type: string
description: Source | Connector | TestPattern
# --- HTTP file endpoints ---
- id: firmware_transfer_upload
label: Upload firmware image (HTTP POST)
kind: action
command: 'curl -F file=@{filename} http://{host}/api/firmware/transfer'
params:
- name: host
type: string
description: Projector IP
- name: filename
type: string
- id: image_testpattern_file_transfer_upload
label: Upload test pattern image (HTTP POST)
kind: action
command: 'curl -F file=@{filename} http://{host}/api/image/testpattern/file/transfer'
params:
- name: host
type: string
description: Projector IP
- name: filename
type: string
- id: notification_logger_transfer_download
label: Download notification log file (HTTP GET)
kind: query
command: 'curl -O -J http://{host}/api/notification/logger/transfer'
params:
- name: host
type: string
description: Projector IP
Feedbacks
- id: system_state
type: enum
values: [boot, eco, standby, ready, conditioning, on, deconditioning, error]
description: System operational state. Read via property.get on system.state.
- id: illumination_state
type: enum
values: [On, Off]
description: Illumination state. Read via property.get on illumination.state.
- id: environment_alarmstate
type: enum
values: [Fatal, Error, Alert, Warning, Ok]
description: Overall environment alarm severity.
- id: image_window_main_source
type: string
description: Currently active source name (e.g. "DisplayPort 1", "HDMI").
- id: optics_shutter_position
type: enum
values: [Open, Closed]
description: Current shutter position.
- id: network_device_lan_state
type: enum
values: [CONNECTED, DISCONNECTED]
description: Network device state.
- id: dmx_monitor_connectionstate_active
type: boolean
description: True when DMX/Artnet packet received in last 10s.
- id: gsm_pinstate
type: enum
values: [Accepted, Failed, Locked, Unknown]
- id: ui_stealthmode
type: enum
values: [Off, On]
Variables
# Properties used as settable parameters. Each is a property.get / property.set target.
# All values illustrative ranges extracted from the source property catalog.
- name: image.brightness
type: float
range: [-1, 1]
step: 0.01
- name: image.contrast
type: float
range: [0, 2]
step: 0.01
- name: image.saturation
type: float
range: [0, 2]
step: 0.01
- name: image.gamma
type: float
range: [1, 3]
step: 0.1
- name: image.sharpness
type: integer
range: [-2, 8]
- name: image.intensity
type: float
range: [0, 1]
step: 0.01
- name: image.orientation
type: string
values: [DESKTOP_FRONT, DESKTOP_REAR, CEILING_FRONT, CEILING_REAR]
- name: illumination.sources.laser.power
type: float
range: [0, 100]
description: Percent of laser power (bounded by minpower/maxpower at runtime)
- name: illumination.sources.laser.minpower
type: float
range: [0, 100]
read_only: true
- name: illumination.sources.laser.maxpower
type: float
range: [0, 100]
read_only: true
- name: illumination.clo.enable
type: boolean
- name: illumination.clo.setpoint
type: float
- name: illumination.clo.scale
type: float
- name: system.initialstate
type: string
values: [boot, eco, standby, ready, conditioning, on, service, deconditioning, error]
- name: system.eco.enable
type: boolean
- name: system.standby.enable
type: boolean
- name: system.on.timeout.duration
type: integer
- name: system.on.timeout.enable
type: boolean
- name: system.ready.timeout.duration
type: integer
- name: system.ready.timeout.enable
type: boolean
- name: system.standby.timeout.duration
type: integer
- name: system.standby.timeout.enable
type: boolean
- name: system.error.timeout.duration
type: integer
- name: system.error.timeout.enable
type: boolean
- name: remotecontrol.address
type: integer
range: [1, 31]
- name: remotecontrol.broadcastaddress
type: integer
range: [0, 1]
- name: optics.zoom.target
type: integer
- name: optics.focus.target
type: integer
- name: optics.lensshift.horizontal.target
type: integer
- name: optics.lensshift.vertical.target
type: integer
- name: screen.luminance
type: float
range: [50, 10000]
step: 10
- name: screen.hdrboost
type: float
range: [0.8, 1.2]
step: 0.01
- name: image.processing.transportdelay.desired
type: integer
- name: image.processing.blend.scurve
type: float
range: [1, 4]
step: 0.1
- name: image.color.p7.custom.whitetemperature
type: integer
range: [3200, 13000]
step: 100
- name: dmx.startchannel
type: integer
range: [1, 512]
- name: dmx.shutdowntimeout
type: integer
- name: dmx.shutdown
type: boolean
- name: dmx.artnet
type: boolean
- name: dmx.artnetnet
type: integer
- name: dmx.artnetuniverse
type: integer
Events
- id: modelupdated
description: Signals when functionality appears or disappears in the object model.
payload: { object: string, newobject: bool, accesslevel: enum }
- id: image.processing.warp.file.listchanged
description: Warp file list changed.
- id: image.processing.blend.file.listchanged
description: Blend file list changed.
- id: image.processing.blacklevel.file.listchanged
description: Black level file list changed.
- id: image.processing.warpgrid.changed
description: Warp grid changed.
- id: image.processing.warpgrid.gridchanged
description: Warp grid changed (with grid data payload).
payload: { grid: [{x: float, y: float}] }
- id: image.testpattern.added
description: New test pattern added.
- id: image.testpattern.changed
description: Test pattern properties changed.
- id: image.testpattern.removed
description: Test pattern removed.
- id: network.added
description: Network device added.
payload: { id: string }
- id: network.removed
description: Network device removed.
payload: { id: string }
- id: notification.dismissed
description: Notification dismissed.
payload: { id: string, response: enum }
- id: notification.emitted
description: New notification emitted.
payload: { notification: object }
- id: system.identificationchanged
description: Identification value changed.
- id: system.license.licensechanged
description: License file changed.
- id: system.performed
description: Emitted when one or more reset domains complete.
payload: { domains: [enum] }
- id: ui.settings.added
description: UI setting key added.
- id: ui.settings.changed
description: UI setting value changed.
- id: ui.settings.removed
description: UI setting key removed.
- id: property.changed
description: Generic property change notification (subscribed via property.subscribe).
payload: { property: [{name: value}] }
- id: signal.callback
description: Generic signal callback (subscribed via signal.subscribe).
payload: { signal: [{name: {args}}] }
Macros
# UNRESOLVED: source does not document multi-step macro sequences beyond the upload-and-activate pattern for warp/blend/blacklevel files, which is described in prose and not formalized.
Safety
confirmation_required_for:
- system.poweron
- system.poweroff
- system.reboot
- system.reset
- system.resetall
# inferred: power/resets should be preceded by state verification per source ("good practice to verify that the projector state is either standby or ready before issuing the power on command")
interlocks: []
# UNRESOLVED: no formal interlock procedures documented in source beyond ECO-wake guidance
Notes
- Protocol: JSON-RPC 2.0 over TCP port 9090 (per "Network" section), or ASCII serial 19200-8-N-1. Commands documented in source use ASCII
:POWR1\ronly for the ECO-wake use case over RS-232; everything else is JSON-RPC. - Same commands are available for both transport types (per source).
- All JSON-RPC params are passed by name; order does not matter.
- It is best practice to wait for
property.setconfirmation before setting the same property again to avoid flooding. - For source-connector translation: drop non-word chars and lowercase the source name to derive the object name (e.g. "DisplayPort 1" -> "displayport1").
- Connector availability depends on the projector model; example list in source: DVI 1, DVI 2, DisplayPort 1, DisplayPort 2, HDBaseT, HDMI, SDI.
- File transfer endpoints use HTTP POST (
-F file=@…) and HTTP GET on the/api/.../file/transferpaths. - ECO mode wake options: Wake-on-LAN (MAC), remote power, keypad power, or RS-232
:POWR1\r.
Provenance
source_domains:
- github.com
source_urls:
- https://github.com/bitfocus/companion-module-barco-eventmaster/blob/master/companion/HELP.md
retrieved_at: 2026-06-10T18:05:28.486Z
last_checked_at: 2026-06-11T13:54:22.905Z
Verification Summary
verdict: verified
checked_at: 2026-06-11T13:54:22.905Z
matched_actions: 181
action_count: 181
confidence: medium
summary: "All 181 spec actions confirmed verbatim in source Methods/Files sections; transport values port 9090 and 19200-8-N-1 match; only 2 minor source items not represented (deprecated getdeviceinfo, EDID transfer endpoint). (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- image.connector.edid.transfer
- system.boards.getdeviceinfo
- "source describes generic \"Pulse\" API used across Barco projectors; the \"Event Master Plugin\" wrapper relationship is not clarified in the document."
- "source does not document multi-step macro sequences beyond the upload-and-activate pattern for warp/blend/blacklevel files, which is described in prose and not formalized."
- "no formal interlock procedures documented in source beyond ECO-wake guidance"
- "- Device name \"Barco Event Master Plugin\" appears to wrap a generic \"Pulse\" projector JSON-RPC API; relationship between wrapper and Pulse service not clarified in the source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0