【Nature Remo】APIでエアコンのリモコン情報を取得|設定温度などのJSONデータ

Nature RemoはWiFi機能の付いた赤外線リモコンデバイスとなり、Nature Remoのスマホアプリでエアコンのリモコンや、その他の赤外線リモコンを登録して使用します。

今回は、そのNature RemoのCloud APIを使いアプリで登録したエアコンのリモコン情報を取得する方法となります。

エアコンのリモコン情報を取得する方法

アプリでエアコンのリモコンを登録

Cloud APIを使い、エアコンのリモコン情報を取得するには、まず、Nature Remoのアプリでエアコンのリモコンを登録します。

アプリで「新しい家電を追加する」ボタンから「エアコン」を選択して、エアコンの「ON」ボタンを登録します。すると、エアコンのリモコン操作を一括で登録できます。

アプリで登録したリモコン情報などを取得

アプリで登録したリモコン情報などを取得するには、CUI(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": {
      // 中略(エアコン機種の情報)
    },
    "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オブジェクトの先頭にあるキー"id"の値は、Appliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。

エアコンのリモコン情報の場合は、キー名typeの値がACとなり、キー名"settings"の値にJSONを取得した際のエアコンの状態がオブジェクトとして取得されます。

キー名"settings"内のオブジェクト

"settings"内のオブジェクトは、それぞれ以下のデータとなります。

キー名
temp 設定温度
mode 自動運転、冷房、暖房、除湿のいずれか
vol 風量の値
dir 風向きの値
button 運転中または停止中の値
updated_at データを取得した際の日時

キー名"modes"内のオブジェクトと配列

キー名"modes"内のオブジェクトと配列は、エアコンのリモコン操作のデータとなり、Cloud APIを使用しリモコンを操作する際に使用するデータとなります。

「エアコンのリモコン情報」と「エアコン以外のリモコン情報」について

今回は、アプリで「新しい家電を追加する」ボタンからエアコンを登録しただけでしたが、複数の家電を登録すると、JSONデータが家電毎に配列として取得されます。

また、アプリでエアコンの「ON」ボタンを登録し、リモコン操作を一括で設定した場合には、リモコン操作をする際の冷房、暖房、温度、風量などのパラメータを多数設定します。そのため、エアコン以外のリモコンとではJSONデータのセットされている箇所が異なるところがあります。

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

参考サイトなど

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。