[RUBY] I made an API client for Nature Remo

Introduction

Recently, I started using Nature Remo and found it convenient, so I made a gem called nature_remo_api of Nature Remo's API Client. This is my first time to make a gem, so I would appreciate it if you could comment if it would be easier to use.

What is Nature Remo?

Excerpt from the official

Smart remote control that allows you to operate home appliances such as air conditioners and TVs with your smartphone

And that.

Until now, it was necessary to manage the remote control for each home appliance, but with Nature Remo, it can be completed with just a smartphone. Recently, the number of home appliances that are connected to the Internet is increasing, but I personally think that Nature Remo is a gadget that can update existing home appliances so that they can be connected to the Internet in a pseudo manner. For details on how to use it, please refer to the Official Site.

The gem I made this time

This is for rubygems! (Because it was my first time to make a gem, I was impressed when it appeared on this page ... lol) https://rubygems.org/gems/nature_remo_api

How to use nature_remo_api

Preparation

Get an access token

First of all, please get an access token from this page. (There is a link to the page to get an access token in the description of OAuth2)

Set access token to environment variable

Set environment variables

echo 'export NATURE_REMO_ACCESS_TOKEN="Set the acquired token"' >> ~/.bash_profile

Reflect environment variables

source ~/.bash_profile

Initialization

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

client = NatureRemoApi::Client.new

Get user information

client.user_me

API used

Update user information

client.update_user_me(nickname: <nickname>)

API used

Get a list of Nature Remo itself

client.devices

API used

Updated information on Nature Remo itself

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

API used

Get a list of home appliances

client.appliances

API used

Get a list of signals set in home appliances

client.signals(appliance_id: <appliance_id>)

API used

Send a signal

client.send_signal(signal_id: <signal_id>)

API used

At the end

It's still under development, so I'd like to continue to support more APIs!

Recommended Posts

I made an API client for Nature Remo
I made an app for myself! (Reading management app)
I made an Android app for MiRm service
I made a THETA API client that can be used for plug-in development
I made an annotation in Java.
02. I made an API to connect to MySQL (MyBatis) from Spring Boot
[Ruby] I made a simple Ping client
I made an eco server with scala
I made a plugin for IntelliJ IDEA
The training for newcomers was "Make an app!", So I made an app for the time being.
[swift5] Try to make an API client with various methods
Find an approximation of sinx using Swift
Find an approximation of cosx in Swift
A simple example of an MVC model
I made an API client for Nature Remo
Generate Java client code for Salesforce SOAP API
[Rails] How to connect to an external API using HTTP Client (I tried connecting to Qiita API)
I made StringUtils.isBlank
I made a Docker image of SDAPS for Japanese
I made an iPhone Theremin with Vision framework + AudioKit
I made a check tool for the release module
I created an api domain with Spring Framework. Part 2
I made a method to ask for Premium Friday
I made a Restful server and client in Spring.
I made a library for displaying tutorials on Android.
I tried using an extended for statement in Java
I created an api domain with Spring Framework. Part 1
I made an Android application that GETs with HTTP
I made a function to register images with API in Spring Framework. Part 2 (Client Edition)