CueServer uses System Variables to allow CueScript commands to change properties or behaviors of various system related objects. Setting a system variable has immediate effect, causing the referenced object to change appearance or behavior. For example, to immediately change the brightness of the LCD Backlight, the commands Set lcd.backlight 25 or "lcd.backlight"=25 can be used.
The following sections list the available system variables:
Astro
Accesses the astronomical time parameters of CueServer.
astro.light |
Gets wether it is currently “light” out. A returned value of 1 means that it is light, 0 means that it is dark. Read-Only |
astro.phase |
Gets the current sun phase. One of the following values will be returned:0 = The sun phase is unknown1 = Night2 = Twilight3 = Nautical Twilight4 = Civil Twilight5 = Daylight Read-Only |
astro.latitude |
Gets the current system latitude in degrees. A number from -90 to 90 will be returned. Read-Only |
astro.longitude |
Gets the current system longitude in degrees. A number from -180 to 180 will be returned. Read-Only |
sunrise.hour |
Gets today’s current sunrise hour. A number from 0 to 23 will be returned. Read-Only |
sunrise.minute |
Gets today’s current sunrise minute. A number from 0 to 59 will be returned. Read-Only |
sunrise.second |
Gets today’s current sunrise second. A number from 0 to 59 will be returned. Read-Only |
sunrise.time |
Gets today’s current sunrise time. A formatted as "HH:MM:SS" will be returned. Read-Only |
sunset.hour |
Gets today’s current sunset hour. A number from 0 to 23 will be returned. Read-Only |
sunset.minute |
Gets today’s current sunset minute. A number from 0 to 59 will be returned. Read-Only |
sunset.second |
Gets today’s current sunset second. A number from 0 to 59 will be returned. Read-Only |
sunset.time |
Gets today’s current sunset time. A formatted as "HH:MM:SS" will be returned. Read-Only |
Examples:
Log 'astro.phase'
The example above logs the current sun phase to the system log.
If ('astro.light') Then Cue 1 Go
The example above executes Cue 1 if it is currently light outside.
Set lcd.bottomLeft "Today's Sunset: ${sunset.time}"
The example above displays today’s subnet time on the LCD.
Audio
Sets the output volume for the Audio Output jack.
audio.volume |
Sets the line level output of the Audio Output jack. Available levels range from 0 to 100. A value of 0 produces no output. The default value is 90. |
Example:
Set audio.volume 50
The example above sets the audio volume of the Audio Output jack to 50%.
Buttons
Sets the color and flashing patterns for the built-in user defined function buttons.
Before setting or retrieving one of the button variables, make sure that one or more buttons are selected first. For example, use the Button command to specify which button(s) you want to change a property for.
button.flash |
Sets the flash pattern for buttons. Available patterns range from 0 to 15. A value of 0 means “no flash”. The remaining 15 values produce various combinations of flashing when the button indicator is turned on. |
button.onColorbutton.offColor |
Sets the “on” and “off” colors for buttons. The value can be a single number from 0 to 100, meaning off (black) to full-on (white), or it may be a 3-element array representing an RGB color. For example the array {100,50,0} would produce an Orange color. |
Example:
Button 1
Set button.onColor {100,0,50}
Set button.flash 4
On
The example above first selects button 1, then sets it’s color to a rose color, then sets it’s flash pattern to a fast blink. Then, it turns the button’s indicator “on”.
Clock
Provides access to the real-time clock.
clock.date |
Gets or sets the current date and time. When querying the date variable, a string such as Mon Jan 01 18:30:59 EST 2018 will be returned. When setting the date variable, a variety of formats are supported including MM/DD/YY, HH:MM:SS, YYYY-MM-DD HH:MM:SS, YYYYMMDD HH:MM, next year, last friday, and many others. See the Linux documentation on the date command for more information. |
clock.second |
Gets or sets the current Second. Valid values range from 0 to 59. |
clock.minute |
Gets or sets the current Minute. Valid values range from 0 to 59. |
clock.hour |
Gets or sets the current Hour. Valid values range from 0 to 23. |
clock.day |
Gets or sets the current Day. Valid values range from 1 to 31. |
clock.month |
Gets or sets the current Month. Valid values range from 1 to 12. |
clock.year |
Gets or sets the current Year. Valid values range from 1900 to 2999. |
clock.weekday |
Gets the number of days since Sunday. Valid values range from 0 to 6. This is a read-only property. |
clock.yearday |
Gets the number of days since January 1. Valid values range from 0 to 365. This is a read-only property. |
clock.dst |
Returns 1 if Daylight Saving Time is currently in effect, and 0 if not. Can return -1 in the case where the DST status cannot be determined. Read-Only |
clock.zone |
Gets or sets the time zone. When querying this variable, a string such as America/New York will be returned. When setting this variable, be sure to provide a time zone in the format of <region>/<location> from CueServer’s available listing of time zones. Zones that have spaces in their names can use either space characters (such as America/New York, or underscore characters (such as America/New_York). |
Examples:
Set clock.date "1/1/18 12:00:00"
The example above sets the time and date to January 1, 2018 at noon.
"clock.zone" = "America/Los_Angeles"
The example above sets the time zone to “America/Los Angeles”
if ('clock.hour' > 12) then
Cue 1 Go
endif
The example above executes Cue 1 only if the hour is greater than 12.
Debug
Enables various debugging functions. Each of the following variables can be set to 1 to enable the function and 0 to disable the function.
debug.all |
Enables/disables all of the individual diagnostic functions (see below). |
debug.buttons |
Enables/disables system logging of button and contact related events (both built-in buttons/contacts and CueStation buttons/contacts). |
debug.cue |
Enables/disables system logging of all Cue related events processed by the system. |
debug.cuescript |
Enables/disables system logging of all CueScript commands processed by the system. |
debug.javascript |
Enables/disables system logging of the JavaScript print() function. |
debug.rtc |
Enables/disables system logging of real-time clock related events. |
debug.show |
Enables/disables system logging of show related events. |
debug.triggers |
Enables/disables system logging of trigger functions. |
debug.udp |
Enables/disables system logging of all UDP packets received on the CueScript port. |
debug.variables |
Enables/disables system logging of all changes to variable values. |
Example:
Set debug.udp 1
Set debug.cuescript 0
The example above enables UDP event logging and disables CueScript event logging.
Device
Returns various hardware specific properties.
device.ip |
Gets the device’s primary IP address. Read-Only |
device.ipA |
Gets the device’s IP address for LAN A. Read-Only |
device.ipB |
Gets the device’s IP address for LAN B. Read-Only |
device.gateway |
Gets the device’s gateway address. Read-Only |
device.model |
Gets the device’s model string. Read-Only |
device.name |
Gets the device’s name string. Read-Only |
device.serial |
Gets the device’s serial number. Read-Only |
device.subnet |
Gets the device’s primary subnet address. Read-Only |
device.subnetA |
Gets the device’s subnet address for LAN A. Read-Only |
device.subnetB |
Gets the device’s subnet address for LAN B. Read-Only |
Examples:
Log 'device.model'
The example above logs the device’s model string to the system log.
If ('device.serial' == "640123") Then Log "Hello World"
The example above adds the entry “Hello World” to the system log if the device’s serial number is 640123.
LCD Display
Sets the backlight brightness and various string fields for the LCD display.
lcd.backlight |
Sets the brightness of the LCD Backlight. Brightness values range from 0 to 100. |
lcd.toplcd.bottomlcd.topLeftlcd.topRightlcd.bottomLeftlcd.bottomRight |
Sets a temporary overlay string that replaces the top or bottom lines, or quadrant of the display. Set this value to an empty string ("") to remove the temporary overlay. |
Example:
Set lcd.backlight 25
Set lcd.top "Hello World"
Set lcd.bottom ""
The example above first sets the LCD Backlight brightness to 25%, then writes a temporary string to the top line that says Hello World, then removes any temporary string from the bottom line.
Panel
Changes properties of the front-panel of the device.
panel.brightness |
Sets the overall brightness of the front-panel function button indicators and the navigation switch backlight. Brightness values range from 0 to 100. |
Example:
Set panel.brightness 33
The example above sets the overall front-panel brightness to 33% of its maximum brightness.
Playbacks
Changes properties of a Playback fader.
playback.mode |
Sets the combine mode of a Playback fader. Available modes include "Merge", "Override", "Scale", "Pin", "Mask", and "Crossfade". |
Example:
Playback 1
Set playback.mode "Override"
Playback 2
Set playback.mode "Scale"
The example above first sets the combine mode of Playback 1 to Override, then sets the combine mode of Playback 2 to Scale.
Random Numbers
Sets the seed for the random number generator.
random.seed |
Sets the random number generator’s seed value. The random seed is an unsigned 32-bit value from 0 to 4294967295. |
Example:
Set random.seed 42
The example above sets the random seed to 42.
Show
Gets various show related properties.
show.channels |
Gets the number of configured channels in the active show. Read-Only |
show.name |
Gets the name of the active show. Read-Only |
show.path |
Gets the pathname of the active show on the SD Card. Read-Only |
show.playbacks |
Gets the number of configured playbacks of the active show. Read-Only |
show.ports |
Gets the number of configured ports of the active show. Read-Only |
show.universes |
Gets the number of configured universes of the active show. Read-Only |
Example:
Log "The active show is ${show.name}"
The example above logs the message “The active show is MyShowName”, where MyShowName will be the actual active show name.
UDP
Sets CueScript UDP firewall settings during runtime.
udp.port |
Gets the UDP port over which CueScript messages are accepted. Read-Only |
udp.mode |
Sets the mode for inbound CueScript UDP messages. Available modes include "any", "local", "<ipAddress>", and "off". |
Example:
set udp.mode "10.0.1.234"
The example above sets the UDP firewall to accept inbound messages only from the IP 10.0.1.234.
set udp.mode "off"
The example above sets the UDP firewall to deny all inbound UDP messages.
set udp.mode "local"
Log "UDP over port ${udp.port} set to ${udp.mode}"
The example above sets the firewall to accept messages from the local subnet and then logs the message “UDP over port 52737 set to local”, where 52737 reflects the current UDP port and local reflects the current firewall mode.
Universes
Sets properties of the DMX Universes.
universe.priority |
This is an alias for universe.txpriority. |
universe.rxpriority |
Sets the both the higher and lower limit of sACN priorities that will be received by this universe to the same value. Any received data with a priority different from this number will be rejected. Available values range from 0 to 200. |
universe.rxpriorityhigh |
Sets the higher limit of sACN priorities that will be received by this universe. Any received data with a priority higher than this number will be rejected. Available values range from 0 to 200. |
universe.rxprioritylow |
Sets the lower limit of sACN priorities that will be received by this universe. Any received data with a priority lower than this number will be rejected. Available values range from 0 to 200. |
universe.txpriority |
Sets the priority level of sACN transmissions from this universe. Available values range from 0 to 200. |
Example:
Universe 7
Set universe.txpriority 150
The example above sets the sACN transmit priority of Universe 7 to 150.
Universe 5+7
Set universe.rxpriority 42
The example above sets the sACN receive priority of Universes 5 and 7 to 42. These universes will only receive data with a priority of 42.
Universe 1>4
Set universe.rxprioritylow 175
The example above sets the sACN receive priority of Universes 1 thru 4 to 175. These universes will no longer receive data with a priority 174 or lower.

