【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": {
      // 中略(テレビ機種の情報)
    },
    "type": "TV",
    "nickname": "テレビ",
    "image": "ico_tv",
    "settings": null,
    "aircon": null,
    "signals": [],
    "tv": {
      "buttons": [
        {
          "name": "power",
          "image": "ico_io",
          "label": "TV_power"
        },
        {
          "name": "select-input-src",
          "image": "ico_input",
          "label": "TV_source"
        },
        {
          "name": "tv-schedule",
          "image": "ico_tv_guide",
          "label": "TV_schedule"
        },
        {
          "name": "mute",
          "image": "ico_mute",
          "label": "TV_mute"
        },
        {
          "name": "input-terrestrial",
          "image": "ico_tv",
          "label": "TV_terrestrial"
        },
        {
          "name": "input-bs",
          "image": "ico_bs",
          "label": "TV_BS"
        },
        {
          "name": "input-cs",
          "image": "ico_cs",
          "label": "TV_CS"
        },
        {
          "name": "select-audio",
          "image": "ico_select_audio",
          "label": "TV_select_audio"
        },
        {
          "name": "ch-1",
          "image": "ico_number_1",
          "label": "TV_1"
        },
        {
          "name": "ch-2",
          "image": "ico_number_2",
          "label": "TV_2"
        },
        {
          "name": "ch-3",
          "image": "ico_number_3",
          "label": "TV_3"
        },
        {
          "name": "ch-4",
          "image": "ico_number_4",
          "label": "TV_4"
        },
        {
          "name": "ch-5",
          "image": "ico_number_5",
          "label": "TV_5"
        },
        {
          "name": "ch-6",
          "image": "ico_number_6",
          "label": "TV_6"
        },
        {
          "name": "ch-7",
          "image": "ico_number_7",
          "label": "TV_7"
        },
        {
          "name": "ch-8",
          "image": "ico_number_8",
          "label": "TV_8"
        },
        {
          "name": "ch-9",
          "image": "ico_number_9",
          "label": "TV_9"
        },
        {
          "name": "ch-10",
          "image": "ico_number_10",
          "label": "TV_10"
        },
        {
          "name": "ch-11",
          "image": "ico_number_11",
          "label": "TV_11"
        },
        {
          "name": "ch-12",
          "image": "ico_number_12",
          "label": "TV_12"
        },
        {
          "name": "back",
          "image": "ico_return",
          "label": "TV_back"
        },
        {
          "name": "home",
          "image": "ico_home",
          "label": "TV_home"
        },
        {
          "name": "display",
          "image": "ico_display",
          "label": "TV_display_change"
        },
        {
          "name": "d",
          "image": "ico_d",
          "label": "TV_data"
        },
        {
          "name": "ch-up",
          "image": "ico_arrow_top",
          "label": "TV_next_channel"
        },
        {
          "name": "ch-down",
          "image": "ico_arrow_bottom",
          "label": "TV_previous_channel"
        },
        {
          "name": "left",
          "image": "ico_arrow_left",
          "label": "TV_left"
        },
        {
          "name": "up",
          "image": "ico_arrow_top",
          "label": "TV_top"
        },
        {
          "name": "right",
          "image": "ico_arrow_right",
          "label": "TV_right"
        },
        {
          "name": "down",
          "image": "ico_arrow_bottom",
          "label": "TV_bottom"
        },
        {
          "name": "ok",
          "image": "ico_record",
          "label": "TV_ok"
        },
        {
          "name": "vol-up",
          "image": "ico_plus",
          "label": "TV_volume_up"
        },
        {
          "name": "vol-down",
          "image": "ico_minus",
          "label": "TV_volume_down"
        },
        {
          "name": "blue",
          "image": "ico_color_blue",
          "label": "TV_blue"
        },
        {
          "name": "red",
          "image": "ico_color_red",
          "label": "TV_red"
        },
        {
          "name": "green",
          "image": "ico_color_green",
          "label": "TV_green"
        },
        {
          "name": "yellow",
          "image": "ico_color_yellow",
          "label": "TV_yellow"
        },
        {
          "name": "fast-rewind",
          "image": "ico_backward",
          "label": "TV_fast_rewind"
        },
        {
          "name": "play",
          "image": "ico_play",
          "label": "TV_play"
        },
        {
          "name": "record",
          "image": "ico_record",
          "label": "TV_record"
        },
        {
          "name": "fast-forward",
          "image": "ico_forward",
          "label": "TV_fast_forward"
        },
        {
          "name": "prev",
          "image": "ico_previous",
          "label": "TV_previous"
        },
        {
          "name": "pause",
          "image": "ico_pause",
          "label": "TV_pause"
        },
        {
          "name": "stop",
          "image": "ico_stop",
          "label": "TV_stop"
        },
        {
          "name": "next",
          "image": "ico_next",
          "label": "TV_next"
        },
        {
          "name": "rec-list",
          "image": "",
          "label": "TV_rec_list"
        },
        {
          "name": "timer",
          "image": "ico_timer",
          "label": "TV_timer"
        },
        {
          "name": "subtitle",
          "image": "ico_subtitle",
          "label": "TV_subtitle"
        },
        {
          "name": "menu",
          "image": "ico_menu",
          "label": "TV_menu"
        },
        {
          "name": "exit",
          "image": "ico_cross",
          "label": "TV_exit"
        },
        {
          "name": "rewind-10-sec",
          "image": "ico_backward",
          "label": "TV_rewind_10sec"
        },
        {
          "name": "forward-30-sec",
          "image": "ico_forward",
          "label": "TV_forward_30sec"
        }
      ],
      "state": {
        "input": "t"
      }
    }
  }
]

上記のデータはテレビのリモコン情報ですが、他にもリモコンを登録している場合は、そのリモコン情報も取得されます。

JSONの整形について

取得したJSON形式の情報は整形されていなかもしれません。

そのような場合には、コマンドラインで扱うJSONデータを整形できる『jq』を利用する方法があります。詳しくは以下のリンク先を参考にしてみてください。

リモコン情報のJSONについて

上記JSONの主なデータは以下となります。

idの値

最初のキー"id"の値は、Appliance IDとなり、アプリで登録した家電毎に割り振られるIDとなります。

typeの値

テレビのリモコン情報の場合、キー"type"の値がTVとなります。

buttonsの値

キー"buttons"の値がリモコンボタンの情報となり、オブジェクトの配列となります。

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

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

参考サイトなど

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

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

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

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