Basierend auf dem vorhandenen Bereich, dem All-clear-Timer und den WBGT-Regeln zeigt es die gelieferten Blitz- und Hitzezustände an. Während der Primetime bleiben Warnungen sofort lesbar, mit langsamen Gefahren-/Beobachtungsumrissen und leisen Hinweisen für ein Update oder ein neues All-clear. Eine veraltete Blitzmessung wird niemals zu einer All-clear-Meldung.
Live-Karte
Kategorie: Wetter. Schlagwörter: Warnungen und Status, Wetter und Umwelt, Countdowns und Timer.
Layouts
Diese Vollbildkarte füllt den gesamten Bildschirm im Quer- oder Hochformat und wird nicht als Ecke, Chip oder Streifen platziert.
Layouts: voll. Formulare: Querformat, Hochformat.
Kartenlayouts, Designs und Veröffentlichung. Karten durchsuchen.
Daten und Datenschutz
Feed: screenrig.outdoorsafety/v1.
Feed-Dokumente tragen Quellenangaben. Der Player liefert den Feed an die Karte.
Eigenschaften
Für Thema, Hintergrund, Akzent und Position siehe Gemeinsame Eigenschaften.
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 |
|---|---|---|---|---|
title | string | "Outdoor safety" | maxLength: 40 | |
site | string | "" | maxLength: 60 | Der Name des Veranstaltungsorts, wenn der Feed keinen enthält. |
location | object | additionalProperties: false | Der Ort, für den die Hitze gilt: Das Wetter an diesem Ort ergibt einen geschätzten WBGT-Wert, der die Messwerte im Datenspeicher ersetzt. Leer verwendet die Messwerte des Datenspeichers. {screen.location} übernimmt den eigenen Standort des Bildschirms. | |
location.name | string | maxLength: 40; Pflichtfeld | ||
location.latitude | number | Minimum: -90; Maximum: 90; Pflichtfeld | ||
location.longitude | number | Minimum: -180; Maximum: 180; Pflichtfeld | ||
show | string | "both" | "both", "lightning", "heat" | Welche Gefahren die Karte abdeckt. |
units | string | "metric" | "metric", "imperial" | Kilometer und Grad Celsius oder Meilen und Grad Fahrenheit. |
radiusKm | number | 16 | Minimum: 1; Maximum: 100 | Blitzreichweite in Kilometern: Ein Einschlag innerhalb dieser Reichweite setzt Außenaktivitäten aus (16 km sind 10 Meilen). |
watchKm | number | 32 | Minimum: 1; Maximum: 200 | Blitze außerhalb des Bereichs, aber innerhalb dieser Entfernung werden als nahe Blitze gelesen. |
clearMinutes | integer | 30 | Minimum: 5; Maximum: 120 | Minuten ohne Streik im Bereich vor der Entwarnung. |
takeover | boolean | true | Füllen Sie den gesamten Bildschirm, während Blitze in Reichweite sind. | |
wbgtLevels | array | [25.6,27.8,30,32.2] | minItems: 4; maxItems: 4 | Die WBGT-Werte in Grad Celsius, bei denen das Niveau von niedrig auf mäßig, hoch, sehr hoch und extrem ansteigt. |
staleMinutes | integer | 10 | Minimum: 1; Maximum: 1440 | Ältere Messwerte werden als veraltet angezeigt; Blitzdaten dieses Alters zeigen nie „Alles klar“ an. |
hour12 | boolean | false | ||
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 |
|---|---|---|---|---|
strikes | array | [] | minItems: 0; maxItems: 200 | Neueste Blitzeinschläge, eine leere Liste bedeutet keine. Ein Feed (screenrig.outdoorsafety/v1) mit einer strikes-Liste hat Vorrang, wenn vorhanden; sonst liefert der Datenspeicher dieselben Zeilen, auch wenn der Feed angibt, dass er Blitze nicht meldet. |
strikes[].at | string | maxLength: 32; Pflichtfeld | Wann der Streik begann, ISO 8601. | |
strikes[].distanceKm | number | Minimum: 0; Maximum: 1000 | Entfernung vom Standort; ein Treffer ohne Entfernung zählt als in Reichweite. | |
lastStrikeAt | string | "" | maxLength: 32 | Der letzte Schlag im Bereich, ISO 8601: der schnelle Weg, den Countdown manuell zu starten. |
strikeDistanceKm | number | 0 | Minimum: 0; Maximum: 1000 | Wie weit der Schlag entfernt war, in Kilometern. 0 bedeutet in Reichweite. |
wbgtC | number | 0 | Minimum: 0; Maximum: 50 | Die WBGT-Messung in Grad Celsius. 0 bedeutet keine Messung. |
temperatureC | number | 0 | Minimum: 0; Maximum: 60 | Lufttemperatur in Grad Celsius; mit Feuchtigkeit schätzt sie WBGT, wenn keine Messung vorliegt. 0 bedeutet keine. |
humidityPct | number | 0 | Minimum: 0; Maximum: 100 | Relative Luftfeuchtigkeit in Prozent. 0 bedeutet keine. |
updated | string | "" | maxLength: 32 | Wann die Messwerte erfasst wurden, ISO 8601 (nur Datenspeicher; ein Feed enthält observedAt oder fetchedAt). Ein gesetzter Wert markiert Blitze als gemeldet. |
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 outdoor-safety --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": "outdoor-safety",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"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:
{
"strikes": [],
"lastStrikeAt": "",
"strikeDistanceKm": 0,
"wbgtC": 0,
"temperatureC": 0,
"humidityPct": 0,
"updated": ""
}
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":{"strikes":[],"lastStrikeAt":"","strikeDistanceKm":0,"wbgtC":0,"temperatureC":0,"humidityPct":0,"updated":""}}'