目次
1. はじめに
2. ユーザーガイド
- ▢2.1 アカウントとデータセンター
- ▢2.2 ダッシュボードの概要
- ▢2.3 アプリケーション概要
- ▢2.4 デバイスの概要
- 2.4.1 デバイスの追加
- 2.4.2 デバイスの管理
- 2.4.3 デバイスの設定
- 2.4.4 デバイスのアップグレード
- 2.4.5 デバイスの共有
- 2.4.6 リモートアクセスデバイス
- 2.4.7 デバイスリストの列をカスタマイズする
- ▢2.5 リソース概要
- ▢2.6 タスク センター 概要
- ▢2.7 RPSの概要
3. APIレファレンス
- ▢3. Milesight開発プラットフォームAPIの概要
- 3.1.1 APIリクエスト
- 3.1.2 API インターフェース一覧
- 3.1.3 API 認証
- 3.1.4 デバイス管理
- 3.1.5 RPS管理
- 3.1.6 タスク管理
- 3.2 Webhookイベント通知
4. デバイスレファレンス
5. よくある質問
デバイスの TSL (Thing Specification Language) モデルをクエリします。
リクエスト URL
GET {base_url}/device/openapi/v1/devices/{deviceId}/thing-specification
リクエストパラメータ
パラメータ | 必須 | タイプ | 説明 |
---|---|---|---|
Authorization | Yes | String | API呼び出しに有効なアクセストークン。
形式はBearer {access_token}です。 |
パラメータ | 必須 | タイプ | 説明 |
---|---|---|---|
deviceId | Yes | Long | このデバイスの一意のID。デバイスを追加した際に返されます。
注: deviceID を保存していない場合は、特定のデバイスの検索を使用してデバイスの ID を照会できます。 |
応答パラメータ
パラメータ | タイプ | 説明 |
---|---|---|
data | Object<TSL_Model> | 照会したデバイスの TSL モデル |
status | String | API リクエストの結果。
|
requestId | String | リクエストの一意の ID。リクエストをすばやく見つけるために使用できます。 |
- TSL_Model
-
パラメータ タイプ 説明 version String - デバイスの TSL モデルのバージョン
properties Array<TSL_Properties> - プロパティは、このデバイスのステータスおよび情報を記述します
events Array<TSL_Events> - イベントには、通知および処理のためにデバイスから Milesight 開発プラットフォームに報告された情報が含まれます
services Array<TSL_Services> - サービスには、外部から呼び出すことができるデバイスのコマンドまたはメソッドが含まれます。
- TSL_Properties
-
パラメータ タイプ 説明 id String - プロパティのユニークID
propertyKey String - プロパティのキー
name String - プロパティの名前
description String - プロパティの説明
accessMode String - プロパティのアクセスモード
R
: 読み取り専用プロパティは、変更できない静的データまたは値であり、デバイスのステータスや情報を記述するために使用されます。たとえば、デバイスの SN (シリアル番号) やファームウェアのバージョンなどです。W
: 書き込み専用プロパティは、設定可能なパラメータであり、デバイスの設定を表します。たとえば、センサーのデータ報告間隔などです。- 注: 書き込み専用プロパティの値は、デバイスプロパティを段階的に更新を使用して、デバイスの設定を更新するために変更できます。
RW
: 読み取りおよび書き込みプロパティ。デバイス情報を記述するだけでなく、変更もできます。たとえば、スマートソケットのオン/オフステータスなどです。- 注: 読み取りおよび書き込みプロパティの値は、デバイスプロパティを段階的に更新を使用して、デバイスの設定を更新するために変更できます。
dataSpec Object - このプロパティのデータ定義。
注: 返されるパラメーターはデバイスのモデルによって異なります。
dataType String プロパティのデータ型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
elementDataType String 要素データの型 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
parentId String 親プロパティの ID。 defaultValue String このプロパティのデフォルト値。 unitName String - 単位の名前
fractionDigits Integer - 保持する小数点以下の桁数
coefficient Number - プロパティの係数。
validator Object - このプロパティのデータ検証ルールを適用するメカニズム。
min Number - 最小値。
max Number - 最大値。
minSize Integer String
データの最小長。
maxSize Integer String
およびArray
データの最大長。
required Boolean このプロパティが必須であるかどうか true
: 必須false
: オプション
encoding String String
データのエンコード方法。
HEX
ASCII
UTF8
BASE64
mapping Object - 列挙型マッピング
key String Enum値. value String - プロパティ名
assist providerType String dependsOnValue Object id String values Array<Integer> lengthBy String indexBy String indexBase Integer separateElements Boolean
- TSL_Events
-
パラメータ タイプ 説明 id String - イベントのユニークID
name String - イベントの名前
description String - イベントの説明
type String イベントのタイプ INFO
WARN
ERROR
outputs Array - このイベントが発生した際に報告される出力パラメーター。
id String - 出力パラメーターのユニークID。
propertyKey String - この報告されるプロパティのキー
name String - この出力パラメーターの名前
description String - この出力パラメーターの説明
dataSpec Object - この出力パラメーターのデータ定義
dataType String 出力パラメーターのデータ型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
elementDataType String 要素データの型 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
parentId String - 親出力パラメータの ID
defaultValue String - この出力パラメータのデフォルト値。
unitName String - 単位の名前。
fractionDigits Integer - 保持する小数点以下の桁数。
coefficient Number - 出力パラメータの係数。
validator Object - この出力パラメータのデータ検証ルールを適用するメカニズム。
min Number - 最小値。
max Number - 最大値。
minSize Integer 文字列
データの最小長。
maxSize Integer String
およびArray
データの最大長。
required Boolean この出力パラメータが必須であるかどうか true
: 必須false
:オプション
encoding String String
データのエンコード方法。
HEX
ASCII
UTF8
BASE64
mapping Object - 列挙型マッピング。
key String Enum 値. value String - イベント名。
ref String - 既存のプロパティを参照。
- TSL_Services
-
パラメータ タイプ 説明 id String - このサービスの一意のID
name String - サービスの名前
description String - サービスの説明
callType String このサービス呼び出しのタイプ: SYNC
: 同期呼び出しASYNC
: 非同期呼び出し。
inputs Array - このサービスが呼び出された際の入力パラメーター(ダウンリンクデータ)。
id String - この入力パラメーターのユニークID。
propertyKey String name String - この入力パラメーターの名前。
description String - この入力パラメーターの説明。
dataSpec Object - この入力パラメーターのデータ定義。
dataType String この入力パラメーターのデータ型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
elementDataType String 要素データの型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
parentId String - 親入力パラメーターのID。
defaultValue String - この入力パラメータのデフォルト値。
unitName String - 単位の名前。
fractionDigits Integer - 保持する小数点以下の桁数。
coefficient Number - 入力パラメータの係数。
validator Object - この入力パラメータのデータ検証ルールを適用するメカニズム。
min Number - 最小値
max Number - 最大値
minSize Integer String
データの最小長。
maxSize Integer String
およびArray
データの最大長。
required Boolean この入力パラメータが必須であるかどうか true
: 必須false
: オプション
encoding String String
データのエンコード方法。
HEX
ASCII
UTF8
BASE64
mapping Object - 列挙型マッピング。
key String Enum 値 value String - サービス名。
ref String - 既存のプロパティを参照します
outputs Array - 出力パラメータ、つまり、このサービスが呼び出されたときに報告されるデータ。
id String - 出力パラメータの一意の ID。
propertyKey String name String - この出力パラメータの名前。
description String - この出力パラメータの説明。
dataSpec Object - この出力パラメータのデータ定義。
dataType String 出力パラメータのデータ型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
elementDataType String 要素データの型。 BOOL
STRING
STRUCT
DATE
ARRAY
INT
LONG
FLOAT
DOUBLE
ENUM
parentId String - 親出力パラメータの ID。
defaultValue String - この出力パラメータのデフォルト値。
unitName String - 単位の名前
fractionDigits Integer - 保持する小数点以下の桁数。
coefficient Number - 出力パラメータの係数。
validator Object - この出力パラメータのデータ検証ルールを適用するメカニズム。
min Number - 最小値
max Number - 最大値
minSize Integer String
データの最小長さ。
maxSize Integer String
およびArray
データの最大長さ。
required Boolean この出力パラメーターが必須かどうか true
: 必須false
:任意
encoding String 文字列
データのエンコード方法。
HEX
ASCII
UTF8
BASE64
mapping Object - 列挙型マッピング
key String Enum 値. value String サービス名。 ref String - 既存のプロパティを参照。
例
- リクエスト例
-
- ID「1739930666380779522」のデバイスの TSL モデルをクエリします。
-
GET /device/openapi/v1/devices/1739930666380779522/thing-specification HTTP/1.1 Host: demo.milesight.com Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InllYXN0b25lLWRlZmF1bHQta2V5LWlkIn0.eyJncmFudF90eXBlIjoiY2xpZW50X2NyZWRlbnRpYWxzIiwic2NvcGUiOlsib3BlbmFwaSJdLCJjbGllbnRfZXh0Ijp7ImFwcF9pZCI6IjE3MzY5NTQ4MDE3MTMzMjgxMzAifSwiZXhwIjoxNzAzMjEzMDk4LCJhdXRob3JpdGllcyI6WyJST0xFX0NMSUVOVCJdLCJqdGkiOiJiYjJjN2U4Yy03NGQwLTQ4NjEtODE3MS1iYTc0NWRlMGY0NmQiLCJjbGllbnRfaWQiOiI4OTNkNzdjNy1mMGNiLTRmMzQtOWNhMS03YzJhNGNmMTEzNDgiLCJ0cyI6MTcwMzIwOTQ5ODMzNH0 Content-Type: application/json
- Response example
-
HTTP/1.1 200 OK { "data": { "version": "v1.0", "properties": [ { "id": "ipso_version", "name": "${pd.common.tsl.property.ipso_version.name}", "accessMode": "R", "dataSpec": { "dataType": "INT", "validator": { "required": true } } }, { "id": "sn", "name": "${pd.common.tsl.property.sn.name}", "accessMode": "R", "dataSpec": { "dataType": "STRING", "validator": { "maxSize": 12, "required": true }, "encoding": "HEX" } }, { "id": "hardware_version", "name": "${pd.common.tsl.property.hardware_version.name}", "accessMode": "R", "dataSpec": { "dataType": "STRING", "validator": { "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "firmware_version", "name": "${pd.common.tsl.property.firmware_version.name}", "accessMode": "R", "dataSpec": { "dataType": "STRING", "validator": { "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "lorawan_class", "name": "${pd.common.tsl.property.lorawan_class.name}", "accessMode": "R", "dataSpec": { "dataType": "ENUM", "validator": { "required": true }, "mapping": { "0": "${pd.common.tsl.property.lorawan_class.enum.0}" } } }, { "id": "battery", "name": "${pd.common.tsl.property.battery.name}", "accessMode": "R", "dataSpec": { "dataType": "INT", "unitName": "%", "validator": { "min": 1.0, "max": 100.0, "required": true } } }, { "id": "temperature", "name": "${pd.ws203.tsl.property.temperature.name}", "accessMode": "R", "dataSpec": { "dataType": "FLOAT", "unitName": "℃", "fractionDigits": 1, "coefficient": 0.1, "validator": { "required": true } } }, { "id": "humidity", "name": "${pd.ws203.tsl.property.humidity.name}", "accessMode": "R", "dataSpec": { "dataType": "FLOAT", "unitName": "%RH", "fractionDigits": 1, "coefficient": 0.5, "validator": { "min": 0.0, "max": 100.0, "required": true } } }, { "id": "pir_status", "name": "${pd.ws203.tsl.property.pir_status.name}", "accessMode": "R", "dataSpec": { "dataType": "ENUM", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.property.pir_status.enum.0}", "1": "${pd.ws203.tsl.property.pir_status.enum.1}" } } }, { "id": "reporting_interval", "name": "${pd.ws203.tsl.property.reporting_interval.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "reporting_interval.time", "name": "${pd.ws203.tsl.property.reporting_interval.time.name}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "reporting_interval", "defaultValue": "30", "unitName": "min", "validator": { "min": 1.0, "max": 1440.0, "required": true } } }, { "id": "collecting_interval", "name": "${pd.ws203.tsl.property.collecting_interval.name}", "accessMode": "W", "dataSpec": { "dataType": "INT", "defaultValue": "1", "unitName": "min", "validator": { "min": 1.0, "max": 1440.0, "required": true } } }, { "id": "vacancy_reporting_interval", "name": "${pd.ws203.tsl.property.vacancy_reporting_interval.name}", "description": "${pd.ws203.tsl.property.vacancy_reporting_interval.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "defaultValue": "300", "unitName": "s", "validator": { "min": 60.0, "max": 3600.0, "required": true } } }, { "id": "led_indicator", "name": "${pd.ws203.tsl.property.led_indicator.name}", "description": "${pd.ws203.tsl.property.led_indicator.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.led_indicator.enum.0}", "true": "${pd.ws203.tsl.property.led_indicator.enum.1}" } } }, { "id": "time_zone", "name": "${pd.ws203.tsl.property.time_zone.name}", "accessMode": "W", "dataSpec": { "dataType": "ENUM", "defaultValue": "0", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.property.time_zone.enum.0}", "10": "${pd.ws203.tsl.property.time_zone.enum.10}", "20": "${pd.ws203.tsl.property.time_zone.enum.20}", "30": "${pd.ws203.tsl.property.time_zone.enum.30}", "35": "${pd.ws203.tsl.property.time_zone.enum.35}", "40": "${pd.ws203.tsl.property.time_zone.enum.40}", "45": "${pd.ws203.tsl.property.time_zone.enum.45}", "50": "${pd.ws203.tsl.property.time_zone.enum.50}", "55": "${pd.ws203.tsl.property.time_zone.enum.55}", "57": "${pd.ws203.tsl.property.time_zone.enum.57}", "60": "${pd.ws203.tsl.property.time_zone.enum.60}", "65": "${pd.ws203.tsl.property.time_zone.enum.65}", "70": "${pd.ws203.tsl.property.time_zone.enum.70}", "80": "${pd.ws203.tsl.property.time_zone.enum.80}", "90": "${pd.ws203.tsl.property.time_zone.enum.90}", "95": "${pd.ws203.tsl.property.time_zone.enum.95}", "100": "${pd.ws203.tsl.property.time_zone.enum.100}", "105": "${pd.ws203.tsl.property.time_zone.enum.105}", "110": "${pd.ws203.tsl.property.time_zone.enum.110}", "120": "${pd.ws203.tsl.property.time_zone.enum.120}", "127": "${pd.ws203.tsl.property.time_zone.enum.127}", "130": "${pd.ws203.tsl.property.time_zone.enum.130}", "140": "${pd.ws203.tsl.property.time_zone.enum.140}", "-120": "${pd.ws203.tsl.property.time_zone.enum._120}", "-110": "${pd.ws203.tsl.property.time_zone.enum._110}", "-100": "${pd.ws203.tsl.property.time_zone.enum._100}", "-95": "${pd.ws203.tsl.property.time_zone.enum._95}", "-90": "${pd.ws203.tsl.property.time_zone.enum._90}", "-80": "${pd.ws203.tsl.property.time_zone.enum._80}", "-70": "${pd.ws203.tsl.property.time_zone.enum._70}", "-60": "${pd.ws203.tsl.property.time_zone.enum._60}", "-50": "${pd.ws203.tsl.property.time_zone.enum._50}", "-40": "${pd.ws203.tsl.property.time_zone.enum._40}", "-35": "${pd.ws203.tsl.property.time_zone.enum._35}", "-30": "${pd.ws203.tsl.property.time_zone.enum._30}", "-20": "${pd.ws203.tsl.property.time_zone.enum._20}", "-10": "${pd.ws203.tsl.property.time_zone.enum._10}" } } }, { "id": "data_storage_enable", "name": "${pd.ws203.tsl.property.data_storage_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.data_storage_enable.enum.0}", "true": "${pd.ws203.tsl.property.data_storage_enable.enum.1}" } } }, { "id": "retransmission_enable", "name": "${pd.ws203.tsl.property.retransmission_enable.name}", "description": "${pd.ws203.tsl.property.retransmission_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.retransmission_enable.enum.0}", "true": "${pd.ws203.tsl.property.retransmission_enable.enum.1}" } } }, { "id": "retransmission_interval", "name": "${pd.ws203.tsl.property.retransmission_interval.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "retransmission_interval.interval", "name": "${pd.ws203.tsl.property.retransmission_interval.interval.name}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "retransmission_interval", "defaultValue": "600", "unitName": "s", "validator": { "min": 30.0, "max": 1200.0, "required": true } } }, { "id": "retrival_interval", "name": "${pd.ws203.tsl.property.retrival_interval.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "retrival_interval.interval", "name": "${pd.ws203.tsl.property.retrival_interval.interval.name}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "retrival_interval", "defaultValue": "60", "unitName": "s", "validator": { "min": 30.0, "max": 1200.0, "required": true } } }, { "id": "threshold_parameter", "name": "${pd.ws203.tsl.property.threshold_parameter.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "threshold_parameter.threshold_condition", "name": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.name}", "accessMode": "W", "dataSpec": { "dataType": "ENUM", "parentId": "threshold_parameter", "defaultValue": "0", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.enum.0}", "1": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.enum.1}", "2": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.enum.2}", "3": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.enum.3}", "4": "${pd.ws203.tsl.property.threshold_parameter.threshold_condition.enum.4}" } } }, { "id": "threshold_parameter.threshold_max", "name": "${pd.ws203.tsl.property.threshold_parameter.threshold_max.name}", "accessMode": "W", "dataSpec": { "dataType": "FLOAT", "parentId": "threshold_parameter", "defaultValue": "0", "unitName": "℃", "fractionDigits": 1, "coefficient": 0.1, "validator": { "min": -30.0, "max": 60.0, "required": true } } }, { "id": "threshold_parameter.threshold_min", "name": "${pd.ws203.tsl.property.threshold_parameter.threshold_min.name}", "accessMode": "W", "dataSpec": { "dataType": "FLOAT", "parentId": "threshold_parameter", "defaultValue": "0", "unitName": "℃", "fractionDigits": 1, "coefficient": 0.1, "validator": { "min": -30.0, "max": 60.0, "required": true } } }, { "id": "d2d_enable", "name": "${pd.ws203.tsl.property.d2d_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_enable.enum.1}" } } }, { "id": "d2d_key", "name": "${pd.ws203.tsl.property.d2d_key.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "defaultValue": "5572404c696e6b4c", "validator": { "minSize": 16, "maxSize": 16, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_occupied_temperature", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "d2d_trigger_by_occupied_temperature.enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied_temperature", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied_temperature.lora_uplink_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.lora_uplink_enable.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.lora_uplink_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied_temperature", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.lora_uplink_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.lora_uplink_enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied_temperature.control_command", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_command.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "parentId": "d2d_trigger_by_occupied_temperature", "defaultValue": "0000", "validator": { "minSize": 4, "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_occupied_temperature.control_time_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_time_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied_temperature", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_time_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_time_enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied_temperature.control_time", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_time.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_occupied_temperature.control_time.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "d2d_trigger_by_occupied_temperature", "defaultValue": "5", "unitName": "min", "validator": { "required": true } } }, { "id": "d2d_trigger_by_occupied", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "d2d_trigger_by_occupied.enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied.lora_uplink_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.lora_uplink_enable.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.lora_uplink_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.lora_uplink_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.lora_uplink_enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied.control_command", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_command.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "parentId": "d2d_trigger_by_occupied", "defaultValue": "0000", "validator": { "minSize": 4, "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_occupied.control_time_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_time_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_occupied", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_time_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_time_enable.enum.1}" } } }, { "id": "d2d_trigger_by_occupied.control_time", "name": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_time.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_occupied.control_time.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "d2d_trigger_by_occupied", "defaultValue": "5", "unitName": "min", "validator": { "required": true } } }, { "id": "d2d_trigger_by_vacant", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "d2d_trigger_by_vacant.enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_vacant", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.enable.enum.1}" } } }, { "id": "d2d_trigger_by_vacant.lora_uplink_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.lora_uplink_enable.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.lora_uplink_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_vacant", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.lora_uplink_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.lora_uplink_enable.enum.1}" } } }, { "id": "d2d_trigger_by_vacant.control_command", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_command.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "parentId": "d2d_trigger_by_vacant", "defaultValue": "0000", "validator": { "minSize": 4, "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_vacant.control_time_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_time_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_vacant", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_time_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_time_enable.enum.1}" } } }, { "id": "d2d_trigger_by_vacant.control_time", "name": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_time.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_vacant.control_time.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "d2d_trigger_by_vacant", "defaultValue": "5", "unitName": "min", "validator": { "required": true } } }, { "id": "d2d_trigger_by_temperature_threshold", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "d2d_trigger_by_temperature_threshold.enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold.lora_uplink_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.lora_uplink_enable.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.lora_uplink_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.lora_uplink_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.lora_uplink_enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold.control_command", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_command.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "parentId": "d2d_trigger_by_temperature_threshold", "defaultValue": "0000", "validator": { "minSize": 4, "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_temperature_threshold.control_time_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_time_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_time_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_time_enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold.control_time", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_time.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold.control_time.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "d2d_trigger_by_temperature_threshold", "defaultValue": "5", "unitName": "min", "validator": { "required": true } } }, { "id": "d2d_trigger_by_temperature_threshold_release", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.name}", "accessMode": "W", "dataSpec": { "dataType": "STRUCT", "validator": { "required": true } } }, { "id": "d2d_trigger_by_temperature_threshold_release.enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold_release", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold_release.lora_uplink_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.lora_uplink_enable.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.lora_uplink_enable.description}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold_release", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.lora_uplink_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.lora_uplink_enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold_release.control_command", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_command.name}", "accessMode": "W", "dataSpec": { "dataType": "STRING", "parentId": "d2d_trigger_by_temperature_threshold_release", "defaultValue": "0000", "validator": { "minSize": 4, "maxSize": 4, "required": true }, "encoding": "HEX" } }, { "id": "d2d_trigger_by_temperature_threshold_release.control_time_enable", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_time_enable.name}", "accessMode": "W", "dataSpec": { "dataType": "BOOL", "parentId": "d2d_trigger_by_temperature_threshold_release", "defaultValue": "false", "validator": { "required": true }, "mapping": { "false": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_time_enable.enum.0}", "true": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_time_enable.enum.1}" } } }, { "id": "d2d_trigger_by_temperature_threshold_release.control_time", "name": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_time.name}", "description": "${pd.ws203.tsl.property.d2d_trigger_by_temperature_threshold_release.control_time.description}", "accessMode": "W", "dataSpec": { "dataType": "INT", "parentId": "d2d_trigger_by_temperature_threshold_release", "defaultValue": "5", "unitName": "min", "validator": { "required": true } } } ], "events": [ { "id": "temperature_threshold_alarm", "name": "${pd.ws203.tsl.event.temperature_threshold_alarm.name}", "type": "WARN", "outputs": [ { "ref": "temperature" }, { "id": "temperature_threshold_alarm.alarm_type", "name": "${pd.ws203.tsl.param.temperature_threshold_alarm.alarm_type.name}", "dataSpec": { "dataType": "ENUM", "parentId": "temperature_threshold_alarm", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.param.temperature_threshold_alarm.alarm_type.enum.0}", "1": "${pd.ws203.tsl.param.temperature_threshold_alarm.alarm_type.enum.1}" } } } ] }, { "id": "historical_data", "name": "${pd.ws203.tsl.event.historical_data.name}", "type": "INFO", "outputs": [ { "id": "historical_data.timestamp", "name": "${pd.ws203.tsl.param.historical_data.timestamp.name}", "dataSpec": { "dataType": "DATE", "parentId": "historical_data", "unitName": "s", "validator": { "required": true } } }, { "id": "historical_data.trigger_type", "name": "${pd.ws203.tsl.param.historical_data.trigger_type.name}", "dataSpec": { "dataType": "ENUM", "parentId": "historical_data", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.param.historical_data.trigger_type.enum.0}", "1": "${pd.ws203.tsl.param.historical_data.trigger_type.enum.1}", "2": "${pd.ws203.tsl.param.historical_data.trigger_type.enum.2}", "3": "${pd.ws203.tsl.param.historical_data.trigger_type.enum.3}", "4": "${pd.ws203.tsl.param.historical_data.trigger_type.enum.4}" } } }, { "id": "historical_data.pir_status", "name": "${pd.ws203.tsl.param.historical_data.pir_status.name}", "dataSpec": { "dataType": "ENUM", "parentId": "historical_data", "validator": { "required": true }, "mapping": { "0": "${pd.ws203.tsl.param.historical_data.pir_status.enum.0}", "1": "${pd.ws203.tsl.param.historical_data.pir_status.enum.1}" } } }, { "id": "historical_data.temperature", "name": "${pd.ws203.tsl.param.historical_data.temperature.name}", "dataSpec": { "dataType": "FLOAT", "parentId": "historical_data", "unitName": "℃", "fractionDigits": 1, "coefficient": 0.1, "validator": { "required": true } } }, { "id": "historical_data.humidity", "name": "${pd.ws203.tsl.param.historical_data.humidity.name}", "dataSpec": { "dataType": "FLOAT", "parentId": "historical_data", "unitName": "%RH", "fractionDigits": 1, "coefficient": 0.5, "validator": { "min": 0.0, "max": 100.0, "required": true } } } ] } ], "services": [ { "id": "reboot", "name": "${pd.ws203.tsl.service.reboot.name}", "callType": "ASYNC", "inputs": [], "outputs": [] }, { "id": "query_device_status", "name": "${pd.ws203.tsl.service.query_device_status.name}", "callType": "ASYNC", "inputs": [], "outputs": [] }, { "id": "time_synchronize", "name": "${pd.ws203.tsl.service.time_synchronize.name}", "callType": "ASYNC", "inputs": [], "outputs": [] }, { "id": "clear_historical_data", "name": "${pd.ws203.tsl.service.clear_historical_data.name}", "callType": "ASYNC", "inputs": [], "outputs": [] }, { "id": "retrival_historical_data_by_time", "name": "${pd.ws203.tsl.service.retrival_historical_data_by_time.name}", "callType": "ASYNC", "inputs": [ { "id": "retrival_historical_data_by_time.time", "name": "${pd.ws203.tsl.param.retrival_historical_data_by_time.time.name}", "dataSpec": { "dataType": "DATE", "parentId": "retrival_historical_data_by_time", "unitName": "s", "validator": { "required": true } } } ], "outputs": [] }, { "id": "retrival_historical_data_by_time_range", "name": "${pd.ws203.tsl.service.retrival_historical_data_by_time_range.name}", "callType": "ASYNC", "inputs": [ { "id": "retrival_historical_data_by_time_range.start_time", "name": "${pd.ws203.tsl.param.retrival_historical_data_by_time_range.start_time.name}", "dataSpec": { "dataType": "DATE", "parentId": "retrival_historical_data_by_time_range", "unitName": "s", "validator": { "required": true } } }, { "id": "retrival_historical_data_by_time_range.end_time", "name": "${pd.ws203.tsl.param.retrival_historical_data_by_time_range.end_time.name}", "dataSpec": { "dataType": "DATE", "parentId": "retrival_historical_data_by_time_range", "unitName": "s", "validator": { "required": true } } } ], "outputs": [] }, { "id": "stop_historical_data_retrival", "name": "${pd.ws203.tsl.service.stop_historical_data_retrival.name}", "callType": "ASYNC", "inputs": [], "outputs": [] } ] }, "status": "Success", "requestId": "f2c9e4437820f8168d23b4cf754aa62d" }
関連記事
ソリューション / IoT サポート
- ▢3. Milesight開発プラットフォームAPIの概要 2025年6月21日システムをサードパーティのアプリケーションと統合するためのアプリケーションプログラミングインターフェース (API) を提供しています
- 3.1.1.1 APIリクエスト構造 2025年6月21日Milesight Development Platform APIのリクエスト構造について説明します
- 3.1.1.2 API レスポンス結果 2025年6月21日APIリクエストを受信すると、Milesight Development Platformはリクエストの結果を示すHTTPステータスコードと、API呼び出しで要求された情報を含むJSONレスポンスボディを返します。
- 3.1.2 API インターフェース一覧 2025年6月21日このトピックでは、Milesight Development Platform API のインターフェースの要約リストを提供します。
- 3.1.3.1 API 認証ルール 2025年6月21日Milesight Development Platform APIは、OAuth 2.0を使用して認証を行い、アプリケーションがMilesight Development Platform上のリソースにアクセスするためのセキュアなトークンを発行します。
- 3.1.3.2 API アクセス トークンの取得 2025年6月21日アクセス トークンは、認証された API 呼び出しを検証するために使用されます。アプリケーションはまずアクセス トークンをリクエストし、その後、Milesight Development Platform API にアクセスするすべてのリクエストにそのトークンを含める必要があります。
- 3.1.3.3 API アクセス トークンの更新 2025年6月21日Milesight Development Platformとアプリケーション間の安全でスムーズな通信を確保するため、アクセス トークンが有効期限切れになる前に更新する必要があります。
- 3.1.4.1 デバイスを追加する 2025年6月21日Milesight Development Platform にデバイスを追加し、現在のアプリケーションに関連付けます。
- 3.1.4.2 特定のデバイスを検索する 2025年6月21日現在のアプリケーションに関連付けられているすべてのデバイスから、特定のデバイスを検索します。
- 3.1.4.3 特定のデバイスをクエリする 2025年6月21日特定のデバイスの詳細情報を照会します。
- 3.1.4.4 デバイスのTSLモデルを照会する 2025年6月21日デバイスの TSL (Thing Specification Language) モデルをクエリします。
- 3.1.4.5 プロパティ レポートの履歴データを照会する 2025年6月21日デバイスプロパティレポートの履歴データを照会するためのインターフェースについて紹介します。
- 3.1.4.6 デバイス サービスを非同期に呼び出す 2025年6月21日デバイスのサービスを非同期で呼び出します。
- 3.1.4.7 デバイス情報の更新 2025年6月21日デバイスの名前、説明、およびタグを更新します。
- 3.1.4.8 デバイス プロパティを段階的に更新する 2025年6月21日デバイスのプロパティを段階的に更新します。これは、単一のデバイスおよび単純なパラメータの更新に適しています。
- 3.1.4.9 デバイスを削除する 2025年6月21日Milesight Development Platform からデバイスを削除します。
- 3.1.4.X アプリケーションからデバイスを削除する 2025年6月21日Milesight Development Platform のアプリケーションからデバイスを削除します。
- 3.1.4.XI 特定のデバイスの設定を取得する 2025年6月21日特定のデバイスの詳細な設定を照会します。
- 3.1.5.1 RPS用のプロファイルURLを指定する 2025年6月21日デバイスの RPS (リダイレクトおよびプロビジョニングサービス) でプロファイル URL を指定します。
- 3.1.5.2 クエリ プロファイル URL リスト 2025年6月21日現在のアプリケーション内のプロファイル URL リストを照会します。
- 3.1.5.3 デバイスのRPSレコードの削除 2025年6月21日RPS のプロファイル URL を指定してデバイスを Milesight Development Platform に追加する場合、またはデバイスを別のプラットフォームに転送する場合は、RPS レコードの一意性を確保するために、デバイスの現在の RPS レコードを削除する必要があります。
- 3.1.6.1 構成タスクの作成 2025年6月21日リモートデバイスに設定を適用するための設定タスクを作成します。これは、大量のデバイスや設定パラメータが多い場合に適しています。単一のデバイスや単純なパラメータの更新については、「デバイスプロパティの段階的な更新」を参照してください。
- 3.2.1 イベント通知の概要 2025年6月21日要件、Webhook ワークフロー、サポートされている Webhook イベントなど、Milesight Development Platform Webhook の概要について詳しく説明します。
- 3.2.2 Webhook イベント通知の設定 2025年6月21日サードパーティのアプリケーションが、デバイスが Milesight Development Platform にデータを報告したときにリアルタイムの通知を受け取ることができるように、Webhook イベント通知を設定する方法について説明します。
- 3.2.3.1 デバイスデータ 2025年6月21日イベント「DEVICE_DATA」の例と説明について説明します。
- 3.2.3.2 タスクデータ 2025年6月21日イベント「TASK_DATA」の例と詳細について説明します。
- 3.2.3.3 Webhook テスト 2025年6月21日イベント「WEBHOOK_TEST」の例と解説について説明します。
- 3.2.3.4 システムメッセージ 2025年6月21日イベント「SYSTEM_MESSAGES」の例と説明を提供します。