Category: Schools. Tags: Schools and campuses, Weather and environment.
Previews



Views and forms
Views: canvas, corner, chip. Canvas forms: landscape, portrait, square, strip.
Card views, themes and publishing. Browse the gallery.
Data and privacy
Feed: screenrig.recess/v1.
Feed documents carry source attribution. The Player supplies the feed to the card.
Properties
For theme, background, accent and position, see Common properties.
Set static properties in params. Bind data to a project card data key for live values; that document holds only dynamic properties. Without a data key, put the complete configuration in params. Nested rows describe the contents of their parent property.
Static properties
| Name | Type | Default | Values and limits | Description |
|---|---|---|---|---|
title | string | "Recess call" | maxLength: 40 | |
school | string | "" | maxLength: 60 | Shown beside the title. A feed's place name fills it when empty. |
units | string | "metric" | "metric", "imperial" | Temperatures, wind and rain on screen. The limits below stay in metric. |
minFeelsLikeC | number | -15 | minimum: -50; maximum: 10 | Recess moves indoors when it feels this cold or colder (wind chill included), in degrees Celsius. |
maxFeelsLikeC | number | 32 | minimum: 20; maximum: 55 | Recess moves indoors when it feels this hot or hotter, in degrees Celsius. |
maxWindKph | number | 50 | minimum: 15; maximum: 120 | Recess moves indoors at this wind speed, or at gusts of 1.4 times it, in km/h. |
maxAqi | integer | 100 | minimum: 50; maximum: 300 | Recess moves indoors when the US air quality index is above this. |
staleMinutes | integer | 90 | minimum: 10; maximum: 1440 | |
hour12 | boolean | false | ||
timeZone | string, null | null |
Dynamic properties
| Name | Type | Default | Values and limits | Description |
|---|---|---|---|---|
current | object, null | null | additionalProperties: false | The conditions now, from the data store. A feed (screenrig.recess/v1) wins when present. |
current.temperatureC | number | minimum: -80; maximum: 60 | ||
current.apparentC | number | minimum: -90; maximum: 70 | Feels like. Without it the card works out the wind chill from the temperature and wind. | |
current.windKph | number | minimum: 0; maximum: 400 | ||
current.gustKph | number | minimum: 0; maximum: 500 | ||
current.condition | string | "clear", "partly-cloudy", "cloudy", "fog", "drizzle", "rain", "heavy-rain", "snow", "sleet", "thunderstorm", "wind" | ||
current.precipitationMm | number | minimum: 0; maximum: 500 | Rain or melted snow in the last hour. | |
aqi | number, null | null | minimum: 0; maximum: 1000 | US air quality index from the data store. |
observedAt | string | "" | maxLength: 32 | When the conditions were read, ISO 8601 (data store only; a feed carries observedAt). |
outlook | array | [] | minItems: 0; maxItems: 12 | The next hours, from the data store. A feed's outlook wins when present. |
outlook[].at | string | maxLength: 32; Required | ||
outlook[].apparentC | number | minimum: -90; maximum: 70 | ||
outlook[].temperatureC | number | minimum: -80; maximum: 60 | ||
outlook[].windKph | number | minimum: 0; maximum: 400 | ||
outlook[].condition | string | "clear", "partly-cloudy", "cloudy", "fog", "drizzle", "rain", "heavy-rain", "snow", "sleet", "thunderstorm", "wind" | ||
outlook[].precipitationPct | number | minimum: 0; maximum: 100 | ||
override | string | "auto" | "auto", "outdoor", "indoor" | The office's call. auto follows the conditions. |
note | string | "" | maxLength: 80 | Why the office made the call. Shown under the verdict when override is not auto. |
Canvas example
Add this item to a playlist page’s primitives. Publish the playlist and assign a screen.
{
"id": "recess-call",
"primitive": "card",
"card": "recess-call",
"major": 1,
"params": {
"theme": "neomustard"
},
"rect": {
"x": 0,
"y": 0,
"width": 1920,
"height": 1080
},
"layer": 0,
"content_fit": "fill",
"data": "recess-call-main"
}
Write live data
Create this document before showing the card, then replace it to update the screen without republishing. Use the same project as the playlist. Supply your API authorization through the environment; see API authentication.
curl --request PUT "https://api.screenrig.ai/api/card-data/recess-call-main" \
--header "Authorization: Bearer $SCREENRIG_TOKEN" \
--header "ScreenRig-Project: $SCREENRIG_PROJECT" \
--header "Content-Type: application/json" \
--data '{"document":{"current":null,"aqi":null,"observedAt":"","outlook":[],"override":"auto","note":""}}'