Herzfrequenz-Wand-Karte

Live-Leistung für einen Fitnesskurs: Eine Kachel für jedes Mitglied in der Farbe seiner Herzfrequenzzone mit Prozentwert des Maximums und Kalorien, eine Kursbestenliste und die Zonenverteilung.

Zeigt die Live-Belastung während eines Fitnesskurses an. Jedes Mitglied erscheint als Kachel, eingefärbt nach Herzfrequenzzone, mit Prozent vom Maximum und Kalorien. Eine Kursbestenliste und Zonenmix werden ebenfalls angezeigt.

Live-Karte

Diese Karte wird in Ihrem Browser vom gleichen Code gezeichnet, den die Player ausführen, mit Beispieldaten.

Kategorie: Ranglisten und Platzierungen. Schlagwörter: Zahlen und Kennzahlen, Anerkennung, Veranstaltungen und Veranstaltungsorte.

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.heartrate/v1.

Feed-Dokumente tragen Quellenangaben. Der Player liefert den Feed an die Karte.

Zeigt nur Vornamen oder Spitznamen an: niemals Nachnamen, Alter, maximale Herzfrequenz über den Prozentsatz hinaus oder eine Krankengeschichte, und die Karte speichert nichts über ein Mitglied.

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

NameTypStandardWerte und GrenzwerteBeschreibung
titlestring"Class effort"maxLength: 40
defaultMaxHrinteger190Minimum: 100; Maximum: 230Maximale Herzfrequenz für ein Mitglied ohne maxHr oder Alter.
rankBystring"points""points", "calories", "effort"Was die Bestenliste bewertet: Aufwandspunkte, Kalorien oder Prozentsatz des Maximums. Eine Mitgliederliste ohne die ersten fällt auf die nächste zurück.
leadersinteger5Minimum: 3; Maximum: 10Zeilen auf der Bestenliste (weniger, wenn der Platz knapp ist).
perPageinteger24Minimum: 4; Maximum: 48Kacheln auf einer Seite; eine größere Klasse nimmt weitere Seiten ein.
pageSecondsinteger10Minimum: 5; Maximum: 60Wie lange jede Seite mit Kacheln auf dem Bildschirm bleibt.
showBpmbooleantrueZeigen Sie Schläge pro Minute auf jeder Kachel an.
staleSecondsinteger45Minimum: 5; Maximum: 3600Ältere Messwerte dimmen die Kacheln und zeigen Aktualisiert vor 3 Min.
hour12booleanfalse
backgroundColorString, NullnullMuster: "^#[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.
textColorString, NullnullMuster: "^#[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

NameTypStandardWerte und GrenzwerteBeschreibung
classNamestring""maxLength: 60Die Klasse, zum Beispiel 6:00 AM Burn, wenn der Feed keine enthält.
startedAtstring""maxLength: 32Wenn der Kurs begann, ISO 8601: Der Kopf zählt ab diesem Zeitpunkt hoch.
endsAtstring""maxLength: 32Wenn der Kurs endet, ISO 8601: Der Kopf zählt bis dahin herunter.
membersarray[]minItems: 0; maxItems: 120Die Mitglieder in der Klasse. Ein Feed (screenrig.heartrate/v1) hat Vorrang, wenn vorhanden; andernfalls liefert der Datenspeicher dieselben Zeilen.
members[].idstringmaxLength: 40Eine undurchsichtige Mitglieder- oder Riemen-ID; wird nie angezeigt.
members[].namestringmaxLength: 60; PflichtfeldNur das erste Wort wird angezeigt.
members[].nicknamestringmaxLength: 20Anstelle des Namens angezeigt, wenn vorhanden.
members[].hrnumberMinimum: 0; Maximum: 260Herzfrequenz in Schlägen pro Minute; 0 oder fehlend bedeutet kein Signal.
members[].maxHrnumberMinimum: 80; Maximum: 240Die maximale Herzfrequenz des Mitglieds.
members[].agenumberMinimum: 5; Maximum: 110Wird für 220 minus Alter verwendet, wenn kein maxHr vorhanden ist; wird nie angezeigt.
members[].caloriesnumberMinimum: 0; Maximum: 5000
members[].pointsnumberMinimum: 0; Maximum: 5000Anstrengungspunkte (Myzone MEPs und Ähnliches).
updatedstring""maxLength: 32Wenn die Herzfrequenzen gelesen wurden, ISO 8601 (nur Datenspeicher; ein Feed enthält fetchedAt).

Canvas-Beispiel

Speichern Sie die statischen Eigenschaften als params.json und erstellen Sie die Karte. Das Ergebnis enthält ihre crd_ ID.

{
  "theme": "neomustard"
}
screenrig card create --type heart-rate-wall --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": "heart-rate-wall",
  "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:

{
  "className": "",
  "startedAt": "",
  "endsAt": "",
  "members": [],
  "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":{"className":"","startedAt":"","endsAt":"","members":[],"updated":""}}'