Screens tab

Use the Screens tab to view and manage the devices connected to the platform. 

The following options are available:

btn_addScreen.pngClick to display the Screen dialog. Use this dialog to connect a new device to the platform.
btn_Search.pngClick to display the search field and two dropdown menus which enable you to control which items and columns are displayed in the list.In the top dropdown menu, you can select a specific group to restrict the list to displaying only screen items associated with that group.In the bottom dropdown menu, you can select which columns to display in the list.
btn_Refresh.pngClick to refresh the list to reflect the latest changes.
btn_Filter.pngClick to filter the displayed items by specific values. You can filter by connectivity, warnings, or custom status.
btn_DownloadCSV.pngClick to download the data on the tab as a CSV file. All data will be downloaded, even if it is currently filtered from view.
btn_multipleselected.pngWhen you have one or more screen items selected, click this button to display the Multiple selection dialog. Use this dialog to set permissions, add items to a group, and control access to all selected items.

Screen data

Advanced functionality can be configured by special variables added to screen data. Data variables are listed below:

showStatusIconfalsetrueShow a small status icon in the bottom right when downloading media or there are communications problems.
blackConditionfalsetime.between("18:00", "06:59")When condition is true no images or videos will be displayed and the screen output will be black. CL
standbyConditionfalse When condition is true the app will exit. Please note the device will not enter standby and turn off the screen until the sleep period configured in the Android OS. The app will restart after standbyPeriod and check the condition again. CL
standbyPeriod3600000 The period to remain in standby. After this period the app will resume.
restartTime 03:00The time the app should restart. Comma separated list supported. DS Loader version 12.3+ and Player version 10.7+ required. Ignored until app active for 1 minute to prevent restart loops. System clock and time zone must be correct.
exitTime 19:00As above except app exits and does not restart.
rebootTime 00:00As above except reboot command issued. Requires rooted device and support for reboot shell command.
background#000000#FFFFFFThe background colour to display behind other content. Also sets a colour for the video blanker which masks black video when starting and stopping videos.
videoBlankerPeriod250100The period in milliseconds when a video starts and stops to display the video blanker. (requires background)
internetBlobsConditiontruetime.hour() == 3When true images and videos will be downloaded from the Internet if not available on the local network. CL
intranetBlobsConditiontrue When true images and videos will be downloaded from other devices on the local network. CL
blobstoreInternaltrue When true internal storage will be used to store images and videos.
blobstoreExternaltrue When true external storage will be used to store images and videos when the internal storage has less than 128MB available. Please note, on modern devices external storage is a second internal partition. To use an SD card or USB mass storage device you must specify the full path using blobstoreDir.
blobstoreDir /mnt/external_sdAdditional paths suitable for storing blobs. This path will be used if internal and external locations are disabled or have less than 128MB available. It is recommended that you create a directory on the storage device and use the full path because the root may be limited to 512 files. Multiple additional paths can be specified using blobstoreDir_0blobstoreDir_1 etc.
blobTransferRateMin 10240 (10 KiB/s)The minimum acceptable transfer rate for downloading. If the transfer rate drops below this value the download will be terminated and retried later.
blobTransferRateMax 104857600 (100 MiB/s)The maximum acceptable transfer rate for downloading. Some devices can not play HD video content at full frame rate while downloading at high speed. For these devices try reducing to 1 MiB/s (1048576).
widthOverride 640The width of the desired output. (widthOverride and heightOverriderequired)
heightOverride 480The height of the desired output. (widthOverride and heightOverriderequired)
xOverride 100The x position of the desired top left of output. (widthOverride and heightOverriderequired)
yOverride 100The y position of the desired top left of output. (widthOverride and heightOverriderequired)
collectedDataTarget  A server endpoint to POST collected data such as email addresses.
webviewAllow*Only allow the webview to access websites matching this pattern. To add multiple, suffix with a number starting with _0. E.g. webviewAllow_0=... webviewAllow_1=.... This setting restricts main address and iframe addresses but not resources loaded by the page.
webviewReuse 10The number of WebView components to cache and reuse. Speeds up rendering web pages that display more than once. Set to 0 to disable.
webviewReusePeriod 600000The period in milliseconds a cached WebView should reuse content and avoid reloading the page.
maxBitmapCacheSize 20000000The maximum RAM (in bytes) that will be used to cache bitmap images. Default is half memMax.
manageSystemUiVisibilitytruefalseAttempt to hide the System UI. Disable this option if touch events are ignored.
password passwordAdds a password field to the exit dialog. Password typed must match this password to exit.
encryptPlayerComms trueForces player communications to use an encrypted and digitally signed connection.

