投稿日

時間帯に応じたメール通知の構築方法 : SORACOM LTE-M Button と SORACOM Flux の活用

こんにちは、Customer Reliability Engineer (CRE) の加藤 ( ニックネーム :shoichi) です。

本記事では、SORACOM LTE-M Button と SORACOM Flux を使って Slack 通知を行いつつ、特定の時間帯には メール でも通知を送信する設定方法について解説します。日中は Slack 通知のみ、深夜にはメール通知も加えることで、重要なイベントを見逃さない柔軟な通知管理が可能になります。

この記事は、以下の方を対象にしています

* LTE-M Button を既に使用しており、重要な時間帯には追加でメール通知をしたい方

* SORACOM Flux を使った通知のカスタマイズに興味がある方

1. はじめに

SORACOM LTE-M Button とは、ボタンを押すだけでインターネットを通じて情報を送信できるデバイスです。 ボタンが押された時にメール通知をする方法がいくつかあり、ユーザーガイドの、[ボタンクリック時にメールを送信する]ページではその一例が紹介されています。

この方法を応用して、例えばボタン以外にも接点情報を扱える「LTE-M Button Plus」に磁気センサーを接続し、ドアの開閉に応じて、ボタンから通知を受け取ることもできます。(参考:[SORACOM IoT レシピ : IoT でドアの開閉モニタリング])

さらに、2024 年 7 月 17 日からサービス提供を開始した [SORACOM Flux] を活用することで、通知の仕組みを柔軟にカスタマイズできます。SORACOM Flux は、ローコードで IoT アプリケーションを作れるサービスで、例えば、日中は Slack への通知のみに限定し、特定の時間帯にはメール通知も加えたりするなど、通知先を時間帯に合わせて自由に切り替えることが可能です。

この記事ではLTE-M Button のボタンを押したことを起点として SORACOM Flux を動作させる例を紹介します。磁気センサを含む接点入力の使用方法には言及しません。詳細については、[SORACOM LTE-M Button シリーズのスタートガイド] をご参照ください。LTE-M Button Plus と LTE-M Button for Enterprise の違いについても解説されています。

2. SORACOM Fluxについて

SORACOM Flux は、IoT アプリケーションをローコードで構築できるサービスです。デバイスから送信されたセンサーデータやカメラ画像に対してルールを適用し、複数のデータソースや生成AIを組み合わせて分析・判断を行うことができます。これにより、柔軟に通知やアクションを構築することが可能です。

今回の設定では、LTE-M Button が押されたことを起点に、SORACOM Flux で時間帯に応じた通知先を設定する仕組みを紹介します。

詳細については、SORACOM Flux ドキュメントをご覧ください。

3. 通知設定の概要

SORACOM LTE-M Button を使用して、時間帯に応じて異なる通知先(Slack またはメール)に通知を送る方法を解説します。

通知設定のポイント

  • Slack通知: 日中(通常の業務時間帯)には、LTE-M Button の押下イベントを Slack に通知します。
  • メール通知: 深夜 (22:00~ 翌 5:00) などの特定の時間帯では、Slack に加えてメール通知も設定し、重要なイベントを見逃さないようにします。

通常はSlackに通知を送信し、深夜などの特定の時間帯ではメール通知も併用することで、見逃しを防ぎます。このような柔軟な通知設定は、SORACOM Fluxの機能を使うことで容易に実現できます。

次の章から、SORACOM Flux で LTE-M Button のボタンが押された時に Slack とメールに通知をする仕組みを構築する手順を紹介します。

設定には SORACOM ユーザーコンソールを使用します。ログインはルートユーザーでしてください。ログインの詳細は[ルートユーザーでログインする]をご参照ください。

4. LTE-M Button の設定

LTE-M Button の設定は、下記の手順で行います。

  1.  [メニュー] > [ガジェット管理] > [LTE-M Button for Enterprise]をクリックします。

デバイス一覧の画面に対象の LTE-M Button が表示されていない場合、[ユーザーコンソールに SORACOM LTE-M Button for Enterprise を登録する] を参考に LTE-M Button の登録を行ってください。

  1. 対象のデバイスを選択し、[SIM グループを編集]をクリックします。
  1.  [基本設定]にて、SORACOM Air for セルラー設定のバイナリパーサーを有効、かつ、そのフォーマットとして @button と入力します。
  1.  [所属しているSIM]タブで、対象のLTE-M Buttonが表示されていることを確認します。

 5.SORACOM Flux の設定

<Flux アプリを作成する>

  1. [メニュー] > [SORACOM FLUX] > [Flux アプリ]をクリックします。
  1.  [+ 新しい Flux アプリを作成する]をクリックします。
  1. Flux アプリを作成する画面で、[名前]と[概要]を入力します。
  2. [保存]をクリックします。

<イベントソースとチャネルを設定する>

  1. SORACOM Flux Studio画面が表示されたら、[+ チャネルを追加する]をクリックします。
  1. イベントソースで[IoTデバイス]を選択し[次へ]をクリックします。
  1. [新しいチャネルを作成]画面で、チャネルの [名前] の入力と、イベントソース設定のグループに、対象のLTE-M Buttonが所属しているSIMグループを選択し、[チャネルを作成する]をクリックします。

