Scheda sicurezza all’aperto: fulmini e calore

Per le persone all’aperto, fulmini e calore a colpo d’occhio: conto alla rovescia di 30 minuti per la fine del pericolo, allerta fulmini vicini e livello di calore WBGT, che riempie lo schermo mentre i fulmini sono a portata.

Costruito intorno all’intervallo esistente, al timer di all-clear e alle regole WBGT, presenta le condizioni di fulmini e calore fornite. Durante il Primetime, gli avvisi restano immediatamente leggibili, con contorni lenti di pericolo/attenzione e segnali discreti per un aggiornamento o un nuovo all-clear. Una lettura di fulmini obsoleta non diventa mai un annuncio di all-clear.

Live card

Questa scheda viene disegnata nel browser con lo stesso codice usato dai Player, con dati di esempio.

Categoria: Meteo. Tag: Avvisi e stato, Meteo e ambiente, Conti alla rovescia e timer.

Layout

Questa scheda a schermo intero riempie tutto lo schermo in orizzontale o verticale e non è posizionata come angolo, chip o striscia.

Layout: pieno. Moduli: orizzontale, verticale.

Layout, temi e pubblicazione delle schede. Esplora le schede.

Dati e privacy

Feed: screenrig.outdoorsafety/v1.

I documenti del feed riportano l’attribuzione della fonte. Il Player fornisce il feed alla scheda.

Proprietà

Per tema, sfondo, accento e posizione, vedi Proprietà comuni.

Imposta le proprietà statiche nei params della scheda quando la crei. Il suo documento dati contiene solo proprietà dinamiche. Le righe annidate descrivono il contenuto della proprietà genitore.

Proprietà statiche

NomeTipoPredefinitoValori e limitiDescrizione
titlestring"Outdoor safety"maxLength: 40
sitestring""maxLength: 60Il nome della sede, quando il feed non ne riporta alcuno.
locationobjectadditionalProperties: falseIl luogo a cui si riferisce il calore: il meteo di questo luogo fornisce una stima del WBGT, che sostituisce le letture del data store. Vuoto usa le letture del data store. {screen.location} usa il luogo dello schermo stesso.
location.namestringmaxLength: 40; Obbligatorio
location.latitudenumberminimo: -90; massimo: 90; Obbligatorio
location.longitudenumberminimo: -180; massimo: 180; Obbligatorio
showstring"both""both", "lightning", "heat"Quali rischi copre la scheda.
unitsstring"metric""metric", "imperial"Chilometri e gradi Celsius, o miglia e gradi Fahrenheit.
radiusKmnumber16minimo: 1; massimo: 100Raggio di fulmini in chilometri: un fulmine all’interno sospende le attività all’aperto (16 km sono 10 miglia).
watchKmnumber32minimo: 1; massimo: 200I fulmini fuori dal raggio ma entro questa distanza indicano fulmini nelle vicinanze.
clearMinutesinteger30minimo: 5; massimo: 120Minuti senza un colpo in area prima del via libera.
takeoverbooleantrueRiempire tutto lo schermo mentre il fulmine è nel raggio d’azione.
wbgtLevelsarray[25.6,27.8,30,32.2]minItems: 4; maxItems: 4I valori WBGT in gradi Celsius dove il livello sale da basso a moderato, alto, molto alto ed estremo.
staleMinutesinteger10minimo: 1; massimo: 1440Letture più vecchie di questa appaiono come non aggiornate; dati sui fulmini così vecchi non mostrano mai Tutto chiaro.
hour12booleanfalse
backgroundColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive il colore di sfondo e della piastra della scheda con un colore piatto ordinato in CSS. #RRGGBBAA fornisce l’opacità. background none ha la precedenza.
textColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive i colori del testo principale e secondario. I colori di accento e di stato semantico mantengono i loro ruoli.

Proprietà dinamiche

NomeTipoPredefinitoValori e limitiDescrizione
strikesarray[]minItems: 0; maxItems: 200Fulmini recenti, una lista vuota significa nessuno. Un feed (screenrig.outdoorsafety/v1) con una lista di fulmini prevale se presente; altrimenti, e quando il feed indica che i fulmini non sono segnalati, il data store fornisce le stesse righe.
strikes[].atstringmaxLength: 32; ObbligatorioQuando lo sciopero è iniziato, ISO 8601.
strikes[].distanceKmnumberminimo: 0; massimo: 1000Distanza dal sito; uno sciopero senza questa conta come entro il raggio.
lastStrikeAtstring""maxLength: 32L’ultimo strike nell’intervallo, ISO 8601: il modo rapido per iniziare il conto alla rovescia a mano.
strikeDistanceKmnumber0minimo: 0; massimo: 1000Quanto è lontano quel colpo, in chilometri. 0 significa in portata.
wbgtCnumber0minimo: 0; massimo: 50La lettura WBGT in gradi Celsius. 0 significa nessuna lettura.
temperatureCnumber0minimo: 0; massimo: 60Temperatura dell’aria in gradi Celsius; con umidità stima WBGT quando non c’è lettura. 0 significa nessuna.
humidityPctnumber0minimo: 0; massimo: 100Umidità relativa in percentuale. 0 significa nessuna.
updatedstring""maxLength: 32Quando le letture sono state fatte, ISO 8601 (solo archivio dati; un feed contiene observedAt o fetchedAt). Un valore impostato indica che il fulmine è stato segnalato.

Esempio di canvas

Salva le proprietà statiche come params.json e crea la scheda. Il risultato contiene il suo ID crd_.

{
  "theme": "neomustard",
  "location": {
    "name": "Vancouver",
    "latitude": 49.25,
    "longitude": -123.0
  }
}
screenrig card create --type outdoor-safety --major 1 --file params.json

Aggiungi questo elemento ai primitives di una pagina playlist, con quell’ID al posto di quello dell’esempio. Pubblica la playlist e assegna uno schermo.

{
  "id": "outdoor-safety",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Scrivere dati live

Scrivi il documento nella scheda dopo averla creata, poi sostituiscilo per aggiornare lo schermo senza ripubblicare. La scheda controlla ogni scrittura rispetto alle sue proprietà dinamiche e rifiuta un documento che non accetta. Usa lo stesso progetto della playlist.

Salva il documento come card-data.json. Il CLI legge il documento stesso, senza wrapper:

{
  "strikes": [],
  "lastStrikeAt": "",
  "strikeDistanceKm": 0,
  "wbgtC": 0,
  "temperatureC": 0,
  "humidityPct": 0,
  "updated": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Oppure chiamare direttamente l’API. L’API incapsula lo stesso documento in un campo document. Un token agente nomina già il suo progetto, quindi non viene inviato un header progetto; se invii ScreenRig-Project, deve corrispondere al progetto del token. Fornisci l’autorizzazione API tramite l’ambiente; vedi Autenticazione API.

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":""}}'