Nature RemoのAPI clientを作ってみた


はじめに

最近、Nature Remoを使い始めて便利だなーと感じたので、Nature RemoのAPI Clientのnature_remo_apiというgemを作ってみました。gemを作るのは初めてなので、こうした方がもっと使いやすくなるなどあれば、コメントいただけると嬉しいです。

Nature Remoとは

公式から抜粋すると、

エアコンやテレビなどの家電をスマホで操作できるスマートリモコン

とのこと。

これまでは家電ごとにリモコンを管理する必要がありましたが、Nature Remoを使うとスマホだけで完結出来るようになります。最近は家電自体がインターネットに繋がっているものも増えていますが、個人的にNature Remoは既存の家電を擬似的にインターネットに接続できるようにアップデートできるガジェットだと思っています。使い方などの詳細については、公式サイトを参照ください。

今回作ったgem

rubygemsの方ではこちらになります!
(gemを作るのが初めてだったので、このページに載ったとき感動しました・・笑)
https://rubygems.org/gems/nature_remo_api

nature_remo_apiの使い方

※実装途中なので、随時更新していきます!

前準備

アクセストークンを取得

まずはこちらのページからアクセストークンを取得してください。
(OAuth2の説明の中にアクセストークンを取得するページへのリンクがあります)

アクセストークンを環境変数に設定

環境変数を設定

echo 'export NATURE_REMO_ACCESS_TOKEN="取得したトークンを設定"' >> ~/.bash_profile

環境変数を反映

source ~/.bash_profile

初期化

NatureRemoApi::Client.configure do | config |
  config.access_token = ENV['NATURE_REMO_ACCESS_TOKEN']
end

client = NatureRemoApi::Client.new

ユーザー情報を取得

client.user_me

使用しているAPI

ユーザー情報を更新

client.update_user_me(nickname: <nickname>)

使用しているAPI

Nature Remo本体の一覧を取得

client.devices

使用しているAPI

Nature Remo本体の情報を更新

client.update_device(device_id: <device_id>, name: <name>)

使用しているAPI

家電の一覧を取得

client.appliances

使用しているAPI

家電に設定されている信号の一覧を取得

client.signals(appliance_id: <appliance_id>)

使用しているAPI

信号を送信

client.send_signal(signal_id: <signal_id>)

使用しているAPI

終わりに

まだ開発途中なので、今後もサポートするAPIを増やしていきたいと思います!