Tarjeta de Seguridad al aire libre: Relámpagos y calor

Para personas al aire libre, relámpagos y calor suministrados de un vistazo: cuenta regresiva de 30 minutos de todo despejado, vigilancia de relámpagos cercanos y nivel de calor WBGT, llenando la pantalla mientras hay relámpagos en rango.

Basado en el rango existente, el temporizador de todo despejado y las reglas WBGT, presenta las condiciones de calor y rayos suministradas. Durante Primetime, las advertencias permanecen inmediatamente legibles, con contornos lentos de peligro/vigilancia y señales discretas para una actualización o un nuevo todo despejado. Una lectura de rayos desactualizada nunca se convierte en un anuncio de todo despejado.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Clima. Etiquetas: Alertas y estado, Clima y medio ambiente, Cuenta regresiva y temporizadores.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Feed: screenrig.outdoorsafety/v1.

Los documentos del feed llevan atribución de la fuente. El Player suministra el feed a la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring"Outdoor safety"maxLength: 40
sitestring""maxLength: 60El nombre del lugar, cuando la fuente no proporciona ninguno.
locationobjectadditionalProperties: falseLugar al que corresponde el calor: el clima de este lugar da un WBGT estimado, que reemplaza las lecturas del almacén de datos. Vacío usa las lecturas del almacén de datos. {screen.location} toma el lugar de la propia pantalla.
location.namestringmaxLength: 40; Requerido
location.latitudenumbermínimo: -90; máximo: 90; Requerido
location.longitudenumbermínimo: -180; máximo: 180; Requerido
showstring"both""both", "lightning", "heat"Qué riesgos cubre la tarjeta.
unitsstring"metric""metric", "imperial"Kilómetros y grados Celsius, o millas y grados Fahrenheit.
radiusKmnumber16mínimo: 1; máximo: 100Rango de rayos en kilómetros: un rayo dentro de este suspende la actividad al aire libre (16 km son 10 millas).
watchKmnumber32mínimo: 1; máximo: 200Los impactos fuera del rango pero dentro de esta distancia se leen como Relámpago cercano.
clearMinutesinteger30mínimo: 5; máximo: 120Minutos sin un golpe en rango antes de la señal de todo claro.
takeoverbooleantrueLlena toda la pantalla mientras el rayo esté en rango.
wbgtLevelsarray[25.6,27.8,30,32.2]minItems: 4; maxItems: 4Los valores WBGT en grados Celsius donde el nivel sube de bajo a moderado, alto, muy alto y extremo.
staleMinutesinteger10mínimo: 1; máximo: 1440Las lecturas más antiguas que esta se muestran como desactualizadas; los datos de rayos tan antiguos nunca indican Todo claro.
hour12booleanfalse
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
strikesarray[]minItems: 0; maxItems: 200Rayos recientes; una lista vacía significa ninguno. Un feed (screenrig.outdoorsafety/v1) con una lista strikes gana cuando está presente; de lo contrario, el almacén de datos suministra las mismas filas, y también cuando el feed indica que no se reportan rayos.
strikes[].atstringmaxLength: 32; RequeridoCuando ocurrió la huelga, ISO 8601.
strikes[].distanceKmnumbermínimo: 0; máximo: 1000Distancia desde el sitio; un golpe sin una cuenta como dentro del rango.
lastStrikeAtstring""maxLength: 32El último golpe en rango, ISO 8601: la forma rápida de iniciar la cuenta regresiva a mano.
strikeDistanceKmnumber0mínimo: 0; máximo: 1000Qué tan lejos estuvo ese golpe, en kilómetros. 0 significa dentro del rango.
wbgtCnumber0mínimo: 0; máximo: 50La lectura WBGT en grados Celsius. 0 significa sin lectura.
temperatureCnumber0mínimo: 0; máximo: 60Temperatura del aire en grados Celsius; con humedad estima WBGT cuando no hay lectura. 0 significa ninguno.
humidityPctnumber0mínimo: 0; máximo: 100Humedad relativa en porcentaje. 0 significa ninguna.
updatedstring""maxLength: 32Cuando se tomaron las lecturas, ISO 8601 (solo almacén de datos; un feed lleva observedAt o fetchedAt). Un valor establecido marca los rayos como reportados.

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

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

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

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

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

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

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación 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":""}}'