デバイスを制御するには、IoT Platform で SetDeviceDesiredProperty 操作を呼び出して、デバイスの期待されるプロパティ値を設定します。IoT Platform でデバイスの期待されるプロパティ値を設定すると、デバイスがオンラインの場合はプロパティ値がリアルタイムで更新されます。デバイスがオフラインの場合、期待されるプロパティ値は IoT Platform にキャッシュされます。デバイスが再びオンラインになると、デバイスは期待されるプロパティ値を取得し、既存のプロパティ値を更新します。このトピックでは、デバイスの期待されるプロパティ値に関連するメッセージ形式について説明します。
期待されるプロパティ値の取得
デバイスが IoT Platform にリクエストを送信し、IoT Platform がデバイスにレスポンスを送信する場合、以下のトピックが使用されます。
デバイスは、IoT Platform から期待されるプロパティ値を取得するためのリクエストを送信します。
- リクエスト Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/get - レスポンス Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/get_reply
Alink JSON 形式のリクエスト例:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : [
"power",
"temperature"
],
"method":"thing.property.desired.get"
}Alink JSON 形式のレスポンス例:
{
"id":"123",
"code":200,
"data":{
"power": {
"value": "on",
"version": 2
}
}
}| パラメーター | タイプ | 説明 |
| id | String | メッセージの ID。有効な値:0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。 |
| version | String | プロトコルのバージョン。有効な値:1.0。 |
sys | Object | 拡張機能のパラメーター。値には、各機能のフィールドが含まれています。 説明 デバイス SDK を使用してデバイス機能を開発するときに拡張機能が構成されていない場合、このパラメーターは使用できません。拡張機能はデフォルトの構成を使用します。 |
ack | Integer | sys パラメーターの拡張機能フィールド。このフィールドは、IoT Platform が登録リクエストのレスポンスデータを返すかどうかを指定します。有効な値:
重要 このパラメーターの詳細については、「TSL モデルの使用方法の例」をご参照ください。 機能が構成されていない場合、このパラメーターは使用できません。デフォルトでは、IoT Platform は登録リクエストのレスポンスデータを返します。 |
| params | List | 期待値を取得するプロパティの識別子リスト。 この例では、次のプロパティ識別子がリストされています。 カスタムモジュールプロパティの識別子は、 |
| method | String | リクエストメソッド。有効な値:thing.property.desired.get。 |
| パラメーター | タイプ | 説明 |
| id | String | メッセージの ID。有効な値:0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。 |
| code | Integer | レスポンスの HTTP ステータスコード。詳細については、「デバイスの共通コード」をご参照ください。 |
| data | Object | 返される期待値情報。 この例では、power プロパティに関する期待値情報が返されます。情報には、プロパティの value と version が含まれます。 カスタムモジュールプロパティの識別子は、 説明 IoT Platform でプロパティに期待値が設定されていない場合、または期待値が削除されている場合、返されるデータにはこのプロパティの識別子は含まれません。この例では、temperature プロパティには期待値がありません。したがって、返されるデータにはこのプロパティ識別子は含まれません。 data 内のパラメーターの詳細については、次の表を参照してください。 |
| パラメーター | タイプ | 説明 |
| key | String | プロパティの識別子 (この例では power)。 |
| value | Object | 期待値。 |
| version | Integer | 期待値の現在のバージョン。 説明 期待されるプロパティ値を初めて設定すると、バージョンは 1 になります。その後、期待値を設定するたびにバージョンが 1 ずつ増加します。 |
期待されるプロパティ値の削除
デバイスが IoT Platform にリクエストを送信し、IoT Platform がデバイスにレスポンスを送信する場合、以下のトピックが使用されます。
デバイスは、IoT Platform にキャッシュされている期待されるプロパティ値を削除するためのリクエストを送信します。
- リクエスト Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/delete - レスポンス Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/delete_reply
Alink JSON 形式のリクエスト例:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": {
"power": {
"version": 1
},
"temperature": { }
},
"method":"thing.property.desired.delete"
}Alink JSON 形式のレスポンス例:
{
"id": "123",
"code": 200,
"data": { }
}| パラメーター | タイプ | 説明 |
| id | String | メッセージの ID。有効な値:0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。 |
| version | String | プロトコルのバージョン。有効な値:1.0。 |
sys | Object | 拡張機能のパラメーター。値には、各機能のフィールドが含まれています。 説明 デバイス SDK を使用してデバイス機能を開発するときに拡張機能が構成されていない場合、このパラメーターは使用できません。拡張機能はデフォルトの構成を使用します。 |
ack | Integer | sys パラメーターの拡張機能フィールド。このフィールドは、IoT Platform が登録リクエストのレスポンスデータを返すかどうかを指定します。有効な値:
重要 このパラメーターの詳細については、「TSL モデルの使用方法の例」をご参照ください。 機能が構成されていない場合、このパラメーターは使用できません。デフォルトでは、IoT Platform は登録リクエストのレスポンスデータを返します。 |
| params | Object | 期待値を削除するプロパティのリスト。プロパティは、識別子と version によって識別されます。例:カスタムモジュールプロパティの識別子は、 params 内のパラメーターの詳細については、次の表を参照してください。 |
| method | String | リクエストメソッド。有効な値:thing.property.desired.delete。 |
| パラメーター | タイプ | 説明 |
| key | String | プロパティの識別子。この例では、power と temperature というプロパティ識別子がリストされています。 |
| version | Integer | 削除する期待値のバージョン。 説明
|
| パラメーター | タイプ | 説明 |
| id | String | メッセージの ID。有効な値:0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。 |
| code | Integer | レスポンスの HTTP ステータスコード。詳細については、「デバイスの共通コード」をご参照ください。 |
| data | Object | 返されるデータ。期待されるプロパティ値を削除するリクエストへのレスポンスでは、データは返されません。 |