【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でエアコンを操作する際に利用する、冷房、暖房、温度、風量などのデータとなります。

その他のリモコン情報について

その他のリモコン情報については、以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。