【MacroDroid】息子に予定の通知をおすそわけする方法②LINE を送る

スマートホーム

前回、私のスマホに Google カレンダーの通知がきたタイミングで、息子にも何らかの通知を飛ばしたい、というような内容を書きました。

【MacroDroid】息子に予定の通知をおすそわけする方法①前提のおはなし
うちの息子は『発達グレー児』なんですが、予定に対する『執着』のようなもの? が強いような気がします。学校で、全校集会が長引いて次の授業時間に入ってしまったとき、「早く戻らなきゃ」と一人で焦っていたそうです。…だって、『全校集会』なんだから、

その方法として考えているのが2つ、そのうちの1つが『MacroDroid から LINE を送る』です。
こちらのページが、本当に、本当に参考になりました。

MacroDroid テンプレート【ワンタップ LINE 今から帰る】
スマホ アプリ Android MacroDroid (マクロドロイド) の公開テンプレート「ワンタップでLINEメッセージ」(帰るよ)を送信するマクロです。公式LINEのトークンを発行して、送信先は「自分の参加しているグループ」や「別の自...

↑で丁寧に説明されていますが、ざっと手順を書きます。
やることは大きく分けて3つ。

  1. テンプレートを保存する
  2. LINE のトークンを取得する
  3. MacroDroid の設定をする

です。

1. テンプレートを保存する
MacroDroid のテンプレートストアは、MacroDroid アプリの中からしか開けないようになっています。
以下は Google Pixel 7a での方法ですが、ご参考ください。
スマホ本体の『設定』 → 『アプリ』 → 『MacroDroid』を開き、『デフォルトで開く』をタップ。
『対応リンクを開く』を有効にして、『確認済みのリンク』に『macrodroid.com』と『www.macrodroid.com』を追加します。
これで↑のリンクの中にあるテンプレートのリンクをタップすると、MacroDroid で開いてくれるようになりました。

もしくは、MacroDroid の『テンプレート』タブを開き、検索に『12082』と入力しても OK です。

これで『Japanese Translator』さんの『LINE 帰るよ Coming Home Widget(HTTP ver.)』が表示されます。
右下にある、三本線と『+』マークの丸をタップすると自分の端末に保存されます。

2. LINE のトークンを取得する
LINE で新規にグループを作ります。
自分と通知を共有したい相手とのグループです。
私の場合は息子とのグループをつくりました。
息子とのトーク画面はすでにありますが、ここではそれとは別に作っています。
次に、↓のサイトにアクセスします。

LINE Notify
LINE NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。

スマホからではなく PC で、PC がない場合は、ブラウザの『PC 版サイト』というチェックを ON にした状態でアクセスします。
先ほど作成した息子のグループのトークンを取得し、『1. テンプレートを保存する』で保存した『LINE 帰るよ Coming Home』マクロの『ローカル変数』の『myToken』に保存します。

3. MacroDroid の設定をする
同じく『LINE 帰るよ Coming Home』マクロのローカル変数『Message』に送りたいメッセージを入力します。
すでにトリガーに『ウィジェットボタン(カスタム)』が入力されていますが、ここを『通知が表示された時』のトリガーにして、アプリを『Google カレンダー』、『テキストコンテンツ』を『(息子の名前)*☆』としました。
予定を入力する際に、通知してほしい予定の場合は最後に『☆』を入れる決まりにしたので、それを引っ掛けるためです。

これで、私のスマホに Google カレンダーから予定通知が入った場合、息子のスマホに LINE が送られるようになりました。
で、この使い方をする場合、『LINE 帰るよ Coming Home』をマクロではなくアクションブロックにしたほうが便利かな、と思いました。
アクションブロックにする場合、ローカル変数から『Message』と、場合によっては『myToken』を削除し、入力変数の方で『Message』(と『myToken』)を文字列形式で作り直します。
LINE で送りたいメッセージは状況で変えたいので、『Message』を都度入力するように変えました。
この仕組みを特定の相手だけ(息子だけ)としか運用しないのであればそのままで OK ですが、別の相手とも(娘とも)運用したい場合は『myToken』を入力変数にしておいて、都度入力するようにしてもいいと思います。
娘専用のアクションブロックにしても、別にいいと思いますけど。
で、元の『LINE 帰るよ Coming Home』だと、エラーが出たときとか正常に送れたときとかにポップアップメッセージが出るようになっているんですが、それらがみんな不要な場合は、『変数の値を消去』と『HTTP リクエスト(POST)』以外はすべて『無効』にしてしまって大丈夫なようです。
正確に言うと『変数の値を消去』も無効にして大丈夫ですが、念の為エラー値の入れ物を取っておいたほうがいいかな…と。
システムログの方も表示されていますから、いらないのであれば無効にして大丈夫だと思います。

アクションブロックにしたら、以下のマクロを作成します。

  • ローカル変数に『初回』(真偽型)を作成
  • トリガー: 通知が表示された時
    アプリは『Google カレンダー』、『テキストコンテンツ』を『(息子の名前)*☆』
  • アクション
    • 分岐(IF)で変数『初回 = True』
      • アクションブロック: 先ほど作った LINE を送るアクションブロック
        myToken: 息子とのトークン
        Message: 【返信不要】{not_title}出かける準備を開始してください。
      • 変数を設定 初回→ False
    • Else
      • アクションブロック: 先ほど作った LINE を送るアクションブロック
        myToken: 息子とのトークン
        Message: 【返信不要】{not_title}出発してください。
      • 変数を設定 初回→ True
    • End If

『{not_title}』というのは、いわゆる『マジックテキスト』というやつです。
今回は Google カレンダーの通知が表示されたのをトリガーにしているので、その通知に表示された文字を引用して送ることができます。
『not』は、この場合は否定ではなく『Notification』とかの『not』だと思います。

私はいつも通知は2回出すようにしていて、1回目が準備を開始する時間、2回目が出かける時間にしているので、真偽で初回かどうかを判定して、出すメッセージを変えています。

これで、私のスマホに Google カレンダーの通知がきたタイミングで、息子のスマホに LINE を自動で送ってくれるようになりました。
いやーありがたいです。

それぞれのトークンは、グローバル変数にして保存しておいて、そこから呼び出すようにしています。忘れたりコピーミスしたりがなくなるのでいい感じです。

ただ、運用してみて思ったのは、「この場合は LINE じゃなくてもいいな…」ということでした。
例えば、息子が大学生とかになったとして、毎日16時に今日の夕飯が必要かを尋ねる場合、返信が必要なので LINE が重宝されると思います。
あとは、この『LINE 帰るよ Coming Home』の本来の使い方である帰宅を知らせる LINE とかであれば、「卵買ってきて」などの返信があることもあるので、LINE がいいと思います。
でも、通知をおすそわけしたいだけなので、この場合は LINE じゃなくてもいいかな…と。

なので、次の回では『Webhook を使って息子のスマホに通知を出す』をやってみたことを書きます。
もちろん、この LINE の仕組みは取っておいて、使うときに使いますけどね!

最後に、この『LINE 帰るよ Coming Home Widget(HTTP ver.)』のテンプレートを公開してくださった Japanese Translator さん(でいいのかな?)に深く感謝いたします。
本当にありがとうございました。

コメント

タイトルとURLをコピーしました