5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nature RemoのAPI clientを作ってみた

Last updated at Posted at 2020-08-15

はじめに

最近、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を増やしていきたいと思います!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?