アプリケーション開発

レスポンス

この章では 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 毎日特定の時間帯を指定する条件。fromto には、開始時間を終了時間を指定しますが、日付に相当する部分は無視されます。例えば、毎日 08:00 ~ 17:00 だけ許可したい場合は、from"2018-01-01T08:00:00+09:00" を、to2018-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 AGGREGATIONFAULT_TOLERANCE のどちらか。
teamedDeviceList SymphonyArray チーミングを構成するデバイス情報のリスト。二つのデバイス情報が格納されます。
thingId String シング ID。
weight Integer リクエストの配分 (1 ~ 100)。modeAGGREGATION の場合のみ有効。modeFAULT_TOLERANCE の場合は null がセットされます。
metric Integer 優先順位 (1 または 2)。modeFAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。
isFailbackEnabled Boolean 自動フェイルバックフラグ。true なら自動フェイルバックが有効、false なら無効を表します。modeFAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。
failbackTime Integer 自動フェイルバック周期 (60 ~ 86400 秒)。modeFAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。
state String フェールバック状態。ACT (アクティブ)、SBY (スタンバイ)、OFFLINE (オフライン) のいずれかがセットされます。modeFAULT_TOLERANCE の場合のみ有効。AGGREGATION の場合は null がセットされます。
AGGREGATION モード の場合の例
{
  "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
    }
  ]
}
FAULT_TOLERANCE モードの場合の例
{
  "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
}