CL = Conditional logic supported, for example time.between("18:00", "06:59") will automatically enable the setting between 6pm and 6:59am.


Screen data sent by players

Devices will periodically send the following data to the server. This data can be used in conditions to control if an item displays. For example the condition screenWidth > 1000 would ensure the item only displays if the width of the screen is greater than 1000 pixels.

freeSpace_0121321321The number of bytes of free space on the primary storage device.
freeSpace_11584680960The number of bytes of free space on the secondary storage device.
gpsAltitude22.299999237060547The GPS altitude of the device.
gpsBearing0.0The GPS bearing of the device.
gpsLatitude51.19537291The GPS latitude of the device.
gpsLongitude0.27393845The GPS longitude of the device.
gpsSpeed1.5206907The GPS speed of the device.
hardwaremakoThe hardware label assigned to the device.
hardwareBoardMAKOThe hardware board label assigned to the device.
hardwareBootloaderMAKOZ30dThe hardware bootloader label assigned to the device.
hardwareBrandgoogleThe hardware brand label assigned to the device.
hardwareBuildKTU84PThe hardware build label assigned to the device.
hardwareDevicemakoThe hardware device label assigned to the device.
hardwareIdKTU84PThe hardware ID assigned to the device.
hardwareManufacturerLGEThe hardware manufacturer label assigned to the device.
hardwareModelNexus 4The hardware model label assigned to the device.
hardwareProductoccamThe hardware product label assigned to the device.
hardwareSerial004efcdb18961386The hardware serial assigned to the device.
hardwareTagsrelease-keysThe hardware tags assigned to the device.
hardwareTypeuserThe hardware type label assigned to the device.
hardwareVersionCodenameRELThe hardware version codename assigned to the device.
loaderUdpPort44326The port used to communicate directly with this device using UDP.
loaderVersion2.6The version of the loader codebase connecting this device to the server.
memFree439568The number of bytes of free RAM in the active JVM the loader runs in.
memMax201326592The maximum number of bytes available to the JVM for code execution.
memTotal14163968The total number of bytes the JVM has allocated.
requiredDataAvailable355141The number of bytes available locally to play the currently active sequence.
requiredDataTotal355141The number of bytes required to play the currently active sequence.
screenDpiX319.79The number pixels per inch vertically. (often inaccurate)
screenDpiY318.745The number pixels per inch horizontally. (often inaccurate)
screenHeight1184The number of pixels on the screen vertically.
screenWidth768The number of pixels on the screen horizontally.
totalData355141The number of bytes stored on the device for sequence playback.
wifiSignalLevel90The strength of the WiFi signal.
wifiSpeed65The speed in megabits of the active WiFi connection.
wifiSsidSKY56566The SSID of the access point WiFi is connected to.
plugged2The power status. Returns a value greater than 0 if the device is plugged in to mains power. This data is useful in the standbyCondition.

Scrolling text

Scrolling text can be added in the Screen dialog within the Display > Text tab. Further customisation can be added by entering the following options on the Data tab of the Screen dialog:

scrollingText My TextSet to scroll custom text on the screen. (Android only)
scrollingTextSpeed200 Scrolling text speed in pixels per second.
scrollingTextGravitybottom Position the scrolling text should be rendered.
scrollingTextSize100 Text size of the scrolling text in pixels.
scrollingTextColor#FFFFFF Color of the scrolling text.
scrollingTextBackgroundColor#000000 Color of the background behind the scrolling text.
scrollingTextPadding10 Padding between scrolling text and edge of screen.
scrollingTextConditiontrue When true and scrollingText set, the scrolling text will be displayed. CL

