Contents Menu Expand Light mode Dark mode Auto light/dark mode
These modules are all available for download and use from within Pharos Designer software
IO Modules
Light Logo Dark Logo
IO Modules

Device Integration

  • AV Stumpfl UHD Player
  • Advatek PixLite MK3
  • Brompton Tessera Status
  • Color Kinetics Data Enabler Pro Power Relay
  • Color Kinetics Ethernet Keypad
  • Color Kinetics KiNET Power/Data Supply Status
  • Color Kinetics Luminous Textile
  • DiGidot
  • ETC Response SnapBack
  • Express
  • Genelec Smart IP
  • KissBox IO CardCages
  • Level Developments LCH-360
  • Madrix 5
  • Madrix Aura
  • PJLink
  • Papouch TM RS232 Thermometer
  • Pathway Pathport Status
  • Pragma Innovations ARVIGOmoto
  • Raritan PX IP PDU Outlet Control
  • Thermokon Li65+ Lux-Temperature RS485 Sensor
  • VideoLan VLC Player Client (HTTP)
  • WEAD ATR

Device Utilities

  • Controller Analog Input Status
  • Controller Digital Input Status
  • Controller HTTP API Client Commands
  • Controller HTTP API Client Queries
  • Digital Input Double Click
  • Park and Unpark Channels
  • Pulse Digital Output
  • Restore
  • Touch Button Timeline Labels

Productivity

  • Clear Log
  • Counter
  • Cue Stack
  • Daylight Savings
  • Delayed Startup
  • Holidays and events
  • Management Mode
  • Network Connection Status
  • Nth Weekday
  • Repeat
  • Seasons
  • Separator
  • Stopwatch
  • Trigger Lockout
  • Wait
  • Watchdog

Protocols & Standards

  • BACnet Server
  • C-Bus (Serial)
  • HTTP Poll
  • HTTP Request
  • KNXnet/IP
  • MQTT Client
  • Maintained TCP Connection
  • Modbus
  • OSC
  • Ping
  • Syslog
  • Telnet Client
  • Wake-on-LAN
  • WebSocket Client

System Integration

  • Casambi Lithernet Gateway
  • Dynalite DyNet (IP)
  • Dynalite DyNet (Serial)
  • Enocean Rocker Switch Via Deuta Enodisc
  • Enocean Via Deuta Enodisc
  • HelvarNet
  • ISAAC
  • Lutron Athena/Vive (LEAP API)
  • Lutron Quantum (Serial/Telnet)
  • Philips Hue
  • Sorama Smart Stadium
  • Xicato
  • deCONZ

Trigger Utilities

  • Append Trigger Variable
  • Check Integer in Range
  • Check Scene in Group
  • Check Timeline in Group
  • Colour tools
  • DMX Value Mapper
  • Lookup name
  • Modify Trigger Variables
  • Pad Trigger Variables
  • Ramp Timeline Rate
  • Random Interval
  • Random Trigger
  • Release Selected Scenes
  • Release Selected Timelines
  • Set HSI
  • Set Status Variable
  • Set and Get Variables
  • Start Multiple Scenes
  • Start Multiple Timelines
  • Start Random Scene
  • Start Random Timeline
  • Start Random Timeline or Scene

Web Services

  • Accuweather
  • Australian Reefs
  • Email Notification
  • IFTTT
  • Internet Host Connection Status
  • Kumux
  • MET Norway
  • Telegram Bot
  • UK Tide Times

BETA

  • Accuweather
  • Advatek PixLite MK3
  • Allen and Heath Mixer Control
  • Backstage Control - Kiss the Frog
  • Casambi Lithernet Gateway
  • Colour tools
  • Controller HTTP API Over...
  • DMX Value Mapper
  • Dynalite DyNet
  • Hive
  • LumiNode
  • Lutron Athena/Vive (LEAP API)
  • Lutron Quantum (Serial/Telnet)
  • MPD
  • Nexmosphere
  • OSC
  • Pirate Weather
  • RDM Discovery
  • Server Technology PDU
  • Socomec Diris PMD
  • WEAD ATR
  • Wattstopper PLUS
  • Zencontrol TPI
Back to top

PJLink - Version 2.2.0#

Module Summary#

Controls and queries PJLink projectors.

Module Status#

This IO Module is stable and has been tested internally.

If you encounter any issues with this module, or have any feedback regarding its operation, please contact our support team.

Release Notes#

Version 2.2#

  •  Adds Extended Logging instance property.

  •  Expands Status Variables.

  •  Fixes password authentication.

Version 2.1.1#

  •  Faster detection of connection timeouts.

  •  Status variables for connection, and message tracking.

Version 2.0#

  •  Updated documentation.

  •  Added extra logging and error checking.

  •  General updates and improvements.

  •  Spelling fixes.

  •  Command queue is processed upon successful (re)authentication.

  •  Non-specification trailing characters in commands, specifically during authentication, are ignored.

Minor point releases (eg. 1.1.x) will be for small fixes and may not be listed here.

Operation#

PJLink is a unified standard for operating and controlling projectors.

This module enables a Controller to control and query projectors that are compliant with the protocol via TCP.

Triggers give the user the ability to create sub routines in response to the projector being queried.

Error messages#

Not be confused with error messages reported from the projector about its hardware, these error messages are normally flagged when either a command has been sent at the wrong time (when the projector is in standby) or when the command parameter is incorrect eg. if RGB input number 7 has been selected but does not exist on the projector.

The error messages are as follows:

  •  Error 1: Undefined command

  •  Error 2: Out of parameter

  •  Error 3: Unavailable time

  •  Error 4: Projector/Display failure

  •  Error A: Error Authorization

