Free Screenly Player with every Business or Enterprise yearly plan. How it works →

Screen status and health

What a screen's status values mean, how to read last_ping, and the hardware and software fields in screen reports.

Updated

A screen record is what you configured. What the device reports about itself lives next to it: its status, when it last checked in, and its health report. On v4.1 each has its own path. On v4, status, in_sync, and last_ping are fields on /v4/screens. See Versions.

Status

/v4.1/screens/statuses returns 1 row per screen, keyed by screen_id.

curl -s -H "Authorization: Token $API_TOKEN" \
  "https://api.screenlyapp.com/api/v4.1/screens/statuses?status=eq.Offline"

status takes 1 of 4 values:

ValueMeaning
OnlineThe screen is reachable and has what it should be playing
Out of syncThe screen is reachable but doesn't yet have what it should be playing
OfflineThe screen hasn't been in touch recently
InactiveThe screen is disabled

Online includes a screen with nothing scheduled. An empty playlist doesn't change the status, so to find screens with nothing to play, check their playlists rather than their status.

in_sync is the content half on its own, as a boolean. On v4.1, is_online is the reachability half on its own.

When a screen last checked in

On v4 this is last_ping on the screen. On v4.1 it is updated_at on /v4.1/screens/pings.

It is always a timestamp, never null. A screen starts with its creation time, so a null value doesn't mean "never connected". To find a screen that has never checked in, compare last_ping with the screen's created_at: a screen that has never checked in still carries the time it was created.

Note

Because that starting timestamp is recent, a screen created in the last 4 hours can report Online before the device has ever reached Screenly.

Screen reports

GET /v4.1/screens/reports returns what each player reports about itself, keyed by screen_id. Fields fill in from each player's next report. Some apply only to certain hardware, and a field a player doesn't report is empty.

Storage

FieldWhat it holds
sd_card_healthErrors on a Raspberry Pi's SD card, and whether the card has turned read-only
smart_disk_dataA S.M.A.R.T. summary of the SSD or NVMe drive on an x86 player, including temperature, power-on hours, and how much of its life is used
storage_infoThe identity of a Raspberry Pi's SD card: name, manufacturer, and date
disk_usageTotal, used, and free space on the player's data storage, in bytes
disk_statsRead and write counters for each disk since the player started

Hardware

FieldWhat it holds
sensorsTemperature and other sensor readings, such as a Raspberry Pi's chip temperature
x86_statsHardware temperatures on Screenly Player and Screenly Player Max
mem_infoTotal, free, and available memory, in kB
raspi_rev, raspi_serialA Raspberry Pi's board revision and serial number

Software and security

FieldWhat it holds
installed_snapsEvery software package on the player, with its version
device_model, validation_setsThe ScreenlyOS image a player runs, and the exact package versions it's held to
secure_boot, full_disk_encryption, mtls_enabledWhether the player uses secure boot, an encrypted data partition, and a client certificate for its connection to Screenly
is_waylandWhether the player draws through the newer display stack

Display, network, and running state

FieldWhat it holds
display_dataEach connected display's make, model, size, and supported resolutions
screen_resolutionThe resolution content is shown at
bluetoothon, off, or unknown. off also covers a player with no Bluetooth at all
probe_diagnosticsThe results of the player's own network checks, refreshed about once a day
player_uptimeSeconds since the player's content started, which restarts once a day
local_timeThe player's clock when it sent the report

The report also carries the fields it has had longer, such as local_ip, mac, uptime, load, and client_version. Every field is in the v4.1 API reference.

Was this page helpful?

Thanks. Glad it helped.

Thanks. That tells us where to look next.

Type to search the documentation