アプリケーション開発

リソース管理 API

リソース管理 API は、ゲートウェイの管理、ゲートウェイが認識しているデバイスの管理、そして、デバイスが提供するアクションの取得を行います。アクションの実行については、デバイス API をご覧ください。リソース管理 API は、そのほか、ニックネームとタグも管理します。

デバイスを登録する際には名前 (deviceName) を割り振りますが、登録後、別名を割り当てることもできます。その別名のことをニックネームと呼びます。アクション実行の際には、デバイスを識別するシング ID (thingId) だけでなく、ニックネームを指定してすることもできます (デバイス名を指定してサービスを実行することはできません)。

タグとは、複数のデバイスをグルーピングする名前です。サービス実行の際にはタグ名 (tagName) を指定して、複数のデバイスをまとめて操作することが可能です。例えば、同じ部屋に 4 つのライトがあるとします。その 4 つのライトに対して「居間のライト」というタグを登録すれば、以降、「居間のライト」というタグを指定して 1 回のリクエストで 4 つのライトを点灯したり消灯することができるようになります。

なお、ニックネームやタグを指定してサービスを実行したい場合は、「デバイス API」の request() メソッドを使います。

searchGateway()

このメソッドは、UUID から Symphony に一時的に登録されているユーザー未割当のゲートウェイを検索します。すでにユーザー割り当て済みのゲートウェイは検索できません。ゲートウェイが初めて Symphony に接続すると、該当のゲートウェイはユーザー未割当の状態で一時的に Symphony に保存されます。ユーザー未割当の状態のゲートウェイは、一定時間を経過すると自動的に削除されますので、ゲートウェイをアクティブにしてから早いうちにこのメソッドを実行してください。もし Symphony から削除されてしまった場合は、再度、ゲートウェイを Symphony に接続しなおしてください。そうすれば、新たにユーザー未割当状態で Symphony に登録されます。

