屋外安全:雷と熱カード

屋外の人々のために、雷と熱を一目で提供します:30分の全クリアカウントダウン、近くの雷警報、WBGT熱レベル。雷が範囲内にある間、画面全体に表示されます。

既存の範囲、オールクリアタイマー、WBGTルールを基に構築され、提供された雷と熱の状況を表示します。プライムタイム中は警告がすぐに読めるように、遅い危険/注意のアウトラインと更新や新しいオールクリアのための静かな合図が表示されます。古い雷の読み取りはオールクリアの発表にはなりません。

ライブカード

このカードはブラウザでプレーヤーと同じコードで描画され、サンプルデータを使用します。

カテゴリ:天気。タグ:アラートとステータス、天気と環境、カウントダウンとタイマー。

レイアウト

この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。

レイアウト:フル。フォーム:ランドスケープ、ポートレート。

カードレイアウト、テーマ、公開。カードを閲覧。

データとプライバシー

フィード:screenrig.outdoorsafety/v1。

フィードドキュメントは情報源の帰属を含みます。プレーヤーがカードにフィードを提供します。

プロパティ

テーマ、背景、アクセント、位置については共通プロパティを参照してください。

カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。

静的プロパティ

名前タイプデフォルト値と制限説明
titlestring"Outdoor safety"maxLength:40
sitestring""maxLength:60フィードに名前がない場合の会場名です。
locationobjectadditionalProperties:false暑さの対象場所。この場所の気象から推定したWBGTが、データストアの測定値の代わりに使われます。空の場合はデータストアの測定値を使用します。{screen.location} を指定すると、スクリーン自身の場所を使用します。
location.namestringmaxLength:40;必須
location.latitudenumber最小値:-90;最大値:90;必須
location.longitudenumber最小値:-180;最大値:180;必須
showstring"both""both", "lightning", "heat"カードがカバーする危険。
unitsstring"metric""metric", "imperial"キロメートルと摂氏度、またはマイルと華氏度。
radiusKmnumber16最小値:1;最大値:100雷の範囲(キロメートル):その範囲内の落雷は屋外活動を中止させます(16 kmは10マイル)。
watchKmnumber32最小値:1;最大値:200範囲外だがこの距離内の落雷は近くに雷があると読み取ります。
clearMinutesinteger30最小値:5;最大値:120全解除前の範囲内でストライクなしの分数。
takeoverbooleantrue稲妻が範囲内にある間、画面全体を埋めます。
wbgtLevelsarray[25.6,27.8,30,32.2]minItems:4;maxItems:4WBGTの摂氏温度で、レベルが低から中、高、非常に高い、極端に上昇する値。
staleMinutesinteger10最小値:1;最大値:1440これより古い読み取りは期限切れとして表示されます;この古さの雷データは「異常なし」を表示しません。
hour12booleanfalse
backgroundColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。
textColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。

動的プロパティ

名前タイプデフォルト値と制限説明
strikesarray[]minItems:0;maxItems:200最近の落雷。空のリストは落雷がないことを意味します。落雷のリストを含むフィード(screenrig.outdoorsafety/v1)がある場合はそれが優先されます。それ以外の場合、およびフィードが雷を未報告としている場合は、データストアが同じ行を提供します。
strikes[].atstringmaxLength:32;必須ストライキが発生したとき、ISO 8601。
strikes[].distanceKmnumber最小値:0;最大値:1000現場からの距離。距離がない場合でも範囲内とみなされます。
lastStrikeAtstring""maxLength:32範囲内の最後のストライク、ISO 8601形式:手動でカウントダウンを開始する簡単な方法です。
strikeDistanceKmnumber0最小値:0;最大値:1000そのストライクがどれだけ遠かったか(キロメートル単位)。0は範囲内を意味します。
wbgtCnumber0最小値:0;最大値:50WBGTの摂氏温度。0は計測なしを意味します。
temperatureCnumber0最小値:0;最大値:60摂氏の気温。湿度がある場合は読み取りがないときにWBGTを推定します。0はなしを意味します。
humidityPctnumber0最小値:0;最大値:100相対湿度(パーセント)。0はなしを意味します。
updatedstring""maxLength:32測定が行われた日時、ISO 8601(データストアのみ。フィードには observedAt または fetchedAt が含まれます)。値が設定されていると、雷は報告済みとして扱われます。

キャンバス例

静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。

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

このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。

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

ライブデータを書き込む

カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。

ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。

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

またはAPIを直接呼び出します。APIは同じドキュメントをdocumentフィールドにラップします。エージェントトークンはすでにプロジェクト名を含むため、プロジェクトヘッダーは送信しません。ScreenRig-Projectを送信する場合はトークンのプロジェクトと一致する必要があります。API認証は環境変数で提供してください。詳細は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":""}}'