Ein Balken über die gesamte Bildschirmbreite, bündig am oberen Rand, fasst die kleinen Dinge zusammen, die ein Bildschirm braucht. Die linken und rechten Slots zeigen jeweils einen Punkt: Wörter, ein Tag, eine Uhr, das aktuelle Wetter, ein Symbol, das Datum, einen Statuspunkt, Ihr Logo, einen Countdown, eine Zahl, die aktuelle Seite oder eine stille Warnung, die warm oder rot wird. Die Mitte trägt eine Nachricht, die stillsteht, bei langer Nachricht kriecht oder bis zu acht Seiten durchblättert. Sie legen die Punkte und die Nachricht fest und ändern sie während der Laufzeit; der Balken behält auf jedem Bildschirm seine Position.
Live-Karte
Kategorie: Nachrichten. Schlagwörter: Wartebereiche und Empfang, Büros und Arbeitsplätze, Geschäfte.
Layouts
Diese Balkenkarte wird als Kopfzeile platziert: eine vollbreite Leiste, 80 hoch, bündig mit der oberen Kante. Sie nimmt kein Layout oder Anker ein.
Layouts: Kopfzeile. Formulare: Streifen.
Kartenlayouts, Designs und Veröffentlichung. Karten durchsuchen.
Daten und Datenschutz
Feed: screenrig.weather/v1.
Feed-Dokumente tragen Quellenangaben. Der Player liefert den Feed an die Karte.
Wetterzuordnung: Wetterdaten von Weatherbit, wie im Feed-Dokument benannt.
Eigenschaften
Für Thema, Hintergrund und Akzent siehe Gemeinsame Eigenschaften. Eine Bar-Karte hat keine layout oder anchor Eigenschaft: Sie wird immer als Kopfzeile platziert.
Legen Sie statische Eigenschaften in den params der Karte fest, wenn Sie sie erstellen. Ihr Datendokument enthält nur dynamische Eigenschaften. Verschachtelte Zeilen beschreiben den Inhalt ihrer übergeordneten Eigenschaft.
Statische Eigenschaften
| Name | Typ | Standard | Werte und Grenzwerte | Beschreibung |
|---|---|---|---|---|
location | Objekt, Null | null | additionalProperties: false | Wo das Wetter-Element seine Bedingungen liest; ohne Angabe gibt es keine Wetterdaten und das Element bleibt leer. |
location.name | string | maxLength: 40; Pflichtfeld | ||
location.latitude | number | Minimum: -90; Maximum: 90; Pflichtfeld | ||
location.longitude | number | Minimum: -180; Maximum: 180; Pflichtfeld | ||
timeZone | String, Null | null | maxLength: 64 | IANA-Zone der Uhr-, Datums- und Countdown-Elemente; null verwendet die Zone des Bildschirms. |
backgroundColor | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Überschreibt den Kartenhintergrund und die Platte mit einer flachen, CSS-geordneten Farbe. #RRGGBBAA gibt die Deckkraft an. Hintergrund none hat Vorrang. |
textColor | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Überschreibt die Haupt- und Sekundärtextfarben. Akzent- und semantische Statusfarben behalten ihre Funktion. |
Dynamische Eigenschaften
| Name | Typ | Standard | Werte und Grenzwerte | Beschreibung |
|---|---|---|---|---|
left | Objekt, Null | null | additionalProperties: false | Der linke Slot, 250 px breit (240 x 70 darin), Inhalt am Anfang, 24 px vom Bildschirmrand. null lässt ihn leer; er behält seinen Platz. Was kind liest: Text und Tag text; Uhr hourCycle und timeZone; Wetter unit (aus dem Wetterfeed); Symbol icon; Datum dateStyle und timeZone; Status text, tone und pulse; Logo media; Countdown at und label; Zahl label und value; Seite page, of und style; Alarm active, severity und text. hourCycle einer Uhr, unit eines Wetterelements und die Reihenfolge eines Datums folgen der Lokalisierung des Players, sofern das Element sie nicht festlegt. |
left.kind | string | "text", "tag", "clock", "weather", "icon", "date", "status", "logo", "countdown", "number", "page", "alert"; erforderlich | Was der Slot anzeigt. | |
left.text | string | "" | maxLength: 60 | Die Wörter eines Text-, Tag-, Status- oder Alarmelements. |
left.size | string | "small" | "small", "medium", "large" | Schriftgröße von Text-, Tag-, Status- und Alarmelementen (24, 32 und 44 px bei 1080p; ein kleiner Text nimmt zwei Zeilen ein, die anderen eine), von einem Datum (32, 44 und 56 px, eine Zeile) und der Ziffern eines Uhr-, Wetter-, Countdown-, Seiten- und Symbolelements. |
left.color | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | #RRGGBB oder #RRGGBBAA Text- oder Symbolfarbe; null übernimmt die Textfarbe des Themas. |
left.fill | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Das abgerundete Rechteck eines Tags: #RRGGBB oder #RRGGBBAA; null ist die Textfarbe mit halber Stärke (eine Umrandung in den Clear-Themen). |
left.icon | Null, Zeichenkette | null | null, "activity-01", "air-vent", "airplane-01", "alert-01", "alert-02", "american-football", "analytics-up", "apple", "arrow-down-01", "arrow-down-right-01", "arrow-up-01", "arrow-up-right-01", "award-01", "baseball", "basketball-01", "battery-full", "bell-ring", "bicycle", "birthday-cake", "bitcoin", "bus-01", "calendar-03", "calendar-04", "calendar-add-01", "calendar-check", "call-02", "camera-01", "cancel-circle", "car-01", "champion", "chart-decrease", "chart-increase", "checkmark-circle-02", "clock-01", "clock-02", "cloud", "cloud-angled-rain", "cloud-angled-zap", "cloud-big-rain", "cloud-drizzle", "cloud-fog", "cloud-hailstone", "cloud-snow", "coffee-01", "coffee-02", "contact-01", "container-truck-01", "cricket-bat", "crown", "delivery-truck-01", "dices", "discord", "discount-tag-01", "dollar-02", "door-closed-locked", "door-open", "drink", "droplet", "ethereum", "euro", "exchange-01", "facebook-01", "factory", "fast-wind", "favourite", "ferry-boat", "fire", "fire-02", "first-aid-kit", "flag-01", "flag-02", "flash", "flower-01", "football", "gauge", "gift", "git-branch", "globe-02", "google", "hand-prayer", "heart", "help-circle", "home-01", "hourglass", "humidity", "ice-hockey", "information-circle", "instagram", "lamp-01", "lantern", "leaf-01", "leaf-02", "lightbulb", "link-01", "linkedin-01", "litecoin", "location-01", "location-04", "mail-01", "medal-first-place", "medical-mask", "meeting-room", "megaphone-01", "message-01", "money-exchange-02", "moon-02", "moon-cloud", "moon-star", "music-note-01", "navigation-03", "new-releases", "new-twitter", "news", "news-01", "noodles", "package-delivered", "parking-area-square", "party", "party-popper", "pause-circle", "percent-circle", "pinterest", "pizza-01", "play-circle", "play-store", "podium", "pound", "pumpkin", "qr-code", "qr-code-01", "queue-01", "quote-down", "quote-up", "ranking", "restaurant-01", "rocket-01", "rss", "running-shoes", "sale-tag-01", "security-check", "shop-sign", "shopping-bag-01", "siren", "smart-phone-01", "snapchat", "snowflake", "sparkles", "spotify", "star", "star-half", "star-off", "stop-circle", "store-01", "sun-03", "sun-cloud-02", "sunrise", "sunset", "swimming", "tag-01", "target-02", "temperature", "tennis-ball", "thermometer", "thermometer-cold", "thermometer-warm", "threads", "ticket-01", "tiktok", "time-quarter-pass", "timer-01", "tornado-02", "train-01", "tram", "trophy", "tropical-storm", "tsunami", "user-02", "user-group", "user-love-01", "vegetarian-food", "volleyball", "volume-high", "vote", "walking", "warehouse", "waves", "whatsapp", "wheat-off", "wifi-01", "wifi-full-signal", "wifi-lock", "wrench-01", "yen", "youtube" | Das Symbol eines Symbol-Elements. |
left.tone | string | "cool" | Muster: "^(success|warm|danger|cool|accent|muted|#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)$" | Die Farbe eines Statuspunkts: ein Palettenschlüssel (Erfolg ist ok oder offen, warm Beobachtung oder bald, Gefahr Alarm oder geschlossen, kühl Information) oder #RRGGBB. |
left.pulse | boolean | false | Ein Statuspunkt, der einmal pro Sekunde pulsiert. | |
left.hourCycle | string | "auto" | "auto", "12", "24" | Die Stunden einer Uhr: Auto folgt der Gebietsschema-Einstellung des Players (14:05, wenn normalerweise eine 24-Stunden-Uhr verwendet wird, sonst 2:05 PM); 12 ist 2:05 PM und 24 ist 14:05 in jedem Gebietsschema. |
left.timeZone | String, Null | null | maxLength: 64 | IANA-Zone einer Uhr, eines Datums oder Countdowns; null nimmt die Zone der Leiste, sonst die des Bildschirms. |
left.dateStyle | string | "short" | "short", "long" | Ein Datumselement: kurz ist Mi 21 Okt und lang Mittwoch, 21. Oktober; im US-Gebietsschema steht der Monat zuerst (Wed Oct 21, Wednesday, October 21). Wochentags- und Monatsnamen sind Englisch; ein langes Datum, das nicht passt, wechselt zur kurzen Form. |
left.at | String, Null | null | maxLength: 40 | ISO 8601-Zeitpunkt, zu dem ein Countdown läuft; ohne Offset ist es die Ortszeit in der Zone des Elements. |
left.label | string | "" | maxLength: 24 | Das Label einer Zahl über ihrem Wert; das Label eines Countdowns über seinen Ziffern, solange er läuft (entfällt, wenn es nicht vollständig passt), und die Worte, die er anzeigt, sobald sein Zeitpunkt gekommen ist. |
left.value | string | "" | maxLength: 16 | Ein Zahlenwert, formatiert, wie Sie ihn lesen möchten (1.284 oder 98 %). |
left.media | string | "" | maxLength: 200 | Ein Logo-Elementbild: ein Projekt-Medienverweis (media:<id>), ganz passend in 240 x 70. |
left.page | integer | 1 | Minimum: 1; Maximum: 999 | Die aktuelle Seite eines Seitenelements, beginnend bei 1. |
left.of | integer | 1 | Minimum: 1; Maximum: 999 | Die Seitenanzahl eines Seitenelements. |
left.style | string | "numbers" | "dots", "numbers" | Ein Seitenelement als 3 / 8 oder als Punkte (Punkte bleiben bei zwölf Seiten). |
left.active | boolean | false | Ein Alarmelement: false ist ein ruhiges Häkchen, true nimmt die Schwerefarbe und die zugehörigen Wörter an. | |
left.severity | string | "warm" | "warm", "danger" | Die Farbe eines aktiven Alarmelements: warm für Beobachtung, Gefahr für Alarm. |
left.unit | string | "auto" | "auto", "c", "f" | Die Temperaturskala eines Wetterelements: auto ist Fahrenheit, wenn die Region des Players dies verwendet (US PR GU VI AS MP BS BZ KY PW LR) und Celsius überall sonst; c und f erzwingen Celsius oder Fahrenheit in jeder Region. |
right | Objekt, Null | null | additionalProperties: false | Der rechte Slot, 250 px breit (240 x 70 darin), Inhalt am Ende, 24 px vom Bildschirmrand. Dieselben Elemente wie im linken Slot, mit denselben Lokalisierungsregeln. |
right.kind | string | "text", "tag", "clock", "weather", "icon", "date", "status", "logo", "countdown", "number", "page", "alert"; erforderlich | Was der Slot anzeigt. | |
right.text | string | "" | maxLength: 60 | Die Wörter eines Text-, Tag-, Status- oder Alarmelements. |
right.size | string | "small" | "small", "medium", "large" | Schriftgröße von Text-, Tag-, Status- und Alarmelementen (24, 32 und 44 px bei 1080p; ein kleiner Text nimmt zwei Zeilen ein, die anderen eine), von einem Datum (32, 44 und 56 px, eine Zeile) und der Ziffern eines Uhr-, Wetter-, Countdown-, Seiten- und Symbolelements. |
right.color | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | #RRGGBB oder #RRGGBBAA Text- oder Symbolfarbe; null übernimmt die Textfarbe des Themas. |
right.fill | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Das abgerundete Rechteck eines Tags: #RRGGBB oder #RRGGBBAA; null ist die Textfarbe mit halber Stärke (eine Umrandung in den Clear-Themen). |
right.icon | Null, Zeichenkette | null | null, "activity-01", "air-vent", "airplane-01", "alert-01", "alert-02", "american-football", "analytics-up", "apple", "arrow-down-01", "arrow-down-right-01", "arrow-up-01", "arrow-up-right-01", "award-01", "baseball", "basketball-01", "battery-full", "bell-ring", "bicycle", "birthday-cake", "bitcoin", "bus-01", "calendar-03", "calendar-04", "calendar-add-01", "calendar-check", "call-02", "camera-01", "cancel-circle", "car-01", "champion", "chart-decrease", "chart-increase", "checkmark-circle-02", "clock-01", "clock-02", "cloud", "cloud-angled-rain", "cloud-angled-zap", "cloud-big-rain", "cloud-drizzle", "cloud-fog", "cloud-hailstone", "cloud-snow", "coffee-01", "coffee-02", "contact-01", "container-truck-01", "cricket-bat", "crown", "delivery-truck-01", "dices", "discord", "discount-tag-01", "dollar-02", "door-closed-locked", "door-open", "drink", "droplet", "ethereum", "euro", "exchange-01", "facebook-01", "factory", "fast-wind", "favourite", "ferry-boat", "fire", "fire-02", "first-aid-kit", "flag-01", "flag-02", "flash", "flower-01", "football", "gauge", "gift", "git-branch", "globe-02", "google", "hand-prayer", "heart", "help-circle", "home-01", "hourglass", "humidity", "ice-hockey", "information-circle", "instagram", "lamp-01", "lantern", "leaf-01", "leaf-02", "lightbulb", "link-01", "linkedin-01", "litecoin", "location-01", "location-04", "mail-01", "medal-first-place", "medical-mask", "meeting-room", "megaphone-01", "message-01", "money-exchange-02", "moon-02", "moon-cloud", "moon-star", "music-note-01", "navigation-03", "new-releases", "new-twitter", "news", "news-01", "noodles", "package-delivered", "parking-area-square", "party", "party-popper", "pause-circle", "percent-circle", "pinterest", "pizza-01", "play-circle", "play-store", "podium", "pound", "pumpkin", "qr-code", "qr-code-01", "queue-01", "quote-down", "quote-up", "ranking", "restaurant-01", "rocket-01", "rss", "running-shoes", "sale-tag-01", "security-check", "shop-sign", "shopping-bag-01", "siren", "smart-phone-01", "snapchat", "snowflake", "sparkles", "spotify", "star", "star-half", "star-off", "stop-circle", "store-01", "sun-03", "sun-cloud-02", "sunrise", "sunset", "swimming", "tag-01", "target-02", "temperature", "tennis-ball", "thermometer", "thermometer-cold", "thermometer-warm", "threads", "ticket-01", "tiktok", "time-quarter-pass", "timer-01", "tornado-02", "train-01", "tram", "trophy", "tropical-storm", "tsunami", "user-02", "user-group", "user-love-01", "vegetarian-food", "volleyball", "volume-high", "vote", "walking", "warehouse", "waves", "whatsapp", "wheat-off", "wifi-01", "wifi-full-signal", "wifi-lock", "wrench-01", "yen", "youtube" | Das Symbol eines Symbol-Elements. |
right.tone | string | "cool" | Muster: "^(success|warm|danger|cool|accent|muted|#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)$" | Die Farbe eines Statuspunkts: ein Palettenschlüssel (Erfolg ist ok oder offen, warm Beobachtung oder bald, Gefahr Alarm oder geschlossen, kühl Information) oder #RRGGBB. |
right.pulse | boolean | false | Ein Statuspunkt, der einmal pro Sekunde pulsiert. | |
right.hourCycle | string | "auto" | "auto", "12", "24" | Die Stunden einer Uhr: Auto folgt der Gebietsschema-Einstellung des Players (14:05, wenn normalerweise eine 24-Stunden-Uhr verwendet wird, sonst 2:05 PM); 12 ist 2:05 PM und 24 ist 14:05 in jedem Gebietsschema. |
right.timeZone | String, Null | null | maxLength: 64 | IANA-Zone einer Uhr, eines Datums oder Countdowns; null nimmt die Zone der Leiste, sonst die des Bildschirms. |
right.dateStyle | string | "short" | "short", "long" | Ein Datumselement: kurz ist Mi 21 Okt und lang Mittwoch, 21. Oktober; im US-Gebietsschema steht der Monat zuerst (Wed Oct 21, Wednesday, October 21). Wochentags- und Monatsnamen sind Englisch; ein langes Datum, das nicht passt, wechselt zur kurzen Form. |
right.at | String, Null | null | maxLength: 40 | ISO 8601-Zeitpunkt, zu dem ein Countdown läuft; ohne Offset ist es die Ortszeit in der Zone des Elements. |
right.label | string | "" | maxLength: 24 | Das Label einer Zahl über ihrem Wert; das Label eines Countdowns über seinen Ziffern, solange er läuft (entfällt, wenn es nicht vollständig passt), und die Worte, die er anzeigt, sobald sein Zeitpunkt gekommen ist. |
right.value | string | "" | maxLength: 16 | Ein Zahlenwert, formatiert, wie Sie ihn lesen möchten (1.284 oder 98 %). |
right.media | string | "" | maxLength: 200 | Ein Logo-Elementbild: ein Projekt-Medienverweis (media:<id>), ganz passend in 240 x 70. |
right.page | integer | 1 | Minimum: 1; Maximum: 999 | Die aktuelle Seite eines Seitenelements, beginnend bei 1. |
right.of | integer | 1 | Minimum: 1; Maximum: 999 | Die Seitenanzahl eines Seitenelements. |
right.style | string | "numbers" | "dots", "numbers" | Ein Seitenelement als 3 / 8 oder als Punkte (Punkte bleiben bei zwölf Seiten). |
right.active | boolean | false | Ein Alarmelement: false ist ein ruhiges Häkchen, true nimmt die Schwerefarbe und die zugehörigen Wörter an. | |
right.severity | string | "warm" | "warm", "danger" | Die Farbe eines aktiven Alarmelements: warm für Beobachtung, Gefahr für Alarm. |
right.unit | string | "auto" | "auto", "c", "f" | Die Temperaturskala eines Wetterelements: auto ist Fahrenheit, wenn die Region des Players dies verwendet (US PR GU VI AS MP BS BZ KY PW LR) und Celsius überall sonst; c und f erzwingen Celsius oder Fahrenheit in jeder Region. |
middle | Objekt, Null | null | additionalProperties: false | Die Nachricht zwischen den Slots. Ohne Text (oder Seiten) bleibt die Mitte leer und behält ihren Platz; sie wird ausgeblendet, wenn sie weniger als 100 px breit wäre. |
middle.text | string | "" | maxLength: 160 | Die Wörter einer statischen oder laufenden Nachricht. |
middle.size | string | "small" | "small", "medium", "large" | 28 px mit bis zu zwei Zeilen, 38 px oder 52 px in einer Zeile, bei 1080p. |
middle.align | string | "center" | "start", "center", "end" | Wo die Wörter über die Mitte verteilt sitzen. |
middle.color | String, Null | null | Muster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | #RRGGBB oder #RRGGBBAA Textfarbe; null übernimmt die Textfarbe des Themas. |
middle.mode | string | "static" | "static", "crawl", "pages" | static zeigt eine Nachricht, die nicht ganz passt, in ganzen Sätzen nacheinander; crawl lässt sie bei laufender Animation über die Mitte laufen (sie steht still, wenn sie passt, und zeigt ganze Sätze in einem Standbild oder bei reduzierter Bewegung); pages zeigt die Zeichenfolgen von pages nacheinander. |
middle.pages | array | [] | maxItems: 8 | Die Nachrichten im Seitenmodus, in der Reihenfolge. |
middle.pageSeconds | integer | 8 | Minimum: 3; Maximum: 60 | Sekunden, die jede Seite angezeigt wird; die angezeigte Seite folgt der Uhr, sodass jeder Bildschirm dieselbe zeigt. |
Canvas-Beispiel
Speichern Sie die statischen Eigenschaften als params.json und erstellen Sie die Karte. Das Ergebnis enthält ihre crd_ ID.
{
"theme": "neomustard",
"location": {
"name": "Vancouver",
"latitude": 49.25,
"longitude": -123.0
}
}
screenrig card create --type header --major 1 --file params.json
Fügen Sie diesen Eintrag den primitives einer Playlist-Seite hinzu, mit dieser ID anstelle der Beispiel-ID. Veröffentlichen Sie die Playlist und weisen Sie einen Bildschirm zu.
{
"id": "header",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "header",
"content_fit": "fill"
}
Live-Daten schreiben
Schreiben Sie das Dokument nach dem Erstellen in die Karte und ersetzen Sie es dann, um den Bildschirm ohne erneute Veröffentlichung zu aktualisieren. Die Karte prüft jeden Schreibvorgang gegen ihre dynamischen Eigenschaften und lehnt ein Dokument ab, das sie nicht akzeptiert. Verwenden Sie dasselbe Projekt wie die Playlist.
Speichern Sie das Dokument als card-data.json. Die CLI liest das Dokument selbst, ohne Wrapper:
{
"left": null,
"right": null,
"middle": null
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
Oder rufen Sie die API direkt auf. Die API verpackt dasselbe Dokument in ein document-Feld. Ein Agent-Token benennt bereits sein Projekt, daher wird kein Projekt-Header gesendet; wenn Sie ScreenRig-Project senden, muss es zum Token-Projekt passen. Stellen Sie Ihre API-Autorisierung über die Umgebung bereit; siehe API-Authentifizierung.
curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
--header "Authorization: Bearer $SCREENRIG_TOKEN" \
--header "Content-Type: application/json" \
--data '{"document":{"left":null,"right":null,"middle":null}}'