【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"の値がリモコンボタンの情報となり、オブジェクトの配列となります。
その他のリモコン情報について
その他のリモコン情報については、以下のリンク先を参考にしてみてください。