このメソッドは、Promise オブジェクトを返します。このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
uuid String 必須 ゲートウェイの UUID。
サンプルコード
dSymphony.searchGateway({
  uuid: '836a8e20-025e-11a8-392e-b827ebbd2f2e'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

ゲートウェイが見つからなかった場合のレスポンスの例
{
  "result": 0,
  "error": null,
  "gatewayInfo": null
}
ゲートウェイが見つかった場合のレスポンスの例
{
  "result": 0,
  "error": null,
  "gatewayInfo": {
    "gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
    "gatewayName": "node-gotapi",
    "gatewayUuid": "836a8e20-025e-11a8-392e-b827ebbd2f2e",
    "gatewayType": "hgw",
    ...,
    "isOnline": true
  }
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
gatewayInfo Object ゲートウェイ情報を表す GatewayInfo オブジェクト。

getGateways()

このメソッドは、サインインユーザーが登録済みのゲートウェイのリストを取得します。このメソッドは、Promise オブジェクトを返します。

サンプルコード
dSymphony.getGateways().then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "gatewayList": [
    {
      "gatewayId": "gw-CAE3AB3F4F5A93733CF2451E720F2344",
      "gatewayName": "居間のゲートウェイ",
      "gatewayUuid": "836a8e20-025e-11a8-392e-b827ebbd2f2e",
      "gatewayType": "hgw",
      ...,
      "isOnline": true
    }
  ]
}
レスポンス
プロパティ名 説明
gatewayList Array ゲートウェイ情報を表す GatewayInfo オブジェクトを格納したリスト。

registerGateway()

このメソッドは、まだどのユーザーにも関連付けられていない仮登録状態のゲートウェイ ID (getewayId) を指定して、そのゲートウェイを自分のゲートウェイとして登録します。すでに登録済みのゲートウェイを指定するとエラーを返します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
gatewayId String 必須 ゲートウェイ ID。この値は、searchGateway() メソッドから得られます。
gatewayName String 必須 ゲートウェイの名前。
サンプルコード
dSymphony.registerGateway({
  gatewayId : 'gw-CAE3AB3F4F5A93733CF2451E720F2344',
  gatewayName : '居間のゲートウェイ'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

updateGateway()

このメソッドは、ゲートウェイの ID を指定して、そのゲートウェイの名前とタイプを変更します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
gatewayId String 必須 ゲートウェイの ID。
gatewayName String 必須 ゲートウェイの名前。
gatewayType String 任意 ゲートウェイのタイプ。指定できる値は mobile, hgw のいずれか。
サンプルコード
dSymphony.updateGateway({
  gatewayId : 'gw-CAE3AB3F4F5A93733CF2451E720F2344',
  gatewayName : '仕事部屋のゲートウェイ'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

deleteGateway()

このメソッドは、ゲートウェイの ID を指定して、そのゲートウェイを削除します。ゲートウェイが削除されると、それに関連するデバイス情報、アクション情報、アーカイブはすべて削除されます。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
gatewayId String 必須 ゲートウェイの ID。
サンプルコード
dSymphony.deleteGateway({
  gatewayId : 'gw-CAE3AB3F4F5A93733CF2451E720F2344'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getUnregisteredDevices()

このメソッドは、ゲートウェイの ID を指定して、そのゲートウェイが認識しているデバイスのうち、まだ Symphony に登録されていないデバイスの一覧を返します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
gatewayId String 必須 ゲートウェイの ID。
サンプルコード
dSymphony.getUnregisteredDevices({
  gatewayId : 'gw-CAE3AB3F4F5A93733CF2451E720F2344'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "deviceList": [
    {
      "thingId": "th-A428E95C5CA6EAAFC204AC21728ED7B9",
      "serviceId": "hue-light-0017882C7D50-1",
      "deviceName": "Philips hue bridge 2015",
      "type": "",
      "isOnline": true,
      ...
    },
    ...
  ]
}
レスポンス
プロパティ名 説明
deviceList Array 未登録デバイス情報を表す UnregisteredDeviceInfo オブジェクトを格納したリスト。

getDevices()

このメソッドは、サインインしているユーザーに関連付けられているすべてのデバイスを検索します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
latitude Float 任意 デバイスの現在位置の緯度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
longitude Float 任意 デバイスの現在位置の経度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
locationItemId String 任意 デバイスの現在位置 ID。デバイスが現在位置検知をサポートしている場合のみ利用可能。
deviceName String 任意 デバイスの名前。部分一致で検索します。アルファベットの場合は、大文字と小文字は区別されます。
nickname String 任意 デバイスのニックネーム。完全一致で検索します。
tagName String 任意 デバイスのタグ名。完全一致で検索します。
gatewayId Gateway 任意 ゲートウェイ ID。この ID を指定すると、検索対象が該当のゲートウェイに関連付けられたデバイスのみに限定されます。
サンプルコード
dSymphony.getDevices({
  deviceName : 'リモコン',
  gatewayId  : 'gw-CAE3AB3F4F5A93733CF2451E720F2344'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "deviceList": [
    {
      "deviceName": "赤外線リモコン REX",
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "deviceCategory": "rex-base",
      "type": "",
      "isOnline": true,
      ...
    }
  ]
}
レスポンス
プロパティ名 説明
deviceList Array デバイス情報を表す DeviceInfo オブジェクトを格納したリスト。

registerDevice()

このメソッドは、Symphony にデバイスを登録します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
gatewayId String 必須 ゲートウェイ ID。
thingId String 必須 デバイスを識別するシング ID。まだ Symphony に登録されていないシング ID を指定してください。Symphony に未登録のデバイスのシング ID は、getUnregisteredDevices() メソッドから得られます。もしシング ID を指定しなければ、該当のゲートウェイに関連付けられている Symphony に未登録のデバイスすべてをまとめて登録します。
deviceName String 必須 デバイスの名前。パラメータに thingId を指定した場合にのみ有効です。
サンプルコード
dSymphony.registerDevice({
  gatewayId  : 'gw-CAE3AB3F4F5A93733CF2451E720F2344',
  thingId    : 'th-DF069858E95F1BB895D97006BAC7F6AA',
  deviceName : '赤外線リモコン REX'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "deviceList": [
    {
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "deviceName": "赤外線リモコン REX",
      "type": "",
      "isOnline": true,
      ...
    }
  ]
}
レスポンス
プロパティ名 説明
deviceList Array デバイス情報を表す DeviceInfo オブジェクトを格納したリスト。

deleteDevices()

このメソッドは、Symphony に登録されたデバイスをすべて削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドに引数はありません。

サンプルコード
dSymphony.deleteDevices().then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getDevice()

このメソッドは、シング ID からデバイス情報を取得します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String 必須 シング ID。
latitude String 任意 現在位置(緯度)
longitude String 任意 現在位置(経度)
locationItemId String 任意 位置を特定する識別子
サンプルコード
dSymphony.getDevice({
  thingId: 'th-DF069858E95F1BB895D97006BAC7F6AA'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "device": {
    "deviceName": "赤外線リモコン REX",
    "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
    "serviceId": "rex-base-409f38d28d9a",
    "deviceCategory": "rex-base",
    "type": "",
    "isOnline": true,
    ...
  }
}
レスポンス
プロパティ名 説明
device Object デバイス情報を表す DeviceInfo オブジェクト

updateDevice()

このメソッドは、デバイスの名前を変更します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String 必須 シング ID。
deviceName String 必須 デバイスの名前。
サンプルコード
dSymphony.updateDevice({
  thingId    : 'th-DF069858E95F1BB895D97006BAC7F6AA',
  deviceName : '居間の赤外線リモコン REX'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

deleteDevice()

このメソッドは、Symphony に登録されたデバイスを 1 つ削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String 必須 シング ID。
サンプルコード
dSymphony.deleteDevice({
  thingId : 'th-DF069858E95F1BB895D97006BAC7F6AA'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getActions()

このメソッドは、登録されているすべてのデバイスからアクションを検索します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
latitude Float 任意 デバイスの現在位置の緯度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
longitude Float 任意 デバイスの現在位置の経度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
locationItemId String 任意 位置を特定する識別子
deviceName String 任意 デバイスの名前。部分一致で検索します。アルファベットの場合は、大文字と小文字は区別されます。
nickname String 任意 デバイスのニックネーム。完全一致で検索します。
tagName String 任意 デバイスのタグ名。完全一致で検索します。
gatewayId String 任意 ゲートウェイ ID。この ID を指定すると、検索対象が該当のゲートウェイに関連付けられたデバイスのみに限定されます。
サンプルコード
dSymphony.getActions({
  thingId: 'th-DF069858E95F1BB895D97006BAC7F6AA'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "deviceList": [
    {
      "deviceName": "赤外線リモコン REX",
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "actionInfo": {
        "actionId": "ac-E62149FF981F20C09FBDF2A42F811FD2",
        "summary": "バッテリーレベルの取得",
        "url": "/battery:get",
        ...
      },
      ...
    },
    {
      "deviceName": "赤外線リモコン REX",
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "actionInfo": {
        "actionId": "ac-B9F4A4C4B7B42ED18116791B0B937067",
        "summary": "照度センサー計測値の取得",
        "url": "/illuminance:get",
        ...
      }
    },
    ...
  ]
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
deviceList Array デバイスおよびアクション情報を表す DeviceActionInfo オブジェクトのリスト。

getDeviceActions()

このメソッドは、指定のデバイスが提供するアクションの一覧を取得します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String 必須 シング ID。
latitude Float 任意 デバイスの現在位置の緯度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
longitude Float 任意 デバイスの現在位置の経度。デバイスが現在位置検知をサポートしている場合のみ利用可能。
locationItemId String 任意 位置を特定する識別子
サンプルコード
dSymphony.getDeviceActions({
  thingId: 'th-DF069858E95F1BB895D97006BAC7F6AA'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "deviceList": [
    {
      "deviceName": "赤外線リモコン REX",
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "actionInfo": {
        "actionId": "ac-E62149FF981F20C09FBDF2A42F811FD2",
        "summary": "バッテリーレベルの取得",
        "url": "/battery:get",
        ...
      },
      ...
    },
    {
      "deviceName": "赤外線リモコン REX",
      "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
      "serviceId": "rex-base-409f38d28d9a",
      "actionInfo": {
        "actionId": "ac-B9F4A4C4B7B42ED18116791B0B937067",
        "summary": "照度センサー計測値の取得",
        "url": "/illuminance:get",
        ...
      }
    },
    ...
  ]
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
deviceList Array デバイスおよびアクション情報を表す DeviceActionInfo オブジェクトのリスト。

getNicknames()

このメソッドは、ニックネームを検索します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String 任意 シング ID。
nickname String 任意 ニックネーム。完全一致で検索します。
サンプルコード
dSymphony.getNicknames({
  thingId: 'th-DF069858E95F1BB895D97006BAC7F6AA'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "nicknameList": [
    {
      "nicknameId": "nn-28CE971EED9BA43952DFA0EB8834BC04",
      "nickname": "居間のリモコン",
      "deviceList": [
        {
          "deviceName": "赤外線リモコン REX",
          "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
					"serviceId": "rex-base-409f38d28d9a",
          ...
        }
      ]
    },
    ...
  ]
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
nicknameList Array ニックネーム情報を表す NicknameInfo オブジェクトのリスト

addNickname()

このメソッドは、登録済みデバイスへニックネームを新規に登録します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingId String または Array 必須 シング ID、または、シング ID のリスト。リストで複数のシング ID を関連付ける場合は、最大 2 つまで、かつ、その 2 つのシング ID が表すデバイスは同一 (serviceId が同一) でなければいけません。
nickname String 必須 ニックネーム。
サンプルコード
dSymphony.addNickname({
  thingId  : 'th-DF069858E95F1BB895D97006BAC7F6AA',
  nickname : '居間のリモコン'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "nicknameId": "nn-28CE971EED9BA43952DFA0EB8834BC04"
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
nicknameId String 新たに登録されたニックネームの ID。

deleteNicknames()

このメソッドは、すべてのニックネームをまとめて削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドには、引数はありません。

サンプルコード
dSymphony.deleteNicknames().then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getNickname()

このメソッドは、ニックネーム ID からニックネーム情報を取得します。このメソッドは Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
nicknameId String 必須 ニックネーム ID。
thingId String 任意 シング ID。
サンプルコード
dSymphony.getNickname({
  nicknameId: 'nn-9D0DD0330D6C963E2063B3878CDECD17'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "nickname": {
    "nicknameId": "nn-9D0DD0330D6C963E2063B3878CDECD17",
    "nickname": "赤外線リモコン",
    "deviceList": [
      {
        "deviceName": "赤外線リモコン REX",
        "thingId": "th-DF069858E95F1BB895D97006BAC7F6AA",
        "serviceId": "rex-base-409f38d28d9a",
        ...
      }
    ]
  }
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
nickname Array ニックネーム情報を表す NicknameInfo オブジェクト

updateNickname()

このメソッドは、ニックネームの名前および関連付けられているデバイス (シング ID) を変更します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
nicknameId String 必須 ニックネーム ID。
thingId String または Array 必須 シング ID、または、シング ID のリスト。リストで複数のシング ID を関連付ける場合は、最大 2 つまで、かつ、その 2 つのシング ID が表すデバイスは同一 (serviceId が同一) でなければいけません。
nickname String 必須 ニックネーム。
サンプルコード
dSymphony.updateNickname({
  nicknameId: 'nn-9D0DD0330D6C963E2063B3878CDECD17',
  thingId  : 'th-DF069858E95F1BB895D97006BAC7F6AA',
  nickname : '居間のリモコン'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

deleteNickname()

このメソッドは、ニックネームを削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
nicknameId String 必須 ニックネーム ID。
サンプルコード
dSymphony.deleteNickname({
  nicknameId: 'nn-89A594211B64B890FBBE33B99686F4C5'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getTags()

このメソッドは、登録済みのタグ、および、そのタグに関連付けられているデバイスの情報を検索します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
tagId String 任意 タグ ID。
tagName String 任意 タグ 名。完全一致で検索します。
thingId String 任意 シング ID。
サンプルコード
dSymphony.getTags().then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "tagList": [
    {
      "tagId": "tg-F38172B6AC6ADE205A67706A54508704",
      "tagName": "居間の照明",
      "deviceList": [
        {
          "deviceName": "Hue color lamp 2",
          "thingId": "th-177FD7DDF0536BDE816762DCF394A116",
          ...
        },
        {
          "deviceName": "Hue color lamp 3",
          "thingId": "th-01F2ED28B70E730504438D1F1405B451",
          ...
        },
        {
          "deviceName": "Hue color lamp 1",
          "thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
          ...
        }
      ]
    }
  ]
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
tagList Array タグ情報を表す TagInfo オブジェクトのリスト。

createTag()

このメソッドは、タグを新規に生成し、複数の同種別のデバイスを関連付けてグルーピングします。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
thingIdList Array 必須 シング ID のリスト。シング ID が表すデバイスは、同じ種別のデバイスでなければいけません (たとえば、ライトとテレビをタグでグルーピングすることはできません)。
tagName String 必須 タグ名。
サンプルコード
dSymphony.createTag({
  thingIdList : [
    'th-A7E2F85D264D52E8F2EA0B507D8CCA57',
    'th-177FD7DDF0536BDE816762DCF394A116',
    'th-01F2ED28B70E730504438D1F1405B451'
  ],
  tagName : '居間の照明'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});
レスポンスの例
{
  "result": 0,
  "error": null,
  "tagId": "tg-F38172B6AC6ADE205A67706A54508704"
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
tagId String 新たに登録されたタグの ID。

deleteTags()

このメソッドは、登録されているすべてのタグをまとめて削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドには、引数はありません。

サンプルコード
dSymphony.deleteTags().then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

getTag()

このメソッドは、タグ ID から該当のタグ、および、そのタグに関連付けられているデバイスの情報を検索します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
tagId String 必須 タグ ID。
thingId String 任意 シング ID。
サンプルコード
dSymphony.getTag({
  tagId: 'tg-F38172B6AC6ADE205A67706A54508704'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null,
  "tagInfo": {
    "tagId": "tg-F38172B6AC6ADE205A67706A54508704",
    "tagName": "居間の照明",
    "deviceList": [
      {
        "deviceName": "Hue color lamp 2",
        "thingId": "th-177FD7DDF0536BDE816762DCF394A116",
        ...
      },
      {
        "deviceName": "Hue color lamp 1",
        "thingId": "th-A7E2F85D264D52E8F2EA0B507D8CCA57",
        ...
      },
      {
        "deviceName": "Hue color lamp 3",
        "thingId": "th-01F2ED28B70E730504438D1F1405B451",
        ...
      }
    ]
  }
}

レスポンス情報のうち、主要な値の意味は以下のとおりです。

レスポンス
プロパティ名 説明
tagInfo Array タグ情報を表す TagInfo オブジェクト。

updateTag()

このメソッドは、タグに関連付けられているデバイスのリスト、そして、タグ名を変更します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
tagId String 必須 タグ ID。
thingIdList Array 必須 シング ID のリスト。
tagName String 必須 タグ名。
サンプルコード
dSymphony.updateTag({
  tagId : 'tg-F38172B6AC6ADE205A67706A54508704',
  thingIdList : [
    'th-A7E2F85D264D52E8F2EA0B507D8CCA57',
    'th-177FD7DDF0536BDE816762DCF394A116',
    'th-01F2ED28B70E730504438D1F1405B451'
  ],
  tagName : '居間の照明'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}

deleteTag()

このメソッドは、タグを削除します。このメソッドは、Promise オブジェクトを返します。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
tagId String 必須 タグ ID。
サンプルコード
dSymphony.deleteTag({
  tagId : 'tg-F38172B6AC6ADE205A67706A54508704'
}).then(function (res) {
  console.log(JSON.stringify(res, null, '  '));
}).catch(function (error) {
  console.error(error);
});

このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。

レスポンスの例
{
  "result": 0,
  "error": null
}