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

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

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

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

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

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

アプリで「新しい家電を追加する」ボタンから「エアコン」を選択して、エアコンの「ON」ボタンをNature Remoに登録します。

それにより、エアコンのリモコンボタンが一括で登録されます。

登録したリモコン情報を取得

アプリで登録したリモコン情報などを取得するには、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データの先頭にあるキー"id"の値は、Appliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。

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

キー"settings"の値について

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

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

キー"modes"の値について

キー"modes"の値は、エアコンのリモコン操作のデータとなり、Cloud APIを使用しリモコンを操作する際に使用するデータとなります。

リモコンボタンを個別に登録した場合のリモコン情報

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

また、Nature Remoアプリでリモコンボタンを個別に登録した場合のリモコン情報については、以下のリンク先を参考にしてみてください。

参考サイトなど

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

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

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