NatureRemo APIをInsomniaクライアントを介して叩いてみた
はじめに
スマートハウスにして日々の生活を便利にしたくて、Nature Remo 3 を買った。
赤外線リモコンで操作できる家電については、スマホアプリor WebAPIからコマンドを送れるという。
今回は、InsomniaというWebAPIを設計/デバッグ/テストするデスクトップツールを介して、
WebAPIを叩いて、テレビをON/OFFさせてみる。
この記事の前提条件
- Nature Remo 3の初期設定が完了して、テレビ(本記事で触る家電)との連携がすでにできていること
- Insomniaをインストールしていること
参照情報
大まかな流れ
- アクセストークンを発行
- OAuth2の設定でアクセストークンを指定
-
Nature API仕様(クラウド)を元にGET/POSTする
アクセストークンの発行
-
公式:Nature Developer Page
ここを参考にアクセストークンを発行する。(ログインするだけで簡単)
OAuth2の設定
大まかな流れ
- アクセストークンを発行
- OAuth2の設定でアクセストークンを指定
-
Nature API仕様(クラウド)を元にGET/POSTする
アクセストークンの発行
-
公式:Nature Developer Page
ここを参考にアクセストークンを発行する。(ログインするだけで簡単)
OAuth2の設定
-
公式:Nature Developer Page
ここを参考にアクセストークンを発行する。(ログインするだけで簡単)
OAuth2の設定
Nature API仕様(クラウド)の"Authorize"という鍵マークボタンを押すと、
Token URLが記載されていた。
このToken URLに、さきほど発行したアクセストークンを送信すれば良いので、
InsomniaのOAuth2タブにて、GRANT TYPEをClient Credentialsにして下記の通り設定すると良かった。
"https://api.nature.global/1/users/me" にGETリクエストを投げて、200が帰ってくれば認証成功となる。
室内の温度を取得してみる
"https://api.nature.global/1/devices" にGETリクエストを投げると、下記が帰ってきた。
...
"hu": {
"val": 36,
"created_at": "2022-03-20T01:59:17Z"
},
"il": {
"val": 173,
"created_at": "2022-03-20T01:59:11Z"
},
"mo": {
"val": 1,
"created_at": "2022-03-20T01:54:24Z"
},
"te": {
"val": 24,
"created_at": "2022-03-20T01:43:16Z"
}
...
API仕様の末尾にModels仕様が記載されていて、
Devicesレスポンスから、temperature,humiditym illumination, movementが取得できることがわかった。
API仕様書内のDeviceはNatureRemoのことを指しているようだ。
接続機器のIDを取得する
"https://api.nature.global/1/appliances" にGETリクエストを投げることで、Nature Remoに登録済みの家電一覧が取得できる。
その中からテレビに対応するApplianceのidを取得する。
取得したテレビのApplianceのidを介して制御
"https://api.nature.global/1/appliances//tv" にPOSTリクエストを送信することで、テレビのON/OFFができる。
Quearyとして、buttonに制御したいキーを設定(今回はpower)する必要がある。
この制御できるキーは、"/1/appliances" のレスポンス一覧に含まれている。
Author And Source
この問題について(NatureRemo APIをInsomniaクライアントを介して叩いてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/meruneru/items/3abe34a6abc18b7c5113著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .