【Nature Remo】APIでSignal IDを取得|個別に登録したリモコンボタンのJSONデータ


Nature RemoはWiFi機能の付いた赤外線リモコンデバイスとなり、Nature Remoのスマホアプリで家電リモコンなどの赤外線リモコンを登録して使用します。
今回は、そのNature RemoのCloud APIを使いSignal IDを取得する方法となります。
Signal IDについて
Nature Remoアプリでリモコンのボタンを一つづつ登録すると、ボタン毎にSignal IDが振られます。そのSignal IDは、Cloud APIでリモコン送信を行う際に利用します。
また、アプリでエアコンの「ON」ボタンを登録し、エアコンのリモコン操作を一括で登録した場合には、Signal IDは振られません。
エアコンのリモコン情報のデータについては、以下のリンク先を参考にしてみてください。
Signal IDなどのリモコン情報を取得する方法
以下、Cloud APIを使いSignal IDを含むリモコン情報をJSONデータで取得する方法となります。
アプリで赤外線リモコンのボタンを登録
Cloud APIを使いSignal IDを含むリモコン情報を取得するには、まず、Nature Remoのアプリを使い赤外線リモコンを登録します。
今回の例では、アプリで「新しい家電を追加する」ボタンから「電気」を追加して名前を「照明」とします。
そして、追加した家電内に照明をコントロールするリモコンのON、OFFの赤外線ボタンを、それぞれ「オン」と「オフ」という名前で登録します。
なお、既存の照明をリモコンで操作したい場合には以下のようなもがあります。
登録したリモコン情報を取得
Signal IDを含むリモコン情報を取得するには、コマンドライン(Macのターミナル・Windows のコマンドプロンプトなど)で以下のcurlコマンドを実行します。
XXXXXXXXの箇所には自身で発行したアクセストークンの値を指定します。
curl -X GET "https://api.nature.global/1/appliances" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXX"
上記コマンドの詳細については以下のリンク先を参考にしてみてください。
リモコン情報のJSONデータについて
上記のコマンドを実行すると、次のようなJSONデータが取得できます。
[
{
"id": "XXXXXXXX",
"device": {
// 中略(Nature Remoのデバイスのデータ)
},
"model": null,
"nickname": "照明",
"image": "ico_light",
"type": "IR",
"settings": null,
"aircon": null,
"signals": [
{
"id": "XXXXXXXX",
"name": "オン",
"image": "ico_on"
},
{
"id": "XXXXXXXX",
"name": "オフ",
"image": "ico_off"
}
]
}
]
Nature Remoアプリでリモコンのボタンを一つづつ登録した場合、JSONデータ内のキー"type"の値が"IR"となります。
そして、 キー"signals"の値にリモコンボタンの情報がオブジェクトの配列で取得できます。
今回の例では、照明リモコンのボタン「オン」「オフ」を登録したため、その2つのリモコンボタンが、キー"signals"の値にオブジェクトの配列として取得されています。
リモコンボタンの情報はオブジェクトととなり、キー"id"の値が割り振られたSignal IDとなります。また、キー"name"と"image"の値 は、アプリで赤外線ボタンを登録した際の「ボタン名」と「アイコン名」となります。
なお、JSONデータの先頭にあるキー"id"の値はAppliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。
まとめ
今回は、Nature Remoアプリの「新しい家電を追加する」ボタンから一つの家電を登録しただけでしたが、家電を追加してリモコンボタンをすると、上記のようなJSONデータが家電毎に配列として取得できます。