Mostra lo sforzo live durante una lezione fitness. Ogni membro appare come una tessera colorata per zona di frequenza cardiaca, mostrando percentuale del massimo e calorie. Mostra anche una classifica e mix di zone della lezione.
Live card
Categoria: Salute. Tag: Classifiche e posizioni, Numeri e metriche, Riconoscimenti, Eventi e sedi.
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.heartrate/v1.
I documenti del feed riportano l’attribuzione della fonte. Il Player fornisce il feed alla scheda.
Mostra solo nomi di battesimo o soprannomi: mai un cognome, età, frequenza cardiaca massima oltre la percentuale o qualsiasi storia medica, e la scheda non memorizza nulla su un membro.
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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
title | string | "Class effort" | maxLength: 40 | |
defaultMaxHr | integer | 190 | minimo: 100; massimo: 230 | Frequenza cardiaca massima per un membro senza maxHr o età. |
rankBy | string | "points" | "points", "calories", "effort" | Cosa classifica la classifica: punti sforzo, calorie o percentuale del massimo. Una lista membri senza nessuno dei primi ricade sul successivo. |
leaders | integer | 5 | minimo: 3; massimo: 10 | Righe nella classifica (meno se lo spazio è limitato). |
perPage | integer | 24 | minimo: 4; massimo: 48 | Piastrelle su una pagina; una classe più grande occupa pagine successive. |
pageSeconds | integer | 10 | minimo: 5; massimo: 60 | Quanto dura ogni pagina di riquadri sullo schermo. |
showBpm | boolean | true | Mostra battiti per minuto su ogni riquadro. | |
staleSeconds | integer | 45 | minimo: 5; massimo: 3600 | Letture più vecchie di questa attenuano le tessere e mostrano Aggiornato 3 min fa. |
hour12 | boolean | false | ||
backgroundColor | stringa, nullo | null | modello: "^#[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. |
textColor | stringa, nullo | null | modello: "^#[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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
className | string | "" | maxLength: 60 | La classe, per esempio 6:00 AM Burn, quando il feed non ne fornisce una. |
startedAt | string | "" | maxLength: 32 | Quando la lezione è iniziata, ISO 8601: l’intestazione conta in avanti da quel momento. |
endsAt | string | "" | maxLength: 32 | Quando la lezione termina, ISO 8601: l’intestazione conta alla rovescia fino a quel momento. |
members | array | [] | minItems: 0; maxItems: 120 | I membri della classe. Un feed (screenrig.heartrate/v1) prevale se presente; altrimenti il data store fornisce le stesse righe. |
members[].id | string | maxLength: 40 | Un id membro o strap opaco; mai mostrato. | |
members[].name | string | maxLength: 60; Obbligatorio | Mostra solo la prima parola. | |
members[].nickname | string | maxLength: 20 | Mostrato al posto del nome se presente. | |
members[].hr | number | minimo: 0; massimo: 260 | Frequenza cardiaca in battiti al minuto; 0 o assente significa nessun segnale. | |
members[].maxHr | number | minimo: 80; massimo: 240 | La frequenza cardiaca massima del membro. | |
members[].age | number | minimo: 5; massimo: 110 | Usato per 220 meno l’età quando non c’è maxHr; mai mostrato. | |
members[].calories | number | minimo: 0; massimo: 5000 | ||
members[].points | number | minimo: 0; massimo: 5000 | Punti sforzo (Myzone MEP e simili). | |
updated | string | "" | maxLength: 32 | Quando le frequenze cardiache sono state lette, ISO 8601 (solo archivio dati; un feed contiene fetchedAt). |
Esempio di canvas
Salva le proprietà statiche come params.json e crea la scheda. Il risultato contiene il suo ID crd_.
{
"theme": "neomustard"
}
screenrig card create --type heart-rate-wall --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": "heart-rate-wall",
"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:
{
"className": "",
"startedAt": "",
"endsAt": "",
"members": [],
"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":{"className":"","startedAt":"","endsAt":"","members":[],"updated":""}}'