オブジェクトモデル(TSL)説明
Thing Specification Language(TSL)とは、エンド側とサーバー間の設定のために提供される記述ファイルであり、エンド側でサポートされている設定項目と設定項目に応じた制約を記述するために使用されます。
概要
SenseLinkプラットフォームはTSLを定義するためにデバイスをサポートします。デバイスの実際の設定(プロパティ、ステータス)から成るデータモデルによって、クラウドを介したデバイス管理が円滑化されます。
関数型
説明
プロパティ
パラメーターの命名、パラメーターの型、制御型、製品の各機能のチェックルールなど
ステータス
デバイスの周辺機器の状態です。プラットフォームは書き込みを行わずに読み込みだけを行い、ドアマグネットの状態、サーマルイメージングシステムの接続状態、Bluetoothロックバッテリーなど、最新の状態のみを保持します
TSL
TSLとは、デバイスが最初にSenseLinkにアクセスする際にデバイスからレポートされるJSON形式のファイルであり、バックエンドに保存されます。Webでデバイスの詳細を表示すると、デバイスに対応するTSLとTSLの値がWebで動的に読み込まれます。これにより、バックエンドのサービスを更新することなく、クラウド上のリモート設定機能とデバイスのローカル機能の一貫性を確保することができます。
TSLの使用フロー
アプリにTSLを追加し、TSLのデータ構造 に従って作成します。
必要な言語パッケージを作成します。形式については、TSLの国際化 を参照してください。
開発が完了したら、デバイス上でプロパティやイベントをレポートし、プロパティを設定してクラウド上のサービスを呼び出してインターフェースの呼び出しステップ更新プロセスを表示することができます。
デバイスからレポートされた属性、イベント、および完了済サービスの呼び出しデータは、データ照合の通過後、SenseLinkコンソール内の対応するデバイスのデバイス詳細ページのデバイス設定タブに表示されます。
TSLの構造
TSLはトップレベルに「engineVersion」「modelVersion」「deviceType」を持つjsonファイルです。「properties」「status」は前述したパラメータの設定項目です。
プロパティ
プロパティは、それぞれが複数の設定項目を持ついくつかのモジュールで構成されています。fields要素とも呼ばれる各設定項目はそれぞれの設定項目を説明し、機能を定義します。
フィールドはキーと値で構成されています。キーは設定項目の名前を示し、値は設定項目の任意の値、スタイル、ステータスを含む定義です。一部のフィールドの説明は以下の通りです。その他の設定については、[TSL data structure](#TSLdata structure)をご参照ください。
type:必須、設定項目の値の型(int、float、string、boolean、その他)を示しています
ranges:任意、typeがintやfloatなどの場合に、min:最小値、max:最大値、default:デフォルト値を含む値の区間を示します。
ui:任意、デフォルトはtext、Web/デバイスの入力制御スタイルを示すために使用されます。
uiに設定可能な値の一覧:
uiに設定可能な値
説明
number
ナンバーピッカー
select
ドロップダウンボックス
checkbox
複数選択ボックス
radio
ラジオボタン
date
タイムピッカー
text
1行のテキスト入力
textarea
複数行のテキスト入力
image
画像のアップロードと表示
options:任意で、Valueが枯渇し得る場合(wiegand32、wiegand34、およびwiegand2602など)、一般的にuiのselectで使用されます。
ステータス
デバイスの周辺機器の状態を意味します。プラットフォームは書き込みは行わずに読み込みのみを行い、最新の状態のみを保持します。JSONファイルには、名前に対応する name、enable、および options、表示の有無、および任意の値が含まれます。詳細については、TSLのデータ構造をご参照ください。
TSLの国際化
デバイス/Web上のシステム内の全てのTSLのデバイスタイプ、属性、およびステータスの表示名を定義し、言語ごとに別々に保存します。TSLの国際化は、TSLの値と名前をクラウドコンソール向けに分かりやすく説明し、操作の難易度を下げることを目的としています。各言語パッケージはJSON形式のファイルで構成され、対応するキーはTSLの対応する部分の翻訳です。
フィールド
説明
deviceTypes
デバイスタイプのセット。例:"deviceType":"spse"
groups
TSLのカテゴリー化名、プロパティ内の名前の翻訳。
例:properties[{"name":"general",...}]
fields
設定項目名、プロパティ内のフィールドの全ての「name」フィールド
values
設定に対応する値、ステータス内の値を含むTSL内の全ての値
status
デバイスの周辺機器の状態の表示名、ステータス内の「name」フィールド
common
共通の翻訳。
例:"modelVersion":"Device model version"
データ構造の詳細については、言語パッケージのデータ構造をご参照ください
付録
更新プロセス

言語パッケージのデータ構造
言語パッケージのデータ構造例は、以下の通りです。
TSLのデータ構造
TSL の JSON フィールドの構造例は、以下の通りです:
最終更新
役に立ちましたか?