Slack Advent Calendar 2018 2日目です!
先日Slackとボタンスイッチセンサーで「呼び出しシステム」を作ってみた!
を投稿したのですが、今回は温度データをSlackに簡単に投稿します!
作るのは5分でやっちゃいます
ただ単に温度だけ表示するより、暑いときには別のメッセージが出るようにしたいと思います!
条件 | 投稿コメント |
---|---|
28℃以上 | ○○度です。暑いですね・・・。 |
20℃以下 | ○○度です。寒いですね・・・。 |
それ以外 | ○○度です。 |
とコメントを変えてみたいと思います!
準備するもの
■実機
WindowsPC
Gravioレンタルデバイスの温度データ
■サービス
Gravio (インストールが必要)
・Gravio Studio Version 2.0.2000
・Gravio Server Version 2.0.1997
Slack(トークンまで事前準備)
以上です。
え?これだけ?
そもそもGravioって??
となるかもしれませんが、そのあたりが気になる方は参考のリンク集を見ていただければと思います。
Gravioの設定
STEP1 センサーの設定
センサーとペアリング
温度センサーとペアリングします。
センサーがチカチカっと光り、以下の画面が表示されれば、ペアリング完了です。
ペアリングについては、こちらをご参照ください。
センサーの登録
(1) エリア・レイヤーを登録する
画面右上の”+”ボタンをクリックし、エリアを作成します。
エリアを作成すると自動的にレイヤーが作成画面が表示されるので、SENSING DEVICE TYPEにAqara-Temperatureを選択します。
(2) レイヤーにデバイス(センサー)を登録する
一番右のデバイスウィンドウの”⊕”ボタンを選択し、デバイスを追加します。
デバイスのスライドボタンをONにすることで、データの収集が開始されます。
STEP2 Slackの設定
今回は、温度に関する3種類のSlack投稿動作を準備します。
動作 | 動作ファイル名 | コメント |
---|---|---|
1 | 温度通知 | ○○度です。 |
2 | 暑いときコメント | 暑いですね・・・。 |
3 | 寒いときコメント | 寒いですね・・・。 |
Gravio上で、アクションを作成します。
Slackコンポーネントを設置して、
コンポーネントのプロパティにトークンとチャネル、メッセージを設定するだけです。
動作1を作成した場合は以下を設定します。
項目 | 内容 |
---|---|
Token | "取得したトークン" |
Channel | #general |
Text | av.Data +"℃です。" |
メッセージ内容にセンサーデータを使用する場合は、"av.Data"を使用します。
アクション(動作)ファイル名を編集しておくと、あとで設定をするときわかりやすいです。
(アクション編集画面の左上にあるAction1と書かれているところを変更するとアクション名が変わります)
【2018/1/31追記】
アクション変数について
アクション変数とは、センサーデータとSTEP3で設定する動作条件が一致した場合に実行されるアクション内にて使用できるデータです。
条件と一致したタイミングのセンサーデータ(Data)の他にも、データの取得日時(Timestamp)やセンサーのID(SensorDeviceID)などのデータを使用できます。
STEP3 動作タイミング(トリガー)の設定
トリガー画面から、"+”をクリックしトリガーを作成します。
温度データを受信したタイミングで常に温度を投稿する
トリガーの設定内容は以下のとおりです。
項目 | 設定値 |
---|---|
エリア | 温度データのエリア |
レイヤー | 温度データのレイヤー |
アクション名 | 温度通知 |
Interval | 10(Default) |
Classic/Threshold Triger | Classic Trigger(Default) |
温度 | >=0 |
温度が28℃を超えたとき、20℃を下回ったときのトリガーは、
アクション名と温度の項目を変更し、トリガーを追加します。
変更点
項目 | 暑いときのトリガー | 寒いときのトリガー |
---|---|---|
アクション名 | 暑いときコメント | 寒いときコメント |
温度 | >=28 | <=20 |
ここまでで設定が完了です。
動作確認
室温から手で温めたあと、冷凍庫にセンサーをいれて、両方の動作が確認できました!
あとがき
簡単に室温をSlackで共有してみました。
サーバー室や飲食店の室温管理には使えそうですね!
今回は温度センサーを使いましたが、それ以外でも同じようなことができます。
例えば、開閉センサーを使ってドアが空いたタイミングでSlackに通知するといったことができちゃいます!
よかったら、Gravioを試してみてください♪