Authentication procedure#

To communicate with each other using PJLink, both the projector and the Controller must carry out the authentication procedure in advance. If no password is set, simply sending a command to the projector will establish a connection. If a password is set, the password stored in the modules instance properties will be used to attempt authentication before each session starts.

The authentication procedure involves a password verification process. A password is sent to the projector and is encrypted into a 32-byte message with a random number assigned by the Projector/Display. This is done internally and is encrypted using an MD5 algorithm.

Once authenticated, a connection will be established between the Controller and the projector for 30 seconds. After this time has elapsed, the connection is terminated by the projector and the password will automatically be sent again before the next batch of commands.

Instance Properties#

Set the Projector IP Address and Port to that of the PJLink projector.

If required, enter the Password to authenticate with the projector.

Checking the Extended Logging checkbox will provide more detailed log messages. This is intended for diagnostics and problem solving and should ideally be disabled during normal operation.

Status Variables#

The IO Modules tab of the web interface provides status variables to shows information about the module and monitor its state.

Connected Is connected to the projector (true/false)
Last command sent Last command sent to the projector, with timestamp
Last query response Last command response received from the projector, with timestamp
Display Name The projector name or "no data"
Power Status The projector's last polled power status: "Power-off (standby)", "Power-on (lamp-on)", "Cooling", "Warm-up", "no data"
Current Input The projector's last polled current input number and input type or "no data"
Mute Status The projector's last polled mute status: "Video mute ON", "Audio mute ON", "Video and audio mute ON", "Video and audio mute OFF", "no data"
Lamp Hours A comma separated list of the projector's last polled lamp hours
Fan Status The projector's last polled fan status or "no data"
Lamp Status The projector's last polled lamp status or "no data"
Temperature Status The projector's last polled temperature status or "no data"
Cover Status The projector's last polled cover status or "no data"
Filter Status The projector's last polled filter status or "no data"
Other Status The projector's last polled other (miscellaneous, projector defined) status or "no data"

Triggers#

General Response#

Fires when a received message is not a response to a query. This may be an error, confirmation that a command has been executed, or a warning.

Trigger variables:

  •  Variable 1: Response description (string).

Power Query Response#

Fires in response to a Power Status Query Action and the received state matches the Power State Response property.

Trigger variables:

  •  Variable 1: Power status (string).

Current Input Query Response#

Fires in response to a Current Input In Use Query Action and the received input matches the Input Type and Input Number.

Trigger variables:

  •  Variable 1: Input type (string).

  •  Variable 1: Input number (integer).

Mute Status Query Response#

Fires in response to a Mute Status Query Action and the received state matches the Mute Status property.

Trigger variables:

  •  Variable 1: Mute status (string).

Error Status Query Response#

Fires in response to a Error Status Query Action and the received state matches the Mute Status property.

Trigger variables:

  •  Variable 1: Error status (string).

Lamp Hours Query Response#

Fires in response to a Lamp Number/Lighting Hour Query Action and the received input matches the Lamp Number and Fire if over properties.

Trigger variables:

  •  Variable 1: Lamp number (integer).

  •  Variable 1: Lamp hours (integer).

Actions#

Power-on Instruction#

Sends a command to the projector to power on.

Power Status Query#

Sends a request to the projector to receive its power status. The response fires a Power Query Response Trigger.

Input Switch Instruction#

Sends a request to the projector to set its input to the input defined by the Input Type and Input Number.

Current Input In Use Query#

Sends a request to the projector to receive its current input. The response fires a Current Input In Use Trigger.

Mute Instruction#

Sends a request to the projector to set its current mute state to the Mute Command.

Mute Status Query#

Sends a request to the projector to receive its current mute status. The response fires a Mute Status Query Response Trigger.

Lamp Number/Lighting Hour Query#

Sends a request to the projector to receive its current lamp hours. The response fires a Lamp Hours Query Response Trigger.

Input List Query#

Sends a request to the projector to receive its input list. The response will be logged.

Projector/Display Name Query#

Sends a request to the projector to receive its name. The response will be logged.

Manufacturer Name Information Query#

Sends a request to the projector to receive its manufacturer name. The response will be logged.

Product Name Information Query#

Sends a request to the projector to receive its product name. The response will be logged.

Other Information Query#

Sends a request to the projector to receive any other miscellaneous information. The response will be logged.

Class Information Query#

Sends a request to the projector to receive its class type. The response will be logged.

Support#

If you encounter any issues with this module, please contact our support team.

Next
Papouch TM RS232 Thermometer - Version 2.1.0
Previous
Madrix Aura - Version 2.0.0
Copyright © 2026 Pharos Architectural Controls Ltd
Made with Sphinx and @pradyunsg's Furo
/>
On this page
  • PJLink - Version 2.2.0
    • Module Summary
    • Module Status
      • Release Notes
        • Version 2.2
        • Version 2.1.1
        • Version 2.0
    • Operation
      • Error messages
      • Authentication procedure
      • Instance Properties
        • Status Variables
      • Triggers
        • General Response
        • Power Query Response
        • Current Input Query Response
        • Mute Status Query Response
        • Error Status Query Response
        • Lamp Hours Query Response
      • Actions
        • Power-on Instruction
        • Power Status Query
        • Input Switch Instruction
        • Current Input In Use Query
        • Mute Instruction
        • Mute Status Query
        • Lamp Number/Lighting Hour Query
        • Input List Query
        • Projector/Display Name Query
        • Manufacturer Name Information Query
        • Product Name Information Query
        • Other Information Query
        • Class Information Query
    • Support