18
24

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 5 years have passed since last update.

NatureRemoをもう少し便利に作動させる

Last updated at Posted at 2018-03-26

#やること
NatureRemoとgooglehomeだけだといろいろと制限がでてくると思います。
マクロも組めないのでどうしても1to1動作になってしまいます。

※追記、2019年現在はすべてがオフィシャルでマクロ作成して動作でできます!

なので、他のサービスを絡めて便利にしちゃいます。

##下準備
以下、integromat使用の手順になるのですが、
各自のNatureRemoで取得しておくべきものがあります。(IDとかアクセストークン)

こちらで紹介しています。

##動作する仕組み

google home → IFTTT → integromat → NatureRemo

いままではIFTTTが、
NatureRemoとGoogle homeの間のやりとりをしていたかとは思うのですが、
今回はそこにIntegromatをはさみます。

いままで1to1だった動作が複数動作が可能になります。

#integromat

integromatを使います。
有料版もあったりしますが
無料版で十分です(使用制限あり

##ログイン
1.jpg

お好きなアカウントでログインしてください。
sign upでアカウント作れますが、gmailアカウントでよいとおもいます。


##基本画面 ![2.jpg](https://qiita-image-store.s3.amazonaws.com/0/242965/4b8e867a-8bc2-c1bd-7439-81859ce90762.jpeg)

ホーム画面になります。ここにいろんな情報が並びます。
もう既に作ってあるレシピが並んでますが、
はじめて作成する場合はまだ何も表示されていないはずです。
グラフはその月の使用量です。
無料プランは、月1000 moduleが使えるっぽいです。

##レシピ作成


右上の【Create new scenario】で新規作成できます。



3.jpg


なんかいろいろでてきますがskipで大丈夫です。

#Webhooks
今回はIFTTTからのGetリクエストでの動作を想定してますので
レシピ作動のトリガーはWebhooksにします。

13.jpg



Custum web hookで作成します。
addで新規作成、適当な名前でだいじょうぶです

6.jpg

名前の下にアドレス(https://~)が作成されますので、
一度、ブラウザを新しく開いてアクセスしておきます。



画面が以下のようになれば準備完了です。(Successfuly determined.)

7.jpg


このアドレス(https:~)に対してGETリクエストがあった場合、
このモジュールにぶら下がっているmoduleが動作します。

#HTTP
NatureRemoのAPIを叩いて動作させるために、
特定のアドレスにPOSTするので、HTTPをぶら下げます。

Webhooks横にカーソルを合わせると+がでるので新規作成できます。
HTTP、Make a requestで作成します。
8.jpg

9.jpg

#HTTP 設定

左下の【Show advanced settings】にチェックを入れると項目増えます。

10.jpg

【URL】
NatureRemoの実行したいコマンドのアドレスをいれます。
取得していなければcurl getコマンドを利用して取得します。(→こちら
実際に記入するURLは以下です。

https://api.nature.global/1/signals/[動作させたいコマンドのid]/send

##取得したデータの一部

{
    "id": "[device id]",
    "device": {
      "name": "Remo",
      "id": "[device id]",
      "created_at": "2018-02-20T12:02:31Z",
      "updated_at": "2018-03-18T10:22:27Z",
      "firmware_version": "Remo/1.0.62-gabbf5bd",
      "temperature_offset": 0,
      "humidity_offset": 0
    },
    "model": null,
    "nickname": "light",
    "image": "ico_light",
    "type": "IR",
    "settings": null,
    "aircon": null,
    "signals": [
      {
        "id": "[on/offするためのid]",
        "name": "on/off",
        "image": "ico_off"
      },
      {
        "id": "[常夜灯にするためのid]",
        "name": "small",
        "image": "ico_io"
      },
      {
        "id": "[フル点灯するためのid]",
        "name": "full",
        "image": "ico_on"
      }
    ]
  },

"nickname": ""
"image": ""
あたりで探せば目的のIDが見つかると思います。
NatureRemoに登録した赤外線は全て取得できると思います。

【Method】
POST

【BodyType】
application/x-www-form-urlencoded

【Headers】
add a Headerで追加。
name: Authorization
Value: Bearer [NatureRemoのアクセストークン] →アクセストークン発行

以上を設定すれば完了です。




あとは作動させたいコマンド分、ツリー型にぶら下げていくだけです。

185.jpg

右クリックでModuleをCloneできたりするので複製は簡単だと思います。

##waitなど
ただHTTPを並べるだけだと都合が悪いときは、
Tools Moduleを追加し、Sleepを選びます。
Wait動作ですね。

秒数指定できます。
NatureRemoは赤外線の連射が得意ではないようなので、
各コマンドの間には4秒ほどのsleepを入れています。
11.jpg



またスケジューリングもできます。
WebhooksではなくHTTPに直接付けます。

12.jpg




#動作させる
RunOnceを押すと、Webhookが待機になるので
アドレスにアクセスすれば動作すると思います。(一度だけの動作です

このまま稼動させるためには下にフロッピーマークがあるので保存。
そして隣にON、OFFのトグルがあるのでONにします。
これで継続的に稼動状態になります(webhook待機

実際にWebhookのアドレスにアクセスすれば動作するかどうか確認しましょう。

#実際に使ってるレシピ

帰ってきたよ! → 電気を付けてテレビを付ける。
おやすみ! → テレビを消して、電気を常夜灯にする。
いってくるよ! → テレビを消して、電気を消す。
スケジュール作動(毎朝6時半)→ テレビを付けて、特定のCHにする。

全てGoogleHomeを作動させて、IFTTTに投げています。(WebhookをGETリクエストするため

#まとめ
integromatを使うとかなりのことができると思います。

テレビ音量50%!とかで[Volume up]を連射することで音量をかなりあげたり、
同時起動ではうまく動作しない機器などをSleepでズラして起動させるなどなど

やれることはまだまだあると思うので楽しいです。

PCを立ち上げたときのようにTaskerでHTTPgetしてもいいですしね。

またなんか面白いことを思いつけばな~、って思います。

18
24
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
18
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?