アプリケーション開発
統合 API
setupGateway()
このメソッドは、UUID からゲートウェイを登録し、該当のゲートウェイが認識しているデバイスおよびそのサービスを取得するまでの一連の処理をまとめて実行します。このメソッドは、CompletableFuture
オブジェクトを返します。
このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。
プロパティ名 | 型 | 必須 | 説明 |
---|---|---|---|
uuid |
String | 必須 | ゲートウェイの UUID。 |
gatewayName |
String | 任意 | ゲートウェイの名前。指定がなければゲートウェイが Symphony に送ってきた名前がセットされます。もし名前が送られていなければ "Gateway" がセットされます。 |
このメソッドの使い方については、「チュートリアル」の章をご覧ください。
requestAction()
このメソッドは、ゲートウェイ配下のデバイスに対して、そのデバイスが提供するアクションの実行を命令します。このメソッドは、CompletableFuture
オブジェクトを返します。
このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。
プロパティ名 | 型 | 必須 | 説明 |
---|---|---|---|
actionId |
String | 必須 | デバイスが提供するアクションの ID。 |
parameters |
Object | 任意 | アクションに必要なパラメータをオブジェクトとして指定します。 |
SymphonyObject params = new SymphonyObject.Builder()
.put("actionId", "ac-7A38F3E91034566581C54FA9D7D150D9")
.put("parameters", new SymphonyObject.Builder().put("color", "00ff00").build())
.build();
dSymphony.requestAction(params).thenAccept(obj -> {
Log.d(TAG, obj.toString());
}).exceptionally(ex -> {
Log.e(TAG, "", ex);
return null;
});
parameters
にセットするべきパラメータは、デバイスが提供するサービスによって異なります。パラメータの詳細は、ゲートウェイにインストールされているデバイスコネクトのプラグインのドキュメントをご覧ください。また、getActions()
メソッドから得られる情報からも、パラメータの詳細を知ることができます。
このメソッドの実行が成功すると、コールバック関数には Symphony から返されたオブジェクトが引数に与えられます。
{
"profile": "light",
"attribute": "",
"result": 0,
"statusCode": 200,
"product": "node-gotapi",
"version": "0.3.3",
"hmac": "f09679cc547152d0fe26ee474e6131a51d119b9db25e6b6e5c2b40cc6010580e",
"serviceId": "hue-light-0017882C7D50-1"
}
このメソッドの使い方については、「チュートリアル」の章もご覧ください。