Loading...

2023-12-15(金) 15:00

☘️ Nature Remo APIのアクセストークンを取得して動作確認する

Nature
Nature RemoをAPI経由で外部から操作するために必要なアクセストークンを取得して動作確認するまでを解説します。

目次

前提と注意事項

この記事では以下を前提としています。

  • Nature Remo のアカウントを持っている
  • この記事では Nature Remo API 用のアクセストークンを取得するまでを解説します。
    この記事では、Nature Remo API を使って Nature Remo を操作する方法については解説していません。
  • curlコマンドを使って動作確認を行います。

この記事のゴール

Nature Remo API のアクセストークンを取得し、取得したアクセストークンを使って Nature Remo に登録している家電情報を取得することがこの記事のゴールです。 具体的には、以下のようにアクセストークンを使ってcurlコマンドで Nature Remo API にリクエストを送信して、Nature Remo に登録している家電一覧を取得するところまでを解説します。

curlコマンドを使ってRemoの家電一覧を取得する
$ curl -H "Authorization: Bearer **************************" https://api.nature.global/1/appliances

Nature Remo の Web サイトにログインする

公式ドキュメントに記載されている通り、home.nature.globalにアクセスしてアクセストークンの生成と削除を行います。 まずhome.nature.globalにアクセスすると以下のようにログインページが表示されるので、Loginをクリックします。

Natureログインページ

続いて自身の Nature アカウントとして登録しているメールアドレスを入力してSend me a link to loginをクリックします。(以下は英語表示になってしまっていますが、日本語だとログインメールを送るというボタンです。)

Natureログインページ

Send me a link to loginをクリックすると以下のように入力したメールアドレスにログイン用のリンクが送信された旨が表示されます。

ログイン用のメールが送信された旨の表示

このページは閉じて OK です。 メールを確認すると、記事公開時点では以下のようなメールが届いていました。

Nature Remoからのログイン用メール

上記のメールの中にあるLog Inボタンをクリックするか、もしくはhttps://api.nature.global/login/***********/となっている URL をコピーしてブラウザに貼り付けてアクセスします。 すると、以下のようにアクセス許可確認のページが表示されますので許可して問題ない場合はAuthorizeボタンをクリックします。

アクセス許可の確認画面

Authorizeボタンをクリックすると以下のようにアクセストークンの一覧ページが表示されます。

アクセストークンの一覧ページ

私は Amazon Alexa 用にすでに 1 つ作成済みの状態でした。

アクセストークンを生成する

アクセストークン一覧ページの中にあるGenerate access tokenボタンをクリックすると、以下のように生成されます。
このアクセストークンは生成時のタイミングでしか確認できないのでこの時点でどこかに保存しておく必要があります。

新しいアクセストークン

なお、Revokeボタンをクリックすれば即座にアクセストークンが削除され無効化することができます。

動作確認する

curlコマンドと生成したアクセストークンを使用して Nature Remo API にリクエストを送信してみます。
ここでは/1/devicesに対して GET リクエストを送信し、Nature Remo デバイス一覧を取得します。以下の**************************を生成したアクセストークンに置き換えて実行してください。

curlコマンドを使ってRemoのデバイス一覧を取得する
$ curl -H "Authorization: Bearer **************************" https://api.nature.global/1/devices

実行結果として以下のように返ってくれば成功です。

実行結果
[
  {
    "name": "Remo mini",
    "id": "7c20747c-94b9-4de1-bc91-feb7ea1c2ef3",
    "created_at": "2021-12-01T09:35:37Z",
    "updated_at": "2023-12-08T15:30:01Z",
    "mac_address": "11:af:qw:1i:19:23",
    "bt_mac_address": "19:sd:as:a9:k9:j9",
    "serial_number": "2W221060001827",
    "firmware_version": "Remo-mini/1.14.2",
    "temperature_offset": 0,
    "humidity_offset": 0,
    "users": [
      {
        "id": "j18k2237-ads9-j28s-b198-18394a3f388v",
        "nickname": "myuser",
        "superuser": true
      }
    ],
    "newest_events": {
      "te": {
        "val": 17.5,
        "created_at": "2023-12-14T14:00:27Z"
      }
    }
  }
]

また、以下のように/1/appliancesに対して GET リクエストを送信すると、Nature Remo から操作するために登録している家電一覧を取得できます。

curlコマンドを使ってRemoの家電一覧を取得する
$ curl -H "Authorization: Bearer **************************" https://api.nature.global/1/appliances

アクセストークンが間違っている場合は以下のような応答が返ってきます。

アクセストークンが間違っている場合の応答
$ curl -H "Authorization: Bearer **************************" https://api.nature.global/1/appliances
{"code":401001,"message":"Unauthorized"}

Nature Remo API で取得、実行できる API 一覧は以下の公式ドキュメントに記載されています。 なお、サーバは Nature アカウント 1 つにつき 5 分以内に 30 回 以上のリクエストを受けるとその後ステータスコード 429 を返すと公式ドキュメントに記載されています。
制限緩和などはお問い合わせする必要があるようです。

Nature API

Read/Write Nature Remo

swagger.nature.global

Nature Developer Page

Nature Remo Cloud API (以降API) を利用することで、Nature Remoシリーズ (以降Remo) のセンサーから得られる情報を取得する、Remoから赤外線を送信する、Natre Remo Eシリーズ(以降Remo E)に接続したスマートメーターから得られる電力データを取得する、などのアクションを行うことができます。

developer.nature.global

まとめ

Nature Remo API のアクセストークンを取得して動作確認するところまでを解説しました。
Nature Remo API を使用することで、自社のサービスや外部から Nature Remo の情報を取得したり操作したりすることができるので、スマートオフィス化やスマートホーム化などに活用できると思います。