俺の気持ちを代弁するフロー

6月に入り、段々と暑くなってきました。

自粛要請が解除されましたが、いかがお過ごしでしょうか。

今回のテーマ

今回ご紹介したいのは、Slackに関連するフローです。enebularでSlackステータスを自動的に変更するフローをつくってみましょう!

やりたいこと

室温が28度を超えていたら、Slackのステータスで、それとなく「暑い」と主張します。以下の様なイメージで、enebularで作ったフローが部屋にあるRaspberry Piで動作し、センサーの値によって、Slackのステータスアイコンを変更してくれます。まさに、ラズパイが自分の気持ちを代弁してくれるわけです。

使うもの

  1. ラズパイ
  2. 温度センサ
  3. enebular

やり方

こんな感じのNode-REDのフローを作ります。Slack Statusを変更するノードがあるのでシンプルです。

switchノードで温度が28度以上だったら、こっち。温度が〜〜度以下だったら、あっち。というような分岐処理を作ります。

templateノードでは、Slackステータスに表示する文字を作ります。

Slack Statusノードでは、適切なアイコンを選択しておきます。

「センサーからのデータはどうやって取得すればいいのだろう」と思った方、少々込み入ってしまいますので、例えば以下の様な記事を参考にしてください。

フローを作ったら、デプロイボタンからデバイスにデプロイします。

結果

温度センサーを手で温めるなどして、本当に動作するかをチェックします。ステータスが更新されたら、成功です!

 

まとめ

Slackステータスの変更は、以前、このブログでも取り上げていました。今回はもっと簡単になってます。

Node-REDを使うと、ちょっとした手間を効率化することができます。

みなさんもぜひチャレンジしてみてください😀

 

補足:Slack-statusノードの使い方

Slack statusノードを利用するためには、Slackのアクセストークンが必要です。その方法は以下の通りです。

 

1. Slack appを作成
  • https://api.slack.com/のURLにアクセスし、Slackのアカウントをログインします。
  • 成功にログインした後、画像のように「Your Apps」ボタンをクリックします。
  • 「Your Apps」ボタンをクリックしてから、画像のような画面が表示されます。
  • 「Create New App」ボタンをクリックし、Slack Appを新たに作成します。
  • App Nameでアプリの名前を入力し、Development Slack Workspaceでこのアプリが動作するワークスペースを選択してから、「Create App」ボタンをクリックします。
2. Slack appをワークスペースにインストール
  • アプリの基本情報画面に「OAuth & Permissions」ボタンまたは「Add features and functionality」タブで「Permissions」を選択します。
  • OAuth画面で、「Scopes」セクションまで下にスクロールし、「User Token Scopes」を見つけ、「Add an OAuth Scope」ボタンをクリックします。
  • 画像のように「identify」、「users.profile:write」 and 「users:write」パーミッションを選択します。
  • 上にスクロールし、[Install App to Workspace]ボタンをクリックし、アプリをワークスペースにインストールします。
  • 確認フォームが表示され、アプリの権限をコミットするよう依頼します。
    「Allow」ボックスをクリックしてください。
3.OAuth Access Tokenを取得し、Slack statusノードを利用
  • 「Allow」ボックスをクリックしてから、OAuth Access Tokenが表示されます。
  • OAuth Access Tokenをコピーします。
  • アクセストークンをSlack statusノードに追加し、「Add」ボタンをクリックします。

  • 「status」インプットでステータスを変更し、「icon」インプットでアイコンが選択できるようになります。Dynamic data input はmsgが「status」を設定し、 msg.iconは「icon」が選選択出来ます。