アプリケーション開発
レスポンス
この章では Symphony API の成功レスポンスとして返されるオブジェクトを定義します。
本 SDK 経由で Symphony API を実行すると、まず Symphony からは JSON 形式でレスポンスが返されます。
本 SDK は、そのレスポンスの JSON を SymphonyObject
クラスに変換した上でアプリケーションに通知します。
例えば、searchGateway()
を実行すると、Symphony から以下のような JSON が本 SDK まで返されます。
{
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "node-gotapi",
...
}
本 SDK は上記の JSON を下記に相当する処理で SymphonyObject
へ変換し、アプリケーションに通知します。
SymphonyObject response = new SymphonyObject.Builder()
.put("gatewayId", "gw-CAE3AB3F4F5A93733CF2451E720F2344")
.put("gatewayName", "node-gotapi")
...
.build();
よって、通知を受けたアプリケーション側では以下のようにレスポンスから値を取得できます。
symphony.searchGateway(params).thenAccept(((SymphonyObject) obj) -> {
String gatewayId = obj.getString("gatewayId");
String gatewayName = obj.getString("gatewayName");
...
});
注意: 以降、レスポンスの例については JSON 形式のまま記載します。(参考: 「表記について」)
GatewayInfo
オブジェクト
このオブジェクトはゲートウェイ情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
gatewayId |
String | ゲートウェイ ID。 |
gatewayName |
String | ゲートウェイの名前。updateGateway() メソッドを使って自由に変更できます。 |
gatewayUuid |
String | ゲートウェイの UUID。 |
gatewayType |
String | ゲートウェイの種別を表す文字列。mobile , hgw のいずれか。 |
manager |
String | ゲートウェイにインストールされているデバイスコネクトマネージャーの名称。 |
managerVersion |
String | ゲートウェイにインストールされているデバイスコネクトマネージャーのバージョン。 |
agent |
String | ゲートウェイにインストールされている Symphony エージェントの名称。 |
agentVersion |
String | ゲートウェイにインストールされている Symphony エージェントのバージョン。 |
osType |
String | ゲートウェイの OS の種類。この情報は空文字列の場合があります。 |
osVersion |
String | ゲートウェイの OS のバージョン。この情報は空文字列の場合があります。 |
modelName |
String | ゲートウェイのモデル名。この情報は空文字列の場合があります。 |
isOnline |
Boolean | ゲートウェイがオンラインなら true 、オフラインなら false がセットされます。 |
{
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "node-gotapi",
"gatewayUuid": "836a8e20-025e-11a8-392e-b827ebbd2f2e",
"gatewayType": "hgw",
"manager": "node-gotapi",
"managerVersion": "0.3.3",
"agent": "node-gotapi-agent",
"agentVersion": "v2.20180305",
"osType": "",
"osVersion": "",
"modelName": "node-gotapi-agent",
"isOnline": true
}
UnregisteredDeviceInfo
オブジェクト
このオブジェクトは未登録のデバイス情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
deviceName |
String | デバイス名。 |
thingId |
String | シング ID。 |
serviceId |
String | サービス ID。この ID は、デバイスコネクト側で割り振ったデバイスの識別子です。通常、デバイスコネクト側では同一のデバイスに対しては同一の serviceId を割り当てます。2 つのゲートウェイが同じデバイスを認識していた場合、Symphony 上は別々のデバイスとして認識します (別々の thingId が割り当てられます) が、デバイスコネクト側で同一デバイス同一 servcieId の原則を実現していれば、この serviceId は同じになります。 |
type |
String | デバイスへ接続するネットワークの種別 (Bluetooth , BLE , WiFi , NFC , USB など)。デバイスコネクトプラグインがセットする値ですが、セットされていなければ空文字列がセットされます。 |
isOnline |
Boolean | オンラインフラグ。該当のデバイスがオンラインなら true 、オフラインなら false がセットされます。 |
config |
SymphonyObject | デバイスコネクトプラグインがセットする固有のデータ。なければ null がセットされます。 |
scopes |
SymphonyArray | デバイスコネクト規定のスコープのリスト。(例:temperature , light , hello , battery ) |
gatewayList |
SymphonyArray | ゲートウェイ情報。 |
gatewayId |
String | ゲートウェイ ID。 |
gatewayName |
String | ゲートウェイ 名。 |
gatewayType |
String | ゲートウェイの種別を表す文字列。mobile , hgw のいずれか。 |
isOnline |
Boolean | ゲートウェイがオンラインなら true 、オフラインなら false がセットされます。 |
{
"thingId": "th-2D0AB85CB301495FED4821D22D1737C1",
"deviceName": "Sense HAT",
"type": "",
"isOnline": true,
"config": null,
"scopes": [
"serviceInformation",
"light",
"temperature",
"humidity",
"atmosphericPressure"
],
"gatewayList": [
{
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "仕事部屋のゲートウェイ",
"gatewayType": "hgw",
"isOnline": true
}
]
}
DeviceInfo
オブジェクト
このオブジェクトはデバイス情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
deviceName |
String | デバイス名。 |
thingId |
String | シング ID。 |
serviceId |
String | サービス ID。この ID は、デバイスコネクト側で割り振ったデバイスの識別子です。通常、デバイスコネクト側では同一のデバイスに対しては同一の serviceId を割り当てます。2 つのゲートウェイが同じデバイスを認識していた場合、Symphony 上は別々のデバイスとして認識します (別々の thingId が割り当てられます) が、デバイスコネクト側で同一デバイス同一 servcieId の原則を実現していれば、この serviceId は同じになります。 |
deviceCategory |
String | デバイスのカテゴリー識別文字列。この値は、Symphony が認識しているデバイスの種類を表す文字列。 |
type |
String | デバイスへ接続するネットワークの種別 (Bluetooth , BLE , WiFi , NFC , USB など)。デバイスコネクトプラグインがセットする値ですが、セットされていなければ空文字列がセットされます。 |
isOnline |
Boolean | オンラインフラグ。該当のデバイスがオンラインなら true 、オフラインなら false がセットされます。 |
config |
SymphonyObject | デバイスコネクトプラグインがセットする固有のデータ。なければ null がセットされます。 |
scopes |
SymphonyArray | デバイスコネクト規定のスコープのリスト。(例:temperature , light , hello , battery ) |
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
ailiases |
SymphonyArray | デバイスコネクトにおける serviceId が一致する thingId のリスト。ゲートウェイが 1 つしかなければ、このデバイスの thingId が 1 つだけセットされます。ゲートウェイが 2 つあり、それぞれで同じデバイスを登録した場合、自身の thingId に加え、もう一方の thingId が加えられます。 |
gateway |
SymphonyObject | ゲートウェイ情報。チーミングデバイスの場合は null がセットされます。 |
gatewayId |
String | ゲートウェイ ID。 |
gatewayName |
String | ゲートウェイ 名。 |
gatewayType |
String | ゲートウェイの種別を表す文字列。mobile , hgw のいずれか。 |
isOnline |
Boolean | ゲートウェイがオンラインなら true 、オフラインなら false がセットされます。 |
nicknameList |
SymphonyArray | デバイスに割り当てられたニックネーム情報を格納したオブジェクトのリスト。 |
nicknameId |
String | ニックネーム ID |
nickname |
String | ニックネーム |
tagList |
SymphonyArray | デバイスに割り当てられたタグ情報を格納したオブジェクトのリスト。 |
tagId |
String | タグ ID |
tagName |
String | タグ 名 |
{
"deviceName": "Hue color lamp 1",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"serviceId": "hue-light-0017882C7D50-1",
"deviceCategory": "light",
"type": "",
"isOnline": true,
"config": null,
"scopes": [
"serviceInformation",
"light",
"hello"
],
"userId": "wNrFkaOg",
"userName": "太郎",
"ailiases": [
"th-A7E2F85D264D52E8F2EA0B507D8CCA57"
],
"gateway": {
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "仕事部屋のゲートウェイ",
"gatewayType": "hgw",
"isOnline": true
},
"nicknameList": [
{
"nicknameId": "nn-21B2106D486260AC6DE0FE3AE096D64E",
"nickname": "居間の照明1"
}
],
"tagList": [
{
"tagId": "tg-F38172B6AC6ADE205A67706A54508704",
"tagName": "居間の照明"
}
]
}
DeviceActionInfo
オブジェクト
このオブジェクトはアクション情報を含んだデバイス情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
deviceName |
String | デバイス名。 |
thingId |
String | シング ID。 |
serviceId |
String | サービス ID。この ID は、デバイスコネクト側で割り振ったデバイスの識別子です。通常、デバイスコネクト側では同一のデバイスに対しては同一の serviceId を割り当てます。2 つのゲートウェイが同じデバイスを認識していた場合、Symphony 上は別々のデバイスとして認識します (別々の thingId が割り当てられます) が、デバイスコネクト側で同一デバイス同一 servcieId の原則を実現していれば、この serviceId は同じになります。 |
deviceCategory |
String | デバイスのカテゴリー識別文字列。この値は、Symphony が認識しているデバイスの種類を表す文字列。 |
type |
String | デバイスへ接続するネットワークの種別 (Bluetooth , BLE , WiFi , NFC , USB など)。デバイスコネクトプラグインがセットする値ですが、セットされていなければ空文字列がセットされます。 |
isOnline |
Boolean | オンラインフラグ。該当のデバイスがオンラインなら true 、オフラインなら false がセットされます。 |
config |
SymphonyObject | デバイスコネクトプラグインがセットする固有のデータ。なければ null がセットされます。 |
scopes |
SymphonyArray | デバイスコネクト規定のスコープのリスト。(例:temperature , light , hello , battery ) |
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
gateway |
SymphonyObject | ゲートウェイ情報。チーミングデバイスの場合は null がセットされます。 |
gatewayId |
String | ゲートウェイ ID。 |
gatewayName |
String | ゲートウェイ 名。 |
gatewayType |
String | ゲートウェイの種別を表す文字列。mobile , hgw のいずれか。 |
isOnline |
Boolean | ゲートウェイがオンラインなら true 、オフラインなら false がセットされます。 |
actionInfo |
SymphonyObject | アクションを表す ActionInfo オブジェクト。 |
{
"deviceName": "Hue color lamp 1",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"serviceId": "hue-light-0017882C7D50-1",
"deviceCategory": "light",
"type": "",
"isOnline": true,
"config": null,
"scopes": [
"serviceInformation",
"light",
"hello"
],
"userId": "wNrFkaOg",
"userName": "太郎",
"gateway": {
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "仕事部屋のゲートウェイ",
"gatewayType": "hgw",
"isOnline": true
},
"actionInfo": {
...
}
}
TagInfo
オブジェクト
このオブジェクトはタグ情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
tagId |
String | タグ ID。 |
tagName |
String | タグ名。 |
deviceList |
SymphonyArray | タグに関連付けられたデバイス情報のリスト。 |
deviceName |
String | デバイス名。 |
thingId |
String | シング ID。 |
serviceId |
String | サービス ID。この ID は、デバイスコネクト側で割り振ったデバイスの識別子です。通常、デバイスコネクト側では同一のデバイスに対しては同一の serviceId を割り当てます。2 つのゲートウェイが同じデバイスを認識していた場合、Symphony 上は別々のデバイスとして認識します (別々の thingId が割り当てられます) が、デバイスコネクト側で同一デバイス同一 servcieId の原則を実現していれば、この serviceId は同じになります。 |
deviceCategory |
String | デバイスのカテゴリー識別文字列。この値は、Symphony が認識しているデバイスの種類を表す文字列。 |
type |
String | デバイスへ接続するネットワークの種別 (Bluetooth , BLE , WiFi , NFC , USB など)。デバイスコネクトプラグインがセットする値ですが、セットされていなければ空文字列がセットされます。 |
isOnline |
Boolean | オンラインフラグ。該当のデバイスがオンラインなら true 、オフラインなら false がセットされます。 |
config |
SymphonyObject | デバイスコネクトプラグインがセットする固有のデータ。なければ null がセットされます。 |
scopes |
SymphonyArray | デバイスコネクト規定のスコープのリスト。(例:temperature , light , hello , battery ) |
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
{
"tagId": "tg-F38172B6AC6ADE205A67706A54508704",
"tagName": "居間の照明",
"deviceList": [
{
"deviceName": "Hue color lamp 1",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"serviceId": "hue-light-0017882C7D50-1",
"deviceCategory": "light",
"type": "",
"isOnline": true,
"config": null,
"scopes": [
"serviceInformation",
"light",
"hello"
],
"userId": "wNrFkaOg",
"userName": "太郎"
},
...
]
}
NicknameInfo
オブジェクト
このオブジェクトはニックネーム情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
nicknameId |
String | ニックネーム ID。 |
nickname |
String | ニックネーム。 |
deviceList |
SymphonyArray | 該当のニックネームが関連付けられているデバイス情報のリスト。 |
deviceName |
String | デバイス名。 |
thingId |
String | シング ID。 |
serviceId |
String | サービス ID。この ID は、デバイスコネクト側で割り振ったデバイスの識別子です。通常、デバイスコネクト側では同一のデバイスに対しては同一の serviceId を割り当てます。2 つのゲートウェイが同じデバイスを認識していた場合、Symphony 上は別々のデバイスとして認識します (別々の thingId が割り当てられます) が、デバイスコネクト側で同一デバイス同一 servcieId の原則を実現していれば、この serviceId は同じになります。 |
deviceCategory |
String | デバイスのカテゴリー識別文字列。この値は、Symphony が認識しているデバイスの種類を表す文字列。 |
type |
String | デバイスへ接続するネットワークの種別 (Bluetooth , BLE , WiFi , NFC , USB など)。デバイスコネクトプラグインがセットする値ですが、セットされていなければ空文字列がセットされます。 |
isOnline |
Boolean | オンラインフラグ。該当のデバイスがオンラインなら true 、オフラインなら false がセットされます。 |
config |
SymphonyObject | デバイスコネクトプラグインがセットする固有のデータ。なければ null がセットされます。 |
scopes |
SymphonyArray | デバイスコネクト規定のスコープのリスト。(例:temperature , light , hello , battery ) |
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
{
"nicknameId": "nn-9D0DD0330D6C963E2063B3878CDECD17",
"nickname": "居間のリモコン",
"deviceList": [
{
"deviceName": "赤外線リモコン REX",
"thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
"serviceId": "hue-light-0017882C7D50-1",
"deviceCategory": "rex-base",
"type": "",
"isOnline": true,
"config": null,
"scopes": [
"serviceInformation",
"temperature",
"preset",
"humidity",
"light",
"battery",
"hello",
"illuminance",
"device"
],
"userId": "wNrFkaOg",
"userName": "太郎"
}
]
}
ActionInfo
オブジェクト
このオブジェクトはアクション情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
actionId |
Integer | アクション ID。 |
summary |
String | アクション概要。 |
url |
String | リクエストパスとリクエストメソッド。 |
profile |
SymphonyObject | アクションプロファイルの情報を格納した ActionProfileInfo オブジェクト。 |
shareUserList |
SymphonyArray | 該当のアクションの利用を許可した共有ユーザー情報のリスト。 |
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
isInvalid |
String | 共有ユーザーの無効フラグ。true なら無効、false なら有効。 |
{
"actionId": "ac-7A38F3E91034566581C54FA9D7D150D9",
"summary": "Light On API (点灯)",
"url": "/light:post",
"profile": {...},
"shareUserList": [
{
"userId": "WEdfn98Q",
"userName": "花子",
"isInvalid": false
}
]
}
ActionProfileInfo
オブジェクト
このオブジェクトは、デバイスコネクトが Symphony に送信したサービスプロファイルのうち、該当のアクションに相当する情報を表します。
{
"/": {
"post": {
"summary": "Light On API (点灯)",
"description": "ライトを点灯します。",
"x-type": "one-shot",
"parameters": [
{
"name": "thingId",
"in": "query",
"description": "サービスID",
"required": true,
"type": "string"
},
{
"name": "color",
"in": "query",
"description": "ライトの色",
"required": false,
"type": "string",
"format": "rgb"
},
{
"name": "brightness",
"in": "query",
"description": "ライトの明度",
"required": false,
"type": "number",
"format": "float",
"maximum": 1,
"minimum": 0.01
},
{
"name": "flashing",
"in": "query",
"description": "ライトの点滅パターン",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
],
"responses": {
"200": {
"description": ""
}
}
}
}
},
オブジェクト構造のトップに "/"
がありますが、これは、デバイスコネクトのリクエストパスの第二階層目からのパスを表します。このオブジェクトを返すメソッドのレスポンスでは、このオブジェクトの親となる ActionInfo
オブジェクトに、フルパスを表す
url
というプロパティが提供されるはずです (例:"/light/:post"
)。request()
メソッドを使ってアクション実行リクエストを送る際には、このフルパスを使ってください。
以下は、getDeviceActions()
メソッドのレスポンスに含まれる ActionInfo
オブジェクトの例です。
{
...
"actionInfo": {
"actionId": "ac-7A38F3E91034566581C54FA9D7D150D9",
"summary": "Light On API (点灯)",
"url": "/light:post",
"profile": { // 本オブジェクト
"/": {
"post": {...}
}
},
"shareUserList": []
},
...
}
このように、リクエストを送る場合に必要なパスとメソッドは、本オブジェクトの親の ActionInfo
オブジェクトの url
プロパティの値を参照し、本オブジェクトの第一階層のパスと第二階層のメソッドは無視しても構いません
(本オブジェクトの第一階層のパスは完全なものではない、第二階層のメソッドはフルパス情報に含まれるメソッドと同じため)。
UserInfo
オブジェクト
このオブジェクトはユーザー情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
userId |
String | ユーザー ID。 |
userName |
String | ユーザー名。 |
{
"userId": "WEdfn98Q",
"userName": "花子"
}
RoleInfo
オブジェクト
このオブジェクトはロール情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
roleId |
Integer | ロール ID。 |
roleName |
String | ロール名。 |
permissionList |
SymphonyArray | パーミッション情報を表す PermissionInfo オブジェクトのリスト。 |
userId |
String | ユーザー ID。 |
{
"roleId": "rl-964BBB96F1ECCC7648CCDC5F5FDC420F",
"roleName": "Hue Light #1 ON",
"permissionList": [
{
"permissionId": "pm-96803FB6E14D2FD3F8DDD58998C31796",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"actionId": null,
"additional": {
"term": [
{
"once": {
"from": "2018-03-01T00:00:00+09:00",
"to": "2018-04-01T00:00:00+09:00"
},
"weekly": null,
"everyday": null
}
],
"location": [],
"number": []
},
"policy": "DeviceFullAccess"
}
],
"userId": "wNrFkaOg"
}
PermissionInfo
オブジェクト
このオブジェクトはパーミッション情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
permissionId |
String | パーミッション ID。 |
thingId |
String | シング ID。 |
actionId |
String | アクション ID。 |
additional |
SymphonyObject | パーミッションを与える付帯条件を格納した PermissionAdditionalInfo オブジェクト。 |
policy |
String | ポリシー。DeviceFullAccess (デバイス API のフルアクセス権限)、ArchiveFullAccess (アーカイブ API のフルアクセス権限)、ArchiveReadWrite (アーカイブ API の GET、PUT API のみ利用可能な権限)、ArchiveReadOnly (アーカーブ API のGET API のみ利用可能な権限) のいずれか。 |
{
"permissionId": "pm-96803FB6E14D2FD3F8DDD58998C31796",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"actionId": null,
"additional": {
"term": [
{
"once": {
"from": "2018-03-01T00:00:00+09:00",
"to": "2018-04-01T00:00:00+09:00"
},
"weekly": null,
"everyday": null
}
],
"location": [],
"number": []
},
"policy": "DeviceFullAccess"
}
PermissionAdditionalInfo
オブジェクト
このオブジェクトはパーミッションの付帯条件の情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
term |
SymphonyObject | 時間による条件。 |
once |
SymphonyObject | 期間による条件。from に指定した日時から to に指定した日時の間はずっと許可します。 |
from |
String | 開始日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
to |
String | 終了日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
weekly |
SymphonyObject | 曜日による条件。例えば、毎月第二週目の土日だけ許可したいなら、execute に "2" 、dayoftheWeek に "6,7" をセットします。 |
from |
String | 開始日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
to |
String | 終了日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
dayoftheWeek |
String | 1 (月曜日) ~ 7 (日曜日) を文字列としてしています。複数指定する場合は、カンマ区切りです。(例:1,2,3,4,5 ) |
execute |
String | 実行する週を 1 ~ 5 で文字列としてしています。この週の番号とは、該当付きの第何週目かを意味します。複数指定する場合は、カンマ区切りです。(例:1,2,3,4,5 ) |
everyday |
SymphonyObject | 毎日特定の時間帯を指定する条件。from と to には、開始時間を終了時間を指定しますが、日付に相当する部分は無視されます。例えば、毎日 08:00 ~ 17:00 だけ許可したい場合は、from に "2018-01-01T08:00:00+09:00" を、to に 2018-01-01T17:00:00+09:00 を指定します。 |
from |
String | 開始日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
to |
String | 終了日時。読み取り時は "2017-11-20T00:00:00+09:00" 形式。リクエストの場合、指定する日時形式は Java の Date オブジェクトが認識可能なものであれば、何でも構いません。(例:2017-11-20T00:00:00+09:00 ) |
location |
SymphonyObject | 位置による条件。 |
coordinate |
SymphonyObject | 座標による条件。 |
longitude |
String | 経度 (例:"139.7527995" )。 |
latitude |
String | 緯度 (例:"35.685175" )。 |
range |
Integer | 範囲。単位はメートルです。 |
id |
SymphonyObject | 位置 ID による条件。ビーコン などのユースケースを想定した機能です。 |
locationId |
String | 位置 ID |
number |
SymphonyObject | 数値による条件。例えば、エアコンの温度を 18 (range.min ) ~ 25 (range.max ) °C の範囲でしか設定できない、や、テレビのチャンネルは "1,2,11" (specify.numbers ) しか設定できない、といったケースを想定した機能です。そのパラメータ名は physicalName に指定します。 |
physicalName |
String | パラメータ名。 |
range |
SymphonyObject | 範囲指定。 |
max |
Float | 最大 |
min |
Float | 最大 |
specify |
SymphonyObject | 番号指定。 |
numbers |
String | 数値をカンマ区切り。 |
TeamingInfo
オブジェクト
このオブジェクトはチーミング情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
thingId |
String | チーミングデバイスのシング ID。 |
mode |
String | AGGREGATION か FAULT_TOLERANCE のどちらか。 |
teamedDeviceList |
SymphonyArray | チーミングを構成するデバイス情報のリスト。二つのデバイス情報が格納されます。 |
thingId |
String | シング ID。 |
weight |
Integer | リクエストの配分 (1 ~ 100)。mode が AGGREGATION の場合のみ有効。mode が FAULT_TOLERANCE の場合は null がセットされます。 |
metric |
Integer | 優先順位 (1 または 2 )。mode が FAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。 |
isFailbackEnabled |
Boolean | 自動フェイルバックフラグ。true なら自動フェイルバックが有効、false なら無効を表します。mode が FAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。 |
failbackTime |
Integer | 自動フェイルバック周期 (60 ~ 86400 秒)。mode が FAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。 |
state |
String | フェールバック状態。ACT (アクティブ)、SBY (スタンバイ)、OFFLINE (オフライン) のいずれかがセットされます。mode が FAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。 |
{
"thingId": "th-2978C5C3686A50FBBA078438930B12FE",
"mode": "AGGREGATION",
"teamedDeviceList": [
{
"thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
"weight": 80,
"metric": null,
"isFailbackEnabled": null,
"failbackTime": null,
"state": null
},
{
"thingId": "th-0B57BD0C829BFDF6E5D60403579A0CF5",
"weight": 20,
"metric": null,
"isFailbackEnabled": null,
"failbackTime": null,
"state": null
}
]
}
{
"thingId": "th-2978C5C3686A50FBBA078438930B12FE",
"mode": "FAULT_TOLERANCE",
"teamedDeviceList": [
{
"thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
"weight": null,
"metric": 1,
"isFailbackEnabled": true,
"failbackTime": 300,
"state": "ACT"
},
{
"thingId": "th-0B57BD0C829BFDF6E5D60403579A0CF5",
"weight": null,
"metric": 2,
"isFailbackEnabled": true,
"failbackTime": 300,
"state": "SBY"
}
]
}
ArchiveActionInfo
オブジェクト
このオブジェクトはアーカイブ情報付きアクション情報を表します。このオブジェクトには主に以下のプロパティが含まれます。
プロパティ名 | 型 | 説明 |
---|---|---|
actionId |
String | アクション ID。 |
summary |
String | アクション 概要。 |
thingId |
String | シング ID。 |
deviceName |
String | デバイス名。 |
gatewayId |
String | ゲートウェイ ID。 |
gatewayName |
String | ゲートウェイ 名。 |
gatewayType |
String | ゲートウェイの種別を表す文字列。mobile , hgw のいずれか。 |
url |
String | リクエストパスとリクエストメソッド。 |
state |
Integer | アーカイブ設定状態 (0 : 未設定, 1 : 停止中, 2 : 起動中)。 |
isGatewayOnline |
Boolean | ゲートウェイのオンライン状態。true ならオンライン、false ならオフラインを表します。 |
{
"actionId": "ac-7A38F3E91034566581C54FA9D7D150D9",
"summary": "Light On API (点灯)",
"thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
"deviceName": "Hue color lamp 1",
"gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
"gatewayName": "仕事部屋のゲートウェイ",
"gatewayType": "hgw",
"url": "/light:post",
"state": 2,
"isGatewayOnline": true
}