【Nature Remo】APIでSignal IDを取得する方法|個別に登録したリモコンボタンのJSONデータ
今回は、Nature RemoのCloud APIを利用して、Signal IDを取得する方法となります。
Signal IDについて
Nature Remoアプリでリモコンのボタンを1つづつ登録すると、ボタン毎にSignal IDが振られます。Signal IDは、Cloud APIでリモコン送信を行う際に利用します。
Signal IDなどのリモコン情報を取得する方法
以下、Cloud APIを使いSignal IDを含むリモコン情報を、JSONデータで取得する方法となります。
アプリで赤外線リモコンのボタンを登録
Cloud APIを使いSignal IDを含むリモコン情報を取得するには、まず、Nature Remoのアプリを使いリモコンを登録します。
例では、アプリで「新しい家電を追加する」ボタンから「電気」を追加して名前を「照明」とします。
そして、追加した家電内に照明をコントロールするリモコンのON、OFFの赤外線ボタンを、それぞれ「オン」と「オフ」という名前で登録します。
リモコン機能のない照明や家電などの場合には
リモコン機能のない照明や家電などに、リモコン機能を簡単に取り付ける機器もあります。詳しくは以下のリンク先を参考にしてみてください。
アクセストークンを発行
Nature Remoでは、Cloud APIで登録したリモコン情報などを取得することができますが、Cloud APIを利用するには、Nature Remoのアクセストークンを発行する必要があります。
アクセストークンの発行方法は、以下のリンク先を参考にしてみてください。
Cloud APIで登録したリモコン情報を取得
Signal IDを含むリモコン情報を取得するには、コマンドライン(Macのターミナル・Windows のコマンドプロンプトなど)で以下のcurlコマンドを実行します。
XXXXXXXXの箇所には自身で発行したアクセストークンの値を指定します。
curl -X GET "https://api.nature.global/1/appliances" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXX"
上記のコマンドを実行すると、次のような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"
}
]
}
]
上記のデータはボタンを1つづつ登録した場合のリモコン情報ですが、他にもリモコンを登録している場合は、そのリモコン情報も取得されます。
JSONの整形について
取得したJSON形式の情報は整形されていなかもしれません。
そのような場合には、コマンドラインで扱うJSONデータを整形できる『jq』を利用する方法があります。詳しくは以下のリンク先を参考にしてみてください。
リモコン情報のJSONについて
上記JSONの主なデータは以下となります。
idの値
最初のキー"id"の値は、Appliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。
typeの値
Nature Remoアプリでリモコンのボタンを1つづつ登録した場合、キー"type"の値が"IR"となります。
signalsの値
キー"signals"の値がリモコンボタンの情報となり、オブジェクトの配列となります。
オブジェクト内は、キー"id"の値が割り振られたSignal IDとなります。キー"name"と"image"の値 は、アプリで赤外線ボタンを登録した際の「ボタン名」と「アイコン名」となります。
例では、照明リモコンのボタン「オン」「オフ」を登録したため、その2つのリモコンボタンの情報となります。
その他のリモコン情報について
その他のリモコン情報については、以下のリンク先を参考にしてみてください。