2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(小ネタ)LTE-M Buttonのメール送信機能でボタンクリックやバッテリー残量に応じた任意のテキストをメッセージに含める

Posted at

ごきげんよう。最近、久々にしっかり風邪を引きました🤧
今日は小ネタをひとつ。

やりたいこと

LTE-M Buttonをクリックしたときに、そのパターンに応じてメッセージを変えたり、バッテリー残量をよりユーザーフレンドリーな形でメール通知したい。

背景

LTE-M ButtonはSORACOMのユーザーコンソールのデバイス設定画面からの設定だけで手軽にボタンクリック時にメールを送信できる機能があります。

メッセージの中身はプレースホルダーを使ってカスタムできるのですが、たとえばデフォルトのメッセージテンプレートではボタンクリックのパターンやバッテリー残量をそのままメッセージに出力するため、どうしても無機質なメッセージになってしまいます。

たとえばボタンクリックのパターンそれぞれに意味をもたせるような使い方(シングルクリックで出勤、ダブルクリックで退勤、など)をしていたり、バッテリー残量低下時にパーセンテージだけではなく「電池を交換してください」といったメッセージを含めたいときに、今回紹介する方法が役に立つかもしれません。

方法

デバイス設定のユーザードキュメントにも記載があるように、メール送信機能ではSIM(またはSIMグループ)のタグ情報にアクセスできます。具体的には {{(group.)tags.XXX}} プレースホルダーを使って特定のタグ XXX の値をメールのタイトルや本文に設定できます。
また、ご存知の通りボタンクリック状態 {{event.clickTypeName}} は決まった文字列(SINGLE DOUBLE LONG のいずれか)が返ります。

今回はこれを組み合わせて、ボタンクリック状態を含むタグをあらかじめ定義しておき、メッセージテンプレート内でボタンクリック状態に応じたタグの値を読み込むことで、メールの内容を動的に変更します。たとえばボタンクリックの3状態にそれぞれグー・チョキ・パーという意味を持たせたい場合、以下のようなキーワードを含むタグを定義します。

タグの名前 タグの値の例
SINGLE グー✊️
DOUBLE チョキ✌️
LONG パー🖐️

また、ボタンクリック状態と同様にバッテリー残量 {{event.batteryLevelPercent}} も25(%)刻みで決まった値を返すので、同じような形でタグを定義しておくことで残量に応じたメッセージへ置き換えることができそうです。

タグの名前 タグの値の例
100 電池残量はまだまだ大丈夫です
75 電池残量はまだ大丈夫です
50 電池残量は半分です
25 電池を交換してください

実際に設定するタグは下記のような形になります。わかりやすさのために JANKEN_BATT_ というプレフィックスをつけています。
スクリーンショット 2025-04-18 19.47.20.png

定義したタグ情報を {{tags.JANKEN_{{event.clickTypeName}}}}{{tags.BATT_{{event.batteryLevelPercent}}}} といったようにタグ情報の読み出し用プレースホルダ内にボタンクリック状態やバッテリー残量といった定数部分のプレースホルダをネストする形でメールテンプレート内に定義すると、{{tags.JANKEN_SINGLE}}{{tags.BATT_50}} のような形で展開されることが期待され、それぞれのタグの設定値がメールのタイトルや本文に展開されます。

スクリーンショット 2025-04-18 19.49.00.png

最後にメールテンプレートを保存してLTE-M Buttonのボタンをクリックすると、下記のようなメールが送信されました。
スクリーンショット 2025-04-18 17.52.56.png

私が試したときはこの方法で動作しましたが、メール送信時のプレースホルダの評価(置き換え)順序という非明示仕様を使用しているため、将来的に使用できなくなったりうまく動作しなくなる可能性が想定されます。
あくまで手軽にテキストを置き換えたい場合の方法の一つとして参考にしてください。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?