【Nature Remo】APIでエアコンのリモコン情報を取得する方法|設定温度などのJSONデータ
今回は、Nature RemoのCloud APIを利用して、エアコンのリモコン情報を取得する方法となります。
エアコンのリモコン情報を取得する方法
アプリでエアコンのリモコンを登録
Cloud APIを利用しエアコンのリモコン情報を取得するには、まず、Nature Remoアプリで次のようにエアコンのリモコンを登録します。
アプリで「新しい家電を追加する」ボタンから「エアコン」を選択して、エアコンリモコンの「ON」ボタンを登録します。
それにより、エアコンのリモコンボタンが一括で登録されます。
アクセストークンを発行
Nature Remoでは、Cloud APIで登録したリモコン情報などを取得することができますが、Cloud APIを利用するには、Nature Remoのアクセストークンを発行する必要があります。
アクセストークンの発行方法は、以下のリンク先を参考にしてみてください。
Cloud APIで登録したリモコン情報を取得
登録したリモコン情報などを取得するには、コマンドライン(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": {
// 中略(エアコン機種の情報)
},
"nickname": "Chofu AC",
"image": "ico_ac_1",
"type": "AC",
"settings": {
"temp": "27",
"mode": "cool",
"vol": "auto",
"dir": "",
"button": "",
"updated_at": "2018-07-17T12:52:37Z"
},
"aircon": {
"range": {
"modes": {
"auto": {
"temp": [
"16",
"17",
// 中略(自動運転時の温度設定の値)
"29",
"30"
],
"dir": [
""
],
"vol": [
"1",
"2",
"3",
"auto"
]
},
"cool": {
"temp": [
"16",
"17",,
// 中略(冷房時の温度設定の値)
"28",
"29",
"30"
],
"dir": [
""
],
"vol": [
"1",
"2",
"3",
"auto"
]
},
"dry": {
"temp": [
"16",
"17",,
// 中略(除湿時の温度設定の値)
"29",
"30"
],
"dir": [
""
],
"vol": [
"1",
"2",
"3",
"auto"
]
},
"warm": {
"temp": [
"16",
"17",,
// 中略(暖房時の温度設定の値)
"29",
"30"
],
"dir": [
""
],
"vol": [
"1",
"2",
"3",
"auto"
]
}
},
"fixedButtons": [
"power-off"
]
},
"tempUnit": "c"
},
"signals": []
}
]
上記のデータはエアコンのリモコン情報ですが、他にもリモコンを登録している場合は、そのリモコン情報も取得されます。
JSONの整形について
取得したJSON形式の情報は整形されていなかもしれません。
そのような場合には、コマンドラインで扱うJSONデータを整形できる『jq』を利用する方法があります。詳しくは以下のリンク先を参考にしてみてください。
リモコン情報のJSONについて
上記JSONの主なデータは以下となります。
idの値
最初のキー"id"の値は、Appliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。
typeの値
エアコンのリモコン情報の場合、キー"type"の値がACとなります。
settingsの値
キー"settings"の値が、エアコンの状態の情報となるオブジェクトとなり、それぞれ以下のデータとなります。
キー名 | 値 |
temp | 設定温度 |
mode | 自動運転、冷房、暖房、除湿のいずれか |
vol | 風量の値 |
dir | 風向きの値 |
button | 運転中または停止中の値 |
updated_at | データを取得した際の日時 |
airconの値
キー"aircon"内のデータは、Cloud APIでエアコンを操作する際に利用する、冷房、暖房、温度、風量などのデータとなります。
その他のリモコン情報について
その他のリモコン情報については、以下のリンク先を参考にしてみてください。