Summary
Barco E2 v2.0 Pulse-based projector. Control via JSON-RPC 2.0 over TCP/IP (port 9090) or RS-232 serial, plus HTTP file endpoints for warp/blend/blacklevel/EDID/firmware/testpattern transfer. Supports power, source selection, illumination (laser), image, optics (zoom/focus/lens shift/shutter), warping, blending, black level, environment monitoring, notifications, and UI control.
Transport
protocols:
- tcp
- serial
- http
addressing:
port: 9090 # Pulse services TCP port
base_url: "http://{host}/api" # HTTP file endpoints
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
# Source: authentication optional. Normal end-user access skips auth; higher
# access levels require an `authenticate` request carrying a secret pass code.
type: UNRESOLVED # source does not state this (was inferred passcode: source documents authenticate method with code param)
Traits
traits:
- powerable # inferred: system.poweron / system.poweroff
- queryable # inferred: property.get across many properties
- levelable # inferred: image.brightness, image.contrast, illumination power
- routable # inferred: image.window.main.source selection
Actions
# All actions are JSON-RPC 2.0 method invocations. Payload verbatim from source:
# { "jsonrpc": "2.0", "method": "<method>", "params": {...}, "id": <id> }
# `command:` holds the literal method name (the JSON-RPC opcode). Params shown
# where source documents them. HTTP file endpoints listed separately with curl.
# ===== Authentication =====
- id: authenticate
label: Authenticate (set access level)
kind: action
command: "authenticate"
params:
- name: code
type: integer
description: Secret pass code (e.g. 98765)
# ===== Core JSON-RPC service methods =====
- id: property_set
label: Set Property
kind: action
command: "property.set"
params:
- name: property
type: string
description: Property path in dot notation
- name: value
type: any
description: Value to set
- id: property_get
label: Get Property
kind: query
command: "property.get"
params:
- name: property
type: string
description: Property path (or array of paths)
- id: property_subscribe
label: Subscribe to Property Changes
kind: action
command: "property.subscribe"
params:
- name: property
type: string
description: Property path (or array of paths)
- id: property_unsubscribe
label: Unsubscribe from Property Changes
kind: action
command: "property.unsubscribe"
params:
- name: property
type: string
description: Property path (or array of paths)
- id: signal_subscribe
label: Subscribe to Signal
kind: action
command: "signal.subscribe"
params:
- name: signal
type: string
description: Signal name (or array of names)
- id: signal_unsubscribe
label: Unsubscribe from Signal
kind: action
command: "signal.unsubscribe"
params:
- name: signal
type: string
description: Signal name (or array of names)
- id: introspect
label: Introspect Object
kind: query
command: "introspect"
params:
- name: object
type: string
description: Object name (dot notation); empty = all
- name: recursive
type: boolean
description: If false, only object names listed (one level)
# ===== Power / system state =====
- id: system_poweron
label: Power On
kind: action
command: "system.poweron"
params: []
- id: system_poweroff
label: Power Off
kind: action
command: "system.poweroff"
params: []
- id: system_gotoeco
label: Go to ECO state
kind: action
command: "system.gotoeco"
params: []
- id: system_gotoready
label: Go to Ready state
kind: action
command: "system.gotoready"
params: []
- id: system_reboot
label: Reboot (powers off first)
kind: action
command: "system.reboot"
params: []
- id: system_reset
label: Reset selected domains
kind: action
command: "system.reset"
params:
- name: domains
type: array
description: >-
Enum values: 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: "system.resetall"
params: []
- id: system_activity
label: Signal user activity (reset timeout timers)
kind: action
command: "system.activity"
params: []
- id: system_getidentification
label: Get identification
kind: query
command: "system.getidentification"
params: []
- id: system_getidentifications
label: Get all identifications
kind: query
command: "system.getidentifications"
params: []
- id: system_getsystemdate
label: Get system date (UTC)
kind: query
command: "system.getsystemdate"
params: []
- id: system_boards_getboardinfo
label: Get board properties
kind: query
command: "system.boards.getboardinfo"
params:
- name: boardname
type: string
- id: system_boards_getboardlist
label: Get board list
kind: query
command: "system.boards.getboardlist"
params: []
- id: system_boards_getdeviceinfo
label: Get device info (DEPRECATED, use getboardinfo)
kind: query
command: "system.boards.getdeviceinfo"
params:
- name: boardname
type: string
- id: system_boards_getmissingboardlist
label: Get missing board list
kind: query
command: "system.boards.getmissingboardlist"
params: []
- id: system_boards_getmoduleinfo
label: Get module info
kind: query
command: "system.boards.getmoduleinfo"
params:
- name: boardname
type: string
- id: system_listresetdomains
label: List available reset domains
kind: query
command: "system.listresetdomains"
params: []
- id: system_license_flexbrightness_getmaximumlightoutputcode
label: Get max light output code
kind: query
command: "system.license.option.flexbrightness.getmaximumlightoutputcode"
params:
- name: lightoutput
type: integer
- name: signature
type: string
- id: system_license_flexbrightness_setmaximumlightoutput
label: Set max light output
kind: action
command: "system.license.option.flexbrightness.setmaximumlightoutput"
params:
- name: code
type: string
- name: lightoutput
type: integer
- id: system_license_flexbrightness_setmaximumlightoutputcode
label: Set max light output code
kind: action
command: "system.license.option.flexbrightness.setmaximumlightoutputcode"
params:
- name: lightoutput
type: integer
- name: signature
type: string
# ===== Sources / connectors =====
- id: image_source_list
label: List available sources
kind: query
command: "image.source.list"
params: []
- id: image_connector_list
label: List available connectors
kind: query
command: "image.connector.list"
params: []
- id: image_window_list
label: List windows
kind: query
command: "image.window.list"
params: []
# Per-source listconnectors methods (each documented as a distinct row):
- id: image_source_l1displayport_listconnectors
label: List connectors - source l1displayport
kind: query
command: "image.source.l1displayport.listconnectors"
params: []
- id: image_source_l1hdbaset1_listconnectors
label: List connectors - source l1hdbaset1
kind: query
command: "image.source.l1hdbaset1.listconnectors"
params: []
- id: image_source_l1hdbaset2_listconnectors
label: List connectors - source l1hdbaset2
kind: query
command: "image.source.l1hdbaset2.listconnectors"
params: []
- id: image_source_l1hdmi_listconnectors
label: List connectors - source l1hdmi
kind: query
command: "image.source.l1hdmi.listconnectors"
params: []
- id: image_source_l1quadsdi_listconnectors
label: List connectors - source l1quadsdi
kind: query
command: "image.source.l1quadsdi.listconnectors"
params: []
- id: image_source_l1sdia_listconnectors
label: List connectors - source l1sdia
kind: query
command: "image.source.l1sdia.listconnectors"
params: []
- id: image_source_l1sdib_listconnectors
label: List connectors - source l1sdib
kind: query
command: "image.source.l1sdib.listconnectors"
params: []
- id: image_source_l1sdic_listconnectors
label: List connectors - source l1sdic
kind: query
command: "image.source.l1sdic.listconnectors"
params: []
- id: image_source_l1sdid_listconnectors
label: List connectors - source l1sdid
kind: query
command: "image.source.l1sdid.listconnectors"
params: []
- id: image_source_l2displayporta_listconnectors
label: List connectors - source l2displayporta
kind: query
command: "image.source.l2displayporta.listconnectors"
params: []
- id: image_source_l2displayportb_listconnectors
label: List connectors - source l2displayportb
kind: query
command: "image.source.l2displayportb.listconnectors"
params: []
- id: image_source_l2displayportc_listconnectors
label: List connectors - source l2displayportc
kind: query
command: "image.source.l2displayportc.listconnectors"
params: []
- id: image_source_l2displayportd_listconnectors
label: List connectors - source l2displayportd
kind: query
command: "image.source.l2displayportd.listconnectors"
params: []
- id: image_source_l2dualdpab_listconnectors
label: List connectors - source l2dualdpab
kind: query
command: "image.source.l2dualdpab.listconnectors"
params: []
- id: image_source_l2dualdpac_listconnectors
label: List connectors - source l2dualdpac
kind: query
command: "image.source.l2dualdpac.listconnectors"
params: []
- id: image_source_l2dualdpbd_listconnectors
label: List connectors - source l2dualdpbd
kind: query
command: "image.source.l2dualdpbd.listconnectors"
params: []
- id: image_source_l2dualdpcd_listconnectors
label: List connectors - source l2dualdpcd
kind: query
command: "image.source.l2dualdpcd.listconnectors"
params: []
- id: image_source_l2dualheaddpac_listconnectors
label: List connectors - source l2dualheaddpac
kind: query
command: "image.source.l2dualheaddpac.listconnectors"
params: []
- id: image_source_l2dualheaddpbd_listconnectors
label: List connectors - source l2dualheaddpbd
kind: query
command: "image.source.l2dualheaddpbd.listconnectors"
params: []
- id: image_source_l2dualheaddualdpabcd_listconnectors
label: List connectors - source l2dualheaddualdpabcd
kind: query
command: "image.source.l2dualheaddualdpabcd.listconnectors"
params: []
- id: image_source_l2quadcolumndp_listconnectors
label: List connectors - source l2quadcolumndp
kind: query
command: "image.source.l2quadcolumndp.listconnectors"
params: []
- id: image_source_l2quaddp_listconnectors
label: List connectors - source l2quaddp
kind: query
command: "image.source.l2quaddp.listconnectors"
params: []
# Per-connector EDID list methods (each documented as a distinct row):
- id: image_connector_l1displayport_edid_list
label: List EDIDs - connector l1displayport
kind: query
command: "image.connector.l1displayport.edid.list"
params: []
- id: image_connector_l1hdbaset1_edid_list
label: List EDIDs - connector l1hdbaset1
kind: query
command: "image.connector.l1hdbaset1.edid.list"
params: []
- id: image_connector_l1hdbaset2_edid_list
label: List EDIDs - connector l1hdbaset2
kind: query
command: "image.connector.l1hdbaset2.edid.list"
params: []
- id: image_connector_l1hdmi_edid_list
label: List EDIDs - connector l1hdmi
kind: query
command: "image.connector.l1hdmi.edid.list"
params: []
- id: image_connector_l2displayporta_edid_list
label: List EDIDs - connector l2displayporta
kind: query
command: "image.connector.l2displayporta.edid.list"
params: []
- id: image_connector_l2displayportb_edid_list
label: List EDIDs - connector l2displayportb
kind: query
command: "image.connector.l2displayportb.edid.list"
params: []
- id: image_connector_l2displayportc_edid_list
label: List EDIDs - connector l2displayportc
kind: query
command: "image.connector.l2displayportc.edid.list"
params: []
- id: image_connector_l2displayportd_edid_list
label: List EDIDs - connector l2displayportd
kind: query
command: "image.connector.l2displayportd.edid.list"
params: []
# ===== Display / resolution / stereo =====
- id: image_display_listdisplaymodes
label: List display modes
kind: query
command: "image.display.listdisplaymodes"
params: []
- id: image_resolution_list
label: List resolutions
kind: query
command: "image.resolution.list"
params: []
- id: image_stereo_listdarktime
label: List stereo darktime values (us)
kind: query
command: "image.stereo.listdarktime"
params: []
# ===== Warp / blend / black level / grid =====
- id: blacklevel_basic_getblacklevelarea
label: Get black level edges
kind: query
command: "image.processing.blacklevel.basicblacklevel.getblacklevelarea"
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: blacklevel_basic_getwarpedblacklevelarea
label: Get black level edges (after warp)
kind: query
command: "image.processing.blacklevel.basicblacklevel.getwarpedblacklevelarea"
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: blacklevel_file_delete
label: Delete black level file
kind: action
command: "image.processing.blacklevel.file.delete"
params:
- name: filename
type: string
- id: blacklevel_file_list
label: List black level files
kind: query
command: "image.processing.blacklevel.file.list"
params: []
- id: blend_basic_getblendarea
label: Get blend edges
kind: query
command: "image.processing.blend.basicblend.getblendarea"
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: blend_basic_getwarpedblendarea
label: Get blend edges (after warp)
kind: query
command: "image.processing.blend.basicblend.getwarpedblendarea"
params:
- name: resolution_width
type: float
- name: resolution_height
type: float
- id: blend_file_delete
label: Delete blend file
kind: action
command: "image.processing.blend.file.delete"
params:
- name: filename
type: string
- id: blend_file_list
label: List blend files
kind: query
command: "image.processing.blend.file.list"
params: []
- id: warp_file_delete
label: Delete warp file
kind: action
command: "image.processing.warp.file.delete"
params:
- name: filename
type: string
- id: warp_file_list
label: List warp files
kind: query
command: "image.processing.warp.file.list"
params: []
- id: warp_fourcorners_getscaledcorners
label: Get four-corners scaled to resolution
kind: query
command: "image.processing.warp.fourcorners.getscaledcorners"
params:
- name: resolution
type: object
description: "{ x: int, y: int }"
- id: warp_warpscaledpoints
label: Warp an array of points
kind: query
command: "image.processing.warp.warpscaledpoints"
params:
- name: points
type: array
description: Array of { X: float, Y: float }
- name: resolution
type: object
description: "{ X: float, Y: float }"
- id: warpgrid_getgrid
label: Get grid points (normalized/relative)
kind: query
command: "image.processing.warpgrid.getgrid"
params: []
- id: warpgrid_getgridsize
label: Get grid size
kind: query
command: "image.processing.warpgrid.getgridsize"
params: []
- id: warpgrid_getscaledgrid
label: Get grid scaled to resolution
kind: query
command: "image.processing.warpgrid.getscaledgrid"
params:
- name: resolution
type: object
description: "{ x: int, y: int }"
# ===== Test patterns =====
- id: testpattern_file_delete
label: Delete test pattern file
kind: action
command: "image.testpattern.file.delete"
params:
- name: filename
type: string
- id: testpattern_file_list
label: List custom uploaded patterns
kind: query
command: "image.testpattern.file.list"
params: []
- id: testpattern_list
label: List available patterns
kind: query
command: "image.testpattern.list"
params: []
- id: testpattern_setproperties
label: Set pattern properties
kind: action
command: "image.testpattern.setproperties"
params:
- name: id
type: string
- name: properties
type: array
description: Array of { key, value }
# ===== Color =====
- id: color_p7_custom_copypresettocustom
label: Copy preset to custom
kind: action
command: "image.color.p7.custom.copypresettocustom"
params:
- name: presetname
type: string
- id: color_p7_custom_resetpreset
label: Reset preset to defaults
kind: action
command: "image.color.p7.custom.resetpreset"
params:
- name: presetname
type: string
- id: color_p7_custom_resettonative
label: Reset to native
kind: action
command: "image.color.p7.custom.resettonative"
params: []
- id: color_rgbmode_nextrgbmode
label: Cycle to next RGB mode
kind: action
command: "image.color.rgbmode.nextrgbmode"
params: []
# ===== DMX =====
- id: dmx_listchannels
label: List DMX channel names
kind: query
command: "dmx.listchannels"
params: []
- id: dmx_listmodes
label: List DMX modes
kind: query
command: "dmx.listmodes"
params: []
# ===== Environment =====
- id: environment_getalarminfo
label: Get alarm info
kind: query
command: "environment.getalarminfo"
params: []
- id: environment_getcontrolblocks
label: Get control blocks (sensors)
kind: query
command: "environment.getcontrolblocks"
params:
- name: type
type: string
description: >-
Enum: Sensor, Filter, Controller, Actuator, Alarm, GenericBlock
- name: valuetype
type: string
description: >-
Enum: 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
# ===== Firmware =====
- id: firmware_listcomponents
label: List firmware component names
kind: query
command: "firmware.listcomponents"
params: []
- id: firmware_listcomponentversionstatus
label: List firmware components/versions/status
kind: query
command: "firmware.listcomponentversionstatus"
params: []
- id: firmware_schedulecomponentupgrade
label: Schedule component upgrade at next reboot
kind: action
command: "firmware.schedulecomponentupgrade"
params: []
# ===== Illumination =====
- id: illumination_clo_engage
label: Engage CLO at current light level
kind: action
command: "illumination.clo.engage"
params: []
- id: illumination_laser_getserialnumber
label: Get laser serial number
kind: query
command: "illumination.laser.getserialnumber"
params: []
# ===== Key dispatcher (remote/keypad emulation) =====
- id: keydispatcher_sendclickevent
label: Send key click (press+release)
kind: action
command: "keydispatcher.sendclickevent"
params:
- name: key
type: string
description: >-
Enum: 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
kind: action
command: "keydispatcher.sendpressevent"
params:
- name: key
type: string
description: See keydispatcher_sendclickevent key enum
- id: keydispatcher_sendreleaseevent
label: Send key release
kind: action
command: "keydispatcher.sendreleaseevent"
params:
- name: key
type: string
description: See keydispatcher_sendclickevent key enum
# ===== LED =====
- id: led_activity
label: Activate LEDs (reset timeout)
kind: action
command: "led.activity"
params: []
- id: led_list
label: List LEDs
kind: query
command: "led.list"
params: []
# ===== Light measurement =====
- id: lightmeasurement_getlightoutput
label: Get light output (lumens)
kind: query
command: "lightmeasurement.getlightoutput"
params: []
# ===== Network =====
- id: network_list
label: List logical network devices
kind: query
command: "network.list"
params: []
# ===== Notifications =====
- id: notification_dismiss
label: Dismiss notification
kind: action
command: "notification.dismiss"
params:
- name: id
type: string
- name: response
type: string
description: Enum: NONE, OK, CANCEL, IGNORE, YES, NO, SUPPRESS
- id: notification_list
label: List active notifications
kind: query
command: "notification.list"
params: []
- id: notification_listsuppressed
label: List suppressed notification codes
kind: query
command: "notification.listsuppressed"
params: []
- id: notification_log
label: List saved notifications
kind: query
command: "notification.log"
params:
- name: minimumseverity
type: string
description: Enum: INFO, CAUTION, WARNING, ERROR, CRITICAL
- name: start
type: integer
- name: count
type: integer
- id: notification_suppress
label: Suppress notification code
kind: action
command: "notification.suppress"
params:
- name: code
type: string
- id: notification_unsuppress
label: Unsuppress notification code
kind: action
command: "notification.unsuppress"
params:
- name: code
type: string
- id: notification_unsuppressall
label: Unsuppress all notification codes
kind: action
command: "notification.unsuppressall"
params: []
# ===== Optics - focus =====
- id: optics_focus_addlocation
label: Focus - add current position to location
kind: action
command: "optics.focus.addlocation"
params:
- name: location
type: string
- id: optics_focus_calibrate
label: Focus - calibrate
kind: action
command: "optics.focus.calibrate"
params: []
- id: optics_focus_runforward
label: Focus - run forward
kind: action
command: "optics.focus.runforward"
params: []
- id: optics_focus_runforwardtime
label: Focus - run forward for X ms
kind: action
command: "optics.focus.runforwardtime"
params: []
- id: optics_focus_runreverse
label: Focus - run reverse
kind: action
command: "optics.focus.runreverse"
params: []
- id: optics_focus_runreversetime
label: Focus - run reverse for X ms
kind: action
command: "optics.focus.runreversetime"
params: []
- id: optics_focus_setlocation
label: Focus - set target to location
kind: action
command: "optics.focus.setlocation"
params:
- name: location
type: string
- id: optics_focus_stepforward
label: Focus - step forward
kind: action
command: "optics.focus.stepforward"
params: []
- id: optics_focus_stepreverse
label: Focus - step reverse
kind: action
command: "optics.focus.stepreverse"
params: []
- id: optics_focus_stop
label: Focus - stop
kind: action
command: "optics.focus.stop"
params: []
# ===== Optics - lens shift horizontal =====
- id: optics_lensshift_horizontal_addlocation
label: Lens shift H - add location
kind: action
command: "optics.lensshift.horizontal.addlocation"
params:
- name: location
type: string
- id: optics_lensshift_horizontal_calibrate
label: Lens shift H - calibrate
kind: action
command: "optics.lensshift.horizontal.calibrate"
params: []
- id: optics_lensshift_horizontal_runforward
label: Lens shift H - run forward
kind: action
command: "optics.lensshift.horizontal.runforward"
params: []
- id: optics_lensshift_horizontal_runforwardtime
label: Lens shift H - run forward for X ms
kind: action
command: "optics.lensshift.horizontal.runforwardtime"
params: []
- id: optics_lensshift_horizontal_runreverse
label: Lens shift H - run reverse
kind: action
command: "optics.lensshift.horizontal.runreverse"
params: []
- id: optics_lensshift_horizontal_runreversetime
label: Lens shift H - run reverse for X ms
kind: action
command: "optics.lensshift.horizontal.runreversetime"
params: []
- id: optics_lensshift_horizontal_setlocation
label: Lens shift H - set target to location
kind: action
command: "optics.lensshift.horizontal.setlocation"
params:
- name: location
type: string
- id: optics_lensshift_horizontal_stepforward
label: Lens shift H - step forward
kind: action
command: "optics.lensshift.horizontal.stepforward"
params: []
- id: optics_lensshift_horizontal_stepreverse
label: Lens shift H - step reverse
kind: action
command: "optics.lensshift.horizontal.stepreverse"
params: []
- id: optics_lensshift_horizontal_stop
label: Lens shift H - stop
kind: action
command: "optics.lensshift.horizontal.stop"
params: []
# ===== Optics - lens shift vertical =====
- id: optics_lensshift_vertical_addlocation
label: Lens shift V - add location
kind: action
command: "optics.lensshift.vertical.addlocation"
params:
- name: location
type: string
- id: optics_lensshift_vertical_calibrate
label: Lens shift V - calibrate
kind: action
command: "optics.lensshift.vertical.calibrate"
params: []
- id: optics_lensshift_vertical_runforward
label: Lens shift V - run forward
kind: action
command: "optics.lensshift.vertical.runforward"
params: []
- id: optics_lensshift_vertical_runforwardtime
label: Lens shift V - run forward for X ms
kind: action
command: "optics.lensshift.vertical.runforwardtime"
params: []
- id: optics_lensshift_vertical_runreverse
label: Lens shift V - run reverse
kind: action
command: "optics.lensshift.vertical.runreverse"
params: []
- id: optics_lensshift_vertical_runreversetime
label: Lens shift V - run reverse for X ms
kind: action
command: "optics.lensshift.vertical.runreversetime"
params: []
- id: optics_lensshift_vertical_setlocation
label: Lens shift V - set target to location
kind: action
command: "optics.lensshift.vertical.setlocation"
params:
- name: location
type: string
- id: optics_lensshift_vertical_stepforward
label: Lens shift V - step forward
kind: action
command: "optics.lensshift.vertical.stepforward"
params: []
- id: optics_lensshift_vertical_stepreverse
label: Lens shift V - step reverse
kind: action
command: "optics.lensshift.vertical.stepreverse"
params: []
- id: optics_lensshift_vertical_stop
label: Lens shift V - stop
kind: action
command: "optics.lensshift.vertical.stop"
params: []
# ===== Optics - zoom =====
- id: optics_zoom_addlocation
label: Zoom - add location
kind: action
command: "optics.zoom.addlocation"
params:
- name: location
type: string
- id: optics_zoom_calibrate
label: Zoom - calibrate
kind: action
command: "optics.zoom.calibrate"
params: []
- id: optics_zoom_runforward
label: Zoom - run forward
kind: action
command: "optics.zoom.runforward"
params: []
- id: optics_zoom_runforwardtime
label: Zoom - run forward for X ms
kind: action
command: "optics.zoom.runforwardtime"
params: []
- id: optics_zoom_runreverse
label: Zoom - run reverse
kind: action
command: "optics.zoom.runreverse"
params: []
- id: optics_zoom_runreversetime
label: Zoom - run reverse for X ms
kind: action
command: "optics.zoom.runreversetime"
params: []
- id: optics_zoom_setlocation
label: Zoom - set target to location
kind: action
command: "optics.zoom.setlocation"
params:
- name: location
type: string
- id: optics_zoom_stepforward
label: Zoom - step forward
kind: action
command: "optics.zoom.stepforward"
params: []
- id: optics_zoom_stepreverse
label: Zoom - step reverse
kind: action
command: "optics.zoom.stepreverse"
params: []
- id: optics_zoom_stop
label: Zoom - stop
kind: action
command: "optics.zoom.stop"
params: []
# ===== Optics - misc =====
- id: optics_getvalidlensids
label: Get valid lens IDs
kind: query
command: "optics.getvalidlensids"
params: []
- id: optics_setlensid
label: Set lens ID
kind: action
command: "optics.setlensid"
params:
- name: lensid
type: integer
- name: powerlensid
type: integer
- id: optics_shifttocenter
label: Shift lens to center of shift range
kind: action
command: "optics.shifttocenter"
params: []
- id: optics_shutter_getobjectpath
label: Get shutter motor object path
kind: query
command: "optics.shutter.getobjectpath"
params: []
- id: optics_shutter_toggle
label: Toggle shutter
kind: action
command: "optics.shutter.toggle"
params: []
# ===== Peripheral frame (horizontal / rotation / vertical) =====
- id: peripheral_frame_horizontal_calibrate
label: Frame H - calibrate
kind: action
command: "peripheral.frame.horizontal.calibrate"
params: []
- id: peripheral_frame_horizontal_runforward
label: Frame H - run forward
kind: action
command: "peripheral.frame.horizontal.runforward"
params: []
- id: peripheral_frame_horizontal_runreverse
label: Frame H - run reverse
kind: action
command: "peripheral.frame.horizontal.runreverse"
params: []
- id: peripheral_frame_horizontal_stepforward
label: Frame H - step forward
kind: action
command: "peripheral.frame.horizontal.stepforward"
params: []
- id: peripheral_frame_horizontal_stepreverse
label: Frame H - step reverse
kind: action
command: "peripheral.frame.horizontal.stepreverse"
params: []
- id: peripheral_frame_horizontal_stop
label: Frame H - stop
kind: action
command: "peripheral.frame.horizontal.stop"
params: []
- id: peripheral_frame_rotation_calibrate
label: Frame rotation - calibrate
kind: action
command: "peripheral.frame.rotation.calibrate"
params: []
- id: peripheral_frame_rotation_runforward
label: Frame rotation - run forward
kind: action
command: "peripheral.frame.rotation.runforward"
params: []
- id: peripheral_frame_rotation_runreverse
label: Frame rotation - run reverse
kind: action
command: "peripheral.frame.rotation.runreverse"
params: []
- id: peripheral_frame_rotation_stepforward
label: Frame rotation - step forward
kind: action
command: "peripheral.frame.rotation.stepforward"
params: []
- id: peripheral_frame_rotation_stepreverse
label: Frame rotation - step reverse
kind: action
command: "peripheral.frame.rotation.stepreverse"
params: []
- id: peripheral_frame_rotation_stop
label: Frame rotation - stop
kind: action
command: "peripheral.frame.rotation.stop"
params: []
- id: peripheral_frame_vertical_calibrate
label: Frame V - calibrate
kind: action
command: "peripheral.frame.vertical.calibrate"
params: []
- id: peripheral_frame_vertical_runforward
label: Frame V - run forward
kind: action
command: "peripheral.frame.vertical.runforward"
params: []
- id: peripheral_frame_vertical_runreverse
label: Frame V - run reverse
kind: action
command: "peripheral.frame.vertical.runreverse"
params: []
- id: peripheral_frame_vertical_stepforward
label: Frame V - step forward
kind: action
command: "peripheral.frame.vertical.stepforward"
params: []
- id: peripheral_frame_vertical_stepreverse
label: Frame V - step reverse
kind: action
command: "peripheral.frame.vertical.stepreverse"
params: []
- id: peripheral_frame_vertical_stop
label: Frame V - stop
kind: action
command: "peripheral.frame.vertical.stop"
params: []
# ===== Remote control =====
- id: remotecontrol_listsensors
label: List IR sensor object names
kind: query
command: "remotecontrol.listsensors"
params: []
# ===== Statistics counters =====
- id: statistics_listcounters
label: List all counters
kind: query
command: "statistics.listcounters"
params: []
- id: statistics_laserruntime_getname
label: Get laser runtime counter name
kind: query
command: "statistics.laserruntime.getname"
params: []
- id: statistics_laserruntime_getunit
label: Get laser runtime unit
kind: query
command: "statistics.laserruntime.getunit"
params: []
- id: statistics_laserstrikes_getname
label: Get laser strikes counter name
kind: query
command: "statistics.laserstrikes.getname"
params: []
- id: statistics_laserstrikes_getunit
label: Get laser strikes unit
kind: query
command: "statistics.laserstrikes.getunit"
params: []
- id: statistics_projectorruntime_getname
label: Get projector runtime counter name
kind: query
command: "statistics.projectorruntime.getname"
params: []
- id: statistics_projectorruntime_getunit
label: Get projector runtime unit
kind: query
command: "statistics.projectorruntime.getunit"
params: []
- id: statistics_systemtime_getname
label: Get system time counter name
kind: query
command: "statistics.systemtime.getname"
params: []
- id: statistics_systemtime_getunit
label: Get system time unit
kind: query
command: "statistics.systemtime.getunit"
params: []
- id: statistics_uptime_getname
label: Get uptime counter name
kind: query
command: "statistics.uptime.getname"
params: []
- id: statistics_uptime_getunit
label: Get uptime unit
kind: query
command: "statistics.uptime.getunit"
params: []
# ===== UI settings =====
- id: ui_settings_get
label: Get UI setting value
kind: query
command: "ui.settings.get"
params:
- name: key
type: string
- id: ui_settings_getfonticons
label: Get font icons for category
kind: query
command: "ui.settings.getfonticons"
params:
- name: category
type: string
description: Enum: Source, Connector, TestPattern
- id: ui_settings_geticons
label: Get SVG icons for category
kind: query
command: "ui.settings.geticons"
params:
- name: category
type: string
description: Enum: Source, Connector, TestPattern
- id: ui_settings_keys
label: List all UI setting keys
kind: query
command: "ui.settings.keys"
params: []
- id: ui_settings_list
label: List all UI settings
kind: query
command: "ui.settings.list"
params: []
- id: ui_settings_remove
label: Remove UI setting key
kind: action
command: "ui.settings.remove"
params:
- name: key
type: string
- id: ui_settings_set
label: Set UI setting key/value
kind: action
command: "ui.settings.set"
params:
- name: key
type: string
- name: value
type: string
- id: ui_togglestealthmode
label: Toggle stealth mode (DEPRECATED)
kind: action
command: "ui.togglestealthmode"
params: []
# ===== Serial-only ECO wake (raw ASCII, not JSON-RPC) =====
- id: serial_eco_wake
label: Wake from ECO mode via RS-232
kind: action
command: ":POWR1\r"
params: []
notes: Raw ASCII bytes on serial port; used only to wake projector in ECO mode.
# ===== HTTP file endpoints (curl-style) =====
- id: http_firmware_transfer
label: Upload firmware image
kind: action
command: "curl -F file=@firmware.dat http://{host}/api/firmware/transfer"
params:
- name: host
type: string
description: Projector IP address
- id: http_connector_edid_transfer_upload
label: Upload EDID file
kind: action
command: "curl -F file=@edid.dat http://{host}/api/image/connector/edid/transfer"
params:
- name: host
type: string
- id: http_connector_edid_transfer_download
label: Download EDID file
kind: action
command: "curl -O -J http://{host}/api/image/connector/edid/transfer"
params:
- name: host
type: string
- id: http_blacklevel_file_transfer_upload
label: Upload black level file
kind: action
command: "curl -F file=@blacklevel.dat http://{host}/api/image/processing/blacklevel/file/transfer"
params:
- name: host
type: string
- id: http_blacklevel_file_transfer_download
label: Download black level file
kind: action
command: "curl -O -J http://{host}/api/image/processing/blacklevel/file/transfer"
params:
- name: host
type: string
- id: http_blend_file_transfer_upload
label: Upload blend file
kind: action
command: "curl -F file=@blend.dat http://{host}/api/image/processing/blend/file/transfer"
params:
- name: host
type: string
- id: http_blend_file_transfer_download
label: Download blend file
kind: action
command: "curl -O -J http://{host}/api/image/processing/blend/file/transfer"
params:
- name: host
type: string
- id: http_warp_file_transfer_upload
label: Upload warp file
kind: action
command: "curl -F file=@warp.dat http://{host}/api/image/processing/warp/file/transfer"
params:
- name: host
type: string
- id: http_warp_file_transfer_download
label: Download warp file
kind: action
command: "curl -O -J http://{host}/api/image/processing/warp/file/transfer"
params:
- name: host
type: string
- id: http_testpattern_file_transfer_upload
label: Upload test pattern image
kind: action
command: "curl -F file=@testpattern.dat http://{host}/api/image/testpattern/file/transfer"
params:
- name: host
type: string
- id: http_testpattern_file_transfer_download
label: Download test pattern image
kind: action
command: "curl -O -J http://{host}/api/image/testpattern/file/transfer"
params:
- name: host
type: string
- id: http_notification_logger_transfer_download
label: Download notification log
kind: action
command: "curl -O -J http://{host}/api/notification/logger/transfer"
params:
- name: host
type: string
Feedbacks
# Queryable states (via property.get) and JSON-RPC notifications (property.changed / signal.callback).
- id: system_state
type: enum
values: [boot, eco, standby, ready, conditioning, on, deconditioning]
query_command: 'property.get "system.state"'
- id: illumination_state
type: enum
values: [On, Off]
query_command: 'property.get "illumination.state"'
- id: illumination_laser_power
type: number
query_command: 'property.get "illumination.sources.laser.power"'
- id: active_source
type: string
query_command: 'property.get "image.window.main.source"'
- id: alarm_state
type: enum
values: [Fatal, Error, Alert, Warning, Ok]
query_command: 'property.get "environment.alarmstate"'
- id: firmware_version
type: string
query_command: 'property.get "firmware.firmwareversion"'
- id: detected_signal
type: object
query_command: 'property.get "image.connector.{name}.detectedsignal"'
# UNRESOLVED: full property catalogue (hundreds) not enumerated; see source "Properties" section.
Variables
# Settable properties (via property.set). Ranges verbatim from source.
- id: image_brightness
type: float
range: { min: -1, max: 1, step: 1, precision: 0.01 }
set_command: 'property.set "image.brightness" = {value}'
- id: image_contrast
type: float
range: { min: 0, max: 2, step: 1, precision: 0.01 }
set_command: 'property.set "image.contrast" = {value}'
- id: image_saturation
type: float
range: { min: 0, max: 2, step: 1, precision: 0.01 }
set_command: 'property.set "image.saturation" = {value}'
- id: image_sharpness
type: integer
range: { min: -2, max: 8, step: 1, precision: 1 }
set_command: 'property.set "image.sharpness" = {value}'
- id: image_gamma
type: float
range: { min: 1, max: 3, step: 1, precision: 0.1 }
set_command: 'property.set "image.gamma" = {value}'
- id: illumination_laser_power_set
type: float
set_command: 'property.set "illumination.sources.laser.power" = {value}'
- id: image_window_main_source
type: string
set_command: 'property.set "image.window.main.source" = {value}'
description: Source name from image.source.list (e.g. "DisplayPort 1", "HDMI")
- id: remotecontrol_address
type: integer
range: { min: 1, max: 31, step: 1, precision: 1 }
set_command: 'property.set "remotecontrol.address" = {value}'
# UNRESOLVED: many more RW properties in source (dmx.*, image.color.p7.custom.*,
# image.processing.*, optics.*, ui.*, network.device.lan.ip4configmanual, etc.)
# not enumerated here for brevity.
Events
# Unsolicited JSON-RPC notifications (no id; client must implement handlers).
- id: property_changed
description: Property value change notification
payload_method: "property.changed"
payload_shape: '{ "property": [ { "<name>": <value> }, ... ] }'
- id: signal_callback
description: Signal fire notification
payload_method: "signal.callback"
payload_shape: '{ "signal": [ { "<name>": { <args> } }, ... ] }'
# Documented signals (subscribe via signal.subscribe):
# modelupdated, image.connector.*.edid.listchanged,
# image.processing.{blacklevel,blend,warp}.file.listchanged,
# image.processing.warpgrid.changed / gridchanged,
# image.testpattern.added / changed / removed / file.listchanged,
# network.added / removed, notification.dismissed / emitted,
# system.identificationchanged, system.license.licensechanged,
# system.performed, ui.settings.added / changed / removed
Macros
# Warp-grid activation sequence documented in source:
# 1. property.set "image.processing.warp.enable" = true
# 2. Upload warp file via HTTP POST to /api/image/processing/warp/file/transfer
# 3. property.set "image.processing.warp.file.selected" = "<filename>"
# 4. property.set "image.processing.warp.file.enable" = true
# Blend-mask activation sequence:
# 1. Upload via /api/image/processing/blend/file/transfer
# 2. property.set "image.processing.blend.file.selected" = "<filename>"
# 3. property.set "image.processing.blend.file.enable" = true
# Black-level-mask activation sequence:
# 1. Upload via /api/image/processing/blacklevel/file/transfer
# 2. property.set "image.processing.blacklevel.file.selected" = "<filename>"
# 3. property.set "image.processing.blacklevel.file.enable" = true
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings, interlock procedures,
# or power-on sequencing requirements. Power-on hint: verify system.state is
# "standby" or "ready" before system.poweron; verify "on" before system.poweroff
# (recommended practice, not a stated interlock).
Notes
- JSON-RPC 2.0 over TCP (port 9090) and RS-232 share the same command set.
- RS-232: 19200 baud, 8 data bits, no parity, 1 stop bit, no flow control. Pinout 2-2, 3-3, 5-5 (straight, 9-pin female host / 9-pin male projector).
- Auth optional: normal end-user access skips authentication; higher access levels require
authenticatewith a secret pass code (example code98765in source). - Best practice: wait for
property.setconfirmation before re-setting the same property (avoids server flooding). system.poweron/system.poweroffreturnnullon success (not an error). No-op if already in target state or transitioning.- Two
property.changednotifications fire on source switch (deselect old, then select new). - ECO wake options: WoL (MAC address), IR remote power, keypad power, or raw serial ASCII
:POWR1\r. - HTTP file transfer base path:
http://<host>/api/.... Upload viacurl -F file=@<file> <url>; download viacurl -O -J <url>.
## Provenance
```yaml
source_domains:
- barco.com
- applicationmarket.crestron.com
source_urls:
- https://www.barco.com/manuals/R5919184/index
- https://www.barco.com/en/support/e2-gen-2
- https://www.barco.com/manuals/R5919184/index.html
- "https://applicationmarket.crestron.com/content/Help/Barco/Barco_JSON-RPC_for_Event_Master_processors_(9.2).pdf"
retrieved_at: 2026-08-16T12:45:52.777Z
last_checked_at: 2026-10-01T07:20:36.944Z
Verification Summary
verdict: verified
checked_at: 2026-10-01T07:20:36.944Z
matched_actions: 213
action_count: 213
confidence: medium
summary: "All 213 spec action literals (JSON-RPC methods, HTTP file endpoints, serial :POWR1) appear verbatim in the source Methods/Files sections. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "exact model/family naming and firmware version compatibility not stated. Source is a generic Pulse \"RS232 and Network Command Catalog\"; model \"E2 v2.0\" supplied by operator."
- "full property catalogue (hundreds) not enumerated; see source \"Properties\" section."
- "many more RW properties in source (dmx.*, image.color.p7.custom.*,"
- "source contains no explicit safety warnings, interlock procedures,"
- "exact product model line/family not confirmed in source text (generic Pulse catalog)."
- "protocol version / Pulse API version number not stated."
- "binary/framing details for JSON-RPC over RS-232 not specified (assumed newline-delimited)."
- "default authentication pass code value (98765 is an example only)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0