<アクションを設定する : Slack 通知>

  1. チャネルの詳細画面から、[アクション]を選択し、[アクションを追加]をクリックします。

※チャネルの詳細画面が表示されない場合は、Flux STUDIO のIOTデバイスをクリックします。

  1.  [新しいアクションを作成]画面で、[Slack通知]を選択し、[OK]をクリックします。
  1. [CONDITION]のアクションの実行条件にボタンが1回クリックされたことをトリガとする構文を記載します。
startsWith(toUpperCase(event.payload.clickTypeName), "SINGLE") 
  1. [CONFIG]のURLに通知先の Slack に紐づいた Webhook URL を入力します。Webhook URL を発行する手順について詳しくは、 Slack App の Incoming Webhook の Webhook URL を発行する を参照してください。

[作成する]をクリックします。

<LTE-M Button のボタンを押して動作確認する>

  1. LTE-M Button のボタンを一度押します。(LTE-M Button のランプがオレンジ色に点滅した後、赤色に点灯します)
  2. チャネルの詳細画面から、[メッセージ履歴]を選択し、ボタンを押した時間の履歴を確認します。(表示されない場合は、[新しいメッセージを取得]をクリックしてください)
  1. Webhook URL で指定した Slack のチャネルに通知メールが届いていることを確認します。

<アクションを設定する : mail 通知>

  1. チャネルの詳細画面から、[アクション]を選択し、[アクションを追加]をクリックします。

※チャネルの詳細画面が表示されない場合は、Flux STUDIO のIOTデバイスをクリックします。

  1.  [新しいアクションを作成]画面で、[Email通知]を選択し、[OK]をクリックします。
  1. [CONDITION]のアクションの実行条件にボタンが1回クリックされたことをトリガとする構文を記載します。
startsWith(toUpperCase(event.payload.clickTypeName), "SINGLE") 
  1. [CONFIG]のTO(CC、 BCC)にて通知を送りたい宛先のメールアドレスを選択します。

※宛先のメールアドレスが表示されない場合は、SORACOM ユーザーコンソールの[メール設定]にて[メールアドレスの追加]と[検証]を行ってください。メールアドレスの追加方法はユーザーサイトの [メールアドレスを追加する] をご参照ください。

  1. [CONFIG]の[件名]と[本文]に任意の文章を記載し、[作成する]をクリックします。

<LTE-M Button のボタンを押して動作確認する>

  1. LTE-M Button のボタンを一度押します。(LTE-M Button のランプがオレンジ色に点滅した後、赤色に点灯します)
  2. チャネルの詳細画面から、[メッセージ履歴]を選択し、ボタンを押した時間の履歴を確認します。(表示されない場合は、[新しいメッセージを取得]をクリックしてください)
  1. 送信先に指定したメールアドレスに通知メールが届いていることを確認します。

6. 時間帯によるメール通知の切り替え

ここまでで、LTE-M Button のボタンを押したらメールが通知される仕組みの構築ができました。ここからは、特定の時間帯にメール通知を有効または無効にする方法を紹介します。例として、次の2パターンの設定方法を説明します。

① 22:00 から翌 5:00 まで(UTC 13:00 から UTC 20:00 まで)メール通知を有効にする

②8:00 から 17:00 まで(UTC 23:00 から UTC 翌 8:00 まで)メール通知を無効にする

① 22:00 から翌 5:00 まで(UTC 13:00 から UTC 20:00 まで)メール通知を有効にする

  1. チャネルの詳細画面から [アクション] を選択し、 [EMAIL-NOTIFICATION] の [詳細] をクリックします。
  1.  [CONDITION]のアクションの実行条件に、以下の構文を記載します。
startsWith(toUpperCase(event.payload.clickTypeName), "SINGLE") && ((getUTCHours(now()) >= 13 && getUTCHours(now()) < 20))
  1. 設定が完了したら、指定した時間帯にボタンを押して、意図したとおりにメールが送信されるか確認してください。

②8:00 から 17:00 まで(UTC 23:00 から UTC 翌 8:00 まで)メール通知を無効にする

  1. チャネルの詳細画面から [アクション] を選択し、 [EMAIL-NOTIFICATION] の [詳細] をクリックします。
  1.  [CONDITION]のアクションの実行条件に、以下の構文を記載します。
startsWith(toUpperCase(event.payload.clickTypeName), "SINGLE") && ((getUTCHours(now()) >= 23)|| (getUTCHours(now()) >= 0 && getUTCHours(now()) < 8))
  1. 設定が完了したら、指定した時間帯にボタンを押して、意図したとおりにメールが送信されるか確認してください。

7. おわりに

本記事では、SORACOM LTE-M Button と SORACOM Flux を使って Slack 通知を行いつつ、特定の時間帯には メール でも通知を送信する設定方法について解説しました。

Fluxの柔軟な設定により、さまざまなシーンに応じた通知機能を簡単に実装できますので、ぜひ試してみてください。

— ソラコム加藤 (shoichi)