CL = Conditional logic supported, for example time.between("18:00", "06:59") will automatically enable the setting between 6pm and 6:59am.

Scrolling text can be added as data to the screen, sequence, or item.

If scrolling text is set on a screen it can be overridden by an item. For example, adding scrollingTextCondition=false to an item would hide the scrolling text while the item is displayed.

Digital clock

A clock can be displayed on the screen. The following values are used to set and style the clock and can be added on the Data tab of the Screen dialog.

timePattern HH:mm:ssPatten to define date/time formatting. Set to show time. (Android only)
timeGravitytop right Position the date/time should be rendered.
timeTextSize100 Text size of the date/time in pixels.
timeTextColor#FFFFFF Color of the text used for drawing date/time.
timePadding10 Padding between date/time and edge of screen.
timeZoneOverride Europe/LondonTimezone used to display current time. This will override the devices configured time zone.

Audio volume

The volume of audio playback can be controlled by setting volume to a value between 0 and 1. The volume setting can be added on the Data tab of the ScreenSequence, or Stack item dialogs.

If the volume is set on a screen it can be overriden by an item. For example, adding volume=0 to a video item would mute the volume when it plays.

volume0.5Set the volume of the audio. (Android only)

Screen brightness

For devices that have full control of the screen (such as tablets and embedded devices) the backlight brightness can be controlled by setting screenBrightness to a value between 0 and 1. The brightness setting can be added on the Data tab of the ScreenSequence, or Stack item dialogs.

If brightness is set on a screen it can be overridden by an item. For example, adding screenBrightness=1 to an image would set maximum brightness when it displays.

screenBrightness0.5Set the brightness of the screen. (Android with built in screen only)

Screen orientation

The screen orientation can be controlled by setting orientation to one of the values below. This option will override the internal orientation sensor. Please note most Android TV devices ignore this setting, so it is always best to configure orientation within Android settings.

orientation6Set landscape orientation
orientation8Set reverse landscape orientation
orientation1Set portrait orientation
orientation9Set reverse portrait orientation

Note: Please see Android Documentation for more orientation settings

Barcodes and Near Field Communication (NFC)

Scanning Barcodes

Barcodes are automatically read when a USB barcode reader is connected (keyboard emulation). If an event is configured with a matching barcode trigger, the action will be performed.

Scanning NFC tags

NFC tags are automatically read when placed near the device. If an event is configured with a matching NFC trigger, the action will be performed.


  • Display an image, video, or sequence when a specific barcode or NFC tag is scanned.
  • Display a web page from by a 3rd party service related to the scanned barcode or NFC tag.
  • Automatically add data to the screen to control volume, standby, brightness or advanced stack item conditions with custom barcodes and NFC tags.

To display a dynamic web page for many barcodes, add ~barcode in the address for the web page action. This will be replaced with the barcode. For example would display the web page if the barcode 123456789 was scanned. Use ~nfcTagText for NFC tags.

Send phone to a custom web address

A phone or tablet with NFC support can also be placed near a digital signage player to open a web browser and load a web page. To configure the destination web page address, set nfcUrl to the address of a web page. The nfcUrl setting can be added as data to the screen, sequence or item.

To complete the NFC transfer, the digital signage screen must be touched.

nfcUrlhttp://www.example.comSend a phone or tablet near to the screen to a web address.

Note: NFC does not function when the digital signage player runs above the Android screen lock.


Bluetooth low energy (BLE) beacons and the physical web

Screens running Android 5.1+ and supported BLE hardware can broadcast a beacon. The beacon can be received by nearby devices to perform actions on the screen.

See Physical Web for more information. UPDATE 2020, Most devices no longer listen for BLE.

beaconConfigblepwEnable the default BLE Physical Web implementation.
beaconConfighttp://example.comOverride the default implementation and direct user to custom address. Note: Eddystone URL Spec restricts this to 17 characters.