LoginSignup
5
5

More than 5 years have passed since last update.

MESHのイベントを、IFTTTのWebhooks経由でSlackに通知する。

Last updated at Posted at 2018-08-05

以前、Amazon Dash Button のハックって件でボタンを押したらSlackに通知が来るってのを記事にしました。そのボタンはいま、子供が帰ってきたら通知がくるボタンとして安定的に機能しています。

さて今回は SONYの電子ブロックであるMESHを用いて、家の鍵が開け閉めされたらSlackに通知が来るってのを作ったのですが、そのときのメモを纏めておきます。

構成

構成はこんな感じ。
MESH_IFTTT.png

家のLAN上のラズパイに MESHハブをインストールし、動きタグの動きを検知したらIFTTTへイベントIDを送信。IFTTTはそれをトリガーに、IFTTTのWebHook機能をつかってSlack のIncoming Webhooks を呼び出し、Slackに通知することにしました。

必要なモノは

など、またアプリ関連の前提としては、

  • MESHアプリで動きタグが認識されてること
  • MESHからIFTTTが認識されてること
  • Slack の Incoming Webhooks が定義されていること。

などですかね。

動きタグの向きが変わったら、Slackに通知が来るようにする

実際動かすとこんな感じ。

ビデオが開けなかった場合に表示されるテキスト

  • 動きタグをおこしたら「鍵が開けられました。」
  • 動きタグを倒したら「鍵がかけられました。」

って、Slackに通知が来るようにしました。さいごに、この動きタグを家のサムターンキーなどにつけておけばOKです。

サムターンキーを回して鍵を開けると、動きタグが起きて「鍵が開けられました」とSlackに通知、鍵を閉めると、動きタグが倒れて「鍵がかけられました」とSlackに通知されます。

MESHレシピの設定

MESHレシピは単純です。

動きタグをドラッグアンドドロップして「向きが変わったら」の上下表裏4つを設定。(下記のキャプチャは「上」を選択している図)

IMG_3964.png

上と下は、IFTTTにイベントID:entrance でテキストを「鍵が開けられました。」とします。
IMG_3965.png

表と裏も、IFTTTにイベントID:entrance で、テキストをこんどは「鍵がかけられました。」としました。

最終的に作成されたレシピは下記のような感じです。

IMG_3966.png

これで、動きタグが動いたときに、IFTTTへイベントIDとテキスト情報が送信されるようになりました。

IFTTT の設定。

IFTTT側は、this を MESHのサービスにしてイベントIDとテキストを受信し、thatはWebhooksにします。

具体的には下記の通りです。

this の設定

さて、IFTTT側です。右上のアイコン部分から New Applet を選択し、下記のthisアイコンを選択
IMG_3967.png

this には MESHを選択します。

IMG_3968.png

さて作成する際には受信待ちするイベント名を指定しますが、その値は先ほどの entrance を指定しておきます。
IMG_3969.png

以上で thisの設定はおしまいです。MESHからのリクエストを待ち受ける側が完成しました。

thatの設定

つづいてthatの設定つまり、Webhooksを設定していきます。

IMG_3970.png

Webhooksを検索して、、
IMG_3971.png

まず名称はまあなんでもイイんですが、下記のように、あとから見て何をやってるのか分かるようなモノにしておきます。

IMG_3972.png

つぎに、SlackのIncoming Webhooksを呼び出すときのパラメタを指定します。
IMG_3973.png

最後にPOSTするBody部ですが、Slackにながすメッセージには、{{Text}} という文字列を渡しています。これはMESHアプリから登ってくるテキスト情報のことを指しています。「鍵が開けられました。」とか「鍵がかけられました。」のことですね。

IMG_3974.png

{{Text}}はフォーカスが外れると、なんかこうプレースホルダされますよ、みたいなアイコンに変わります。

最後にSaveをクリックして完成です。

IMG_3975.png

以上で設定完了です。

疎通確認する

ようやく疎通確認です。MESHの動きタグをおこしたり、倒したりして、Slackに通知が来るかを確認してみましょう。

また、IFTTTがイベントを受け取ったかは、上部メニューの「Activity」から確認できます。下記のように、該当するイベントが飛んできて、IFTTTが反応していることが確認出来ればOKです。

IMG_3978.png

この図は、WebhooksのURLを仮置きしてたため、404のエラーが出てますが、、、正常にいければOKです。。

もいちど動画。

最後にさきの動画をも一度載せておきます。

ビデオが開けなかった場合に表示されるテキスト

MESHの使い勝手。

SlackへのPOSTについては、IFTTT の Slack連携を直接呼び出す機能もあって、それを呼び出すともっとシンプルだったのですが、多分その機能ってIFTTTアカウントにつき一つしか設定出来ないよーな気がするので、今回はWebhooks機能でSlackのIncoming Webhooksを呼び出しました。

まあ、前準備さえちゃんと整ってれば、MESHのタグ達(各種デバイス)から、Slack連携とかはあっという間に実装可能です。
MESH、可能性を感じますねー。。

5
5
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
5