RDS
Digital Signage RDS — Documentación
ES EN CA FR PT DE IT RU

Devices

The Devices tab lists every screen linked to your company.

List columns

Column Meaning
Status Green / red icon depending on whether the agent has recently heart-beat
Name / ID Device_USERNAME_RDSXXXX and its short RDSXXXX code
Company / branch Who owns it and where it is
Playlist status "Downloading", "Download finished", "Playing", "Not started" (tooltip on hover)
Last heartbeat Last time the agent talked to the server
Coverage Connection quality reported by the agent (where applicable)
Actions Dropdown menu with operations

Platform icon

In the version column, an icon shows the agent's system: Android, Linux or Windows. Linux devices with an ARM processor show the Raspberry Pi logo (or a chip icon for other ARM boards). Hover over it to see the architecture and model, for example ARM64 · Raspberry Pi 5.

Filters

By company, branch, date, or free text (searches name, RDSXXXX, location, department). Filters persist as you navigate.

"Actions" menu

Each row has two dropdowns:

Actions (user)

Admin (Promotienda only)

Internal support actions: manual enable/disable, withdraw, connect, attend incident, etc.

Adding a device

"+ Add" button in the top-right.

Important: a newly created device exists only in the panel. To play content you need to install the agent on the hardware and pair it with the assigned ID. If you bought the device from Promotienda this is already done.

Buying a device

"Buy device" button. Opens the catalogue with the option to ship directly to your premises with the playlist and WiFi preconfigured. Includes 1 year of free RDS licence.

More details here.

Shipment status

When you buy devices from the catalogue, during the shipping period they appear with a "Shipment pending" label and the user actions are disabled. Promotienda marks them as shipped when they leave the warehouse — at that point the actions re-enable and you receive a notification email.

Device card information

Hovering over a device opens a card with its real-time data. Relevant rows:

Row Meaning
IP Last public IP seen by the server
Version Installed agent version (EOL badge if below the minimum supported: 2.0.0 on Android, 1.0.0 on Linux)
Coverage Connection quality reported by the agent
Model Hardware model. Android: Build.DEVICE (e.g. emu64xa, RMX2061). Linux: DMI name (VirtualBox, ThinkPad X1, etc.)
Android Android version (Android agents only)
OS OS distribution and version (Linux agents only, read from /etc/os-release. E.g.: Debian GNU/Linux 13 (trixie))
Uptime Time since last boot. Useful for spotting unexpected reboots
Last heartbeat Time of the last heartbeat received

The Android agent uses SystemClock.elapsedRealtime() (includes deep-sleep time). The Linux agent reads /proc/uptime.

Updating the agent

In Device panel → Agent version you choose which version the screen should update to.

Device panel → Agent version

  1. Under Target version (the next one to be installed) pick a published version, or — No target (do not update) —.
  2. Press Save target version. Nothing is stored until then: the panel footer says Not saved yet and, after saving, shows the server's answer, or the reason if it refuses (for example, an agent too old to update remotely).
  3. The screen downloads and installs the version on its next connection. Meanwhile you see Pending update to X next to the installed version.

On Android, installation is only automatic on rooted devices. On the others (non-rooted tablets, phones and TVs) Android shows its install window over the content and someone at the screen has to press Install. On Android 8 or later, Install unknown apps must be allowed for Digital Signage RDS in Android settings beforehand. If the install is declined or fails, it is not retried until you choose another target version.

Screenshots

From Actions → Screenshot you can ask the device for a JPEG of what it is showing on screen at that moment. Works on Android, Linux and Windows.

How it works

  1. Pressing the option opens a modal dialog with a spinner and the message "Screenshot requested. Waiting for device…". The grey counter shows elapsed seconds.
  2. The server marks the request (screenshot_pending=1) and injects it as a flag in the next heartbeat response to the agent (≤ 60 s).
  3. The agent:
    • Linux captures with scrot from display :0 (everything visible, including the WebKit browser of kiosk mode or the playlist player).
    • Android captures with PixelCopy the foreground Activity window (PlayerActivity or KioskBrowserActivity). This includes GPU-accelerated WebView/Surface content.
  4. The JPEG (quality 70, ~150-400 KB typical) is signed with HMAC-SHA256 v2 and POSTed to /suport/upload_screenshot.php.
  5. The server verifies the signature, saves the image as /screenshots/<num_serie_gprs>.jpg (always only one image per device, overwritten), clears the flag and stamps screenshot_at.
  6. The dialog, polling every 4 s, detects the new image and replaces the spinner with a clickable preview (opens the original image in a new tab).

Timing and retries

Privacy and permissions

Viewing the image later

If you close the dialog, the last capture is still accessible: