M5Stack FireでUIFlowプログラミング(その10)物理スイッチでLINEに通知

※タイトルではM5Stack Fireになっていますが、実際にはM5ATOM Liteを使っています。

IFTTTの設定

[Create]ボタンをクリックします。

[If This]の[Add]ボタンをクリックします。

「Choose a service」画面で

  1. 検索窓に「webhook」と入力します。
  2. 検索結果が下に表示されますので、[Webhooks]をクリックします。

「Choose a trigger」画面で[Receive a web request]をクリックします。

「Complete trigger fields」画面で

  1. [Event Name]に「lightbutton_pressed」と入力します。
  2. [Create trigger]ボタンをクリックします。

[Then That]で[Add]ボタンをクリックします。

「Choose a service」画面で

  1. 検索窓に「line」と入力します。
  2. 検索結果が下に表示されますので、[LINE]をクリックします。

「Choose an action」画面で、[Send message]をクリックします。

「Complete action fields」画面で

  1. [Message]を「{{Value1}}」にします。
  2. [Create action]ボタンをクリックします。

[Continue]ボタンをクリックします。

[Finish]ボタンをクリックします。

[Webhooks]アイコンをクリックします。

「Webhooks integrations」画面で[Documentation]ボタンをクリックします。

[To trigger an Event with 3 JSON values]にあるURLをコピーします。

UIFlowでの作業

以前作成した物理スイッチ用プログラムを修正します。

  1. [高度なブロック]をクリックして展開します。
  2. [Http]をクリックします。
  3. [Http request]ブロックを配置します。
  1. [URL]に接続しているブロックに先ほどコピーしたURLを貼り付けます。
  2. [Data]に接続している[マップを作成]ブロックの下にある[+]ボタンをクリックして[key-value]ブロックを追加します。
  1. 先ほど貼り付けたURLの「{event}」の部分を「lightbutton_pressed」に変更します。
  2. [value]に「オフィスの照明がONになりました」と入力します。

[であれば]に接続するブロックの最後に挿入します。

  1. ブロックを複製し、[そうでなければ]に接続しているブロックの最後に挿入します。
  2. [value]の内容で「ON」の箇所を「OFF」に変更します。

[▶Run]ボタンをクリックして、M5Atomで実行します。

LINEに通知が送られませんでした。試行錯誤した結果、日本語があると通知が送られないようでした。(今後調査していきます。)

ということで、今回はUIFlowからは「ON」「OFF」のみを送り、LINE の[Send message]アクションの中で日本語の文章に組み立ててLINEに送るようにしました。


修正

IFTTTのLINE Send messageの設定で、[Message]を「オフィスの照明が{{Value1}}になりました」と変更します。

UIFlowで[Value1]の内容をそれぞれ「ON」、「OFF」に変更します。

実行結果

スマホのLINEアプリでメッセージを受け取った状態です。(途中は試行錯誤している内容です。)

動画です。

スイッチが押されたことをLINEを使って簡単に知ることができました。