オブジェクトモデル(TSL)説明

Thing Specification Language(TSL)とは、エンド側とサーバー間の設定のために提供される記述ファイルであり、エンド側でサポートされている設定項目と設定項目に応じた制約を記述するために使用されます。

概要

SenseLinkプラットフォームはTSLを定義するためにデバイスをサポートします。デバイスの実際の設定(プロパティ、ステータス)から成るデータモデルによって、クラウドを介したデバイス管理が円滑化されます。

関数型

説明

プロパティ

パラメーターの命名、パラメーターの型、制御型、製品の各機能のチェックルールなど

ステータス

デバイスの周辺機器の状態です。プラットフォームは書き込みを行わずに読み込みだけを行い、ドアマグネットの状態、サーマルイメージングシステムの接続状態、Bluetoothロックバッテリーなど、最新の状態のみを保持します

TSL

TSLとは、デバイスが最初にSenseLinkにアクセスする際にデバイスからレポートされるJSON形式のファイルであり、バックエンドに保存されます。Webでデバイスの詳細を表示すると、デバイスに対応するTSLとTSLの値がWebで動的に読み込まれます。これにより、バックエンドのサービスを更新することなく、クラウド上のリモート設定機能とデバイスのローカル機能の一貫性を確保することができます。

TSLの使用フロー

  1. アプリにTSLを追加し、TSLのデータ構造 に従って作成します。

  2. 必要な言語パッケージを作成します。形式については、TSLの国際化 を参照してください。

  3. 開発が完了したら、デバイス上でプロパティやイベントをレポートし、プロパティを設定してクラウド上のサービスを呼び出してインターフェースの呼び出しステップ更新プロセスを表示することができます。

  4. デバイスからレポートされた属性、イベント、および完了済サービスの呼び出しデータは、データ照合の通過後、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など)、一般的にuiselectで使用されます。

ステータス

デバイスの周辺機器の状態を意味します。プラットフォームは書き込みは行わずに読み込みのみを行い、最新の状態のみを保持します。JSONファイルには、名前に対応する nameenable、および 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 フィールドの構造例は、以下の通りです:

最終更新

役に立ちましたか?