今回で最終回です。
前回までで、Alexa アプリの設定と Buttons For Alexa の設定を行いました。
今のところ、ホーム画面にある Buttons For Alexa のウィジェットをタップしたら、「スクログ書けー」とリマインドしてくれる、という状態です。
これを、私が止めるまでずーーーっと一定間隔でウィジェットをタップし続ける仕組みを作ります。
MacroDroid で変数1つ、ストップウォッチを1つ、マクロを2つ作成します。
息子がスクログを書いて私に見せたら、画面上にある(先ほどの Buttons For Alexa のウィジェットとは違う、別の)ウィジェットをタップして『完了』をすることで、その日の Alexa のリマインドが終了する、というマクロを作成します。
なので、その『GOOD』・『BAD』を記録する『真偽』(True/False)の変数を1つ作成します。
私は『スクログ』という変数名にして、『GOOD』を True、『BAD』を False にすることにしました。
次に、ストップウォッチを作ります。
新しいストップウォッチ『スクログウォッチ』を作成しました。
これで、マクロの実行間隔を測ります。
ストップウォッチを使用したのは今回が初めてだったんですが、なかなかおもしろい仕組みですねー。
ただ、なんとなくですが、消費電力が増えそうな気もします。
まぁ、このタブレットは電源にずっと繋いでいますし、別に構わないんですけど。
そして、マクロです。
1つ目は先ほど作った変数『スクログ』の状態を管理・変更するためのマクロです。
『スクログフラグ』という名前にしました。
- トリガー
- ウィジェットボタン(カスタム)
- 『画像を選択』からニコニコマークを選びました
- ラベル: GOOD
- ウィジェットボタン(カスタム)
- 『画像を選択』からムスッとしたマークを選びました
- ラベル: BAD
- ウィジェットボタン(カスタム)
- アクション
- 条件分岐を開始[If] スクログ=False
- 変数を設定 スクログ: True
- ウィジェットボタンを変更 GOOD
- ストップウォッチ(リセット) スクログウォッチ
- 分岐[Else]
- 変数を設定 スクログ: False
- ウィジェットボタンを変更 GAD
- 条件分岐を終了[End If]
- 条件分岐を開始[If] スクログ=False
このマクロを作成し、ホーム画面に MacroDroid の『カスタム』のウィジェットを設定します。
『GOOD』と『BAD』の2つが選択できますが、どっちでもいいです。
で、その設置したウィジェットをタップすると、その度に『GOOD』→『BAD』→『GOOD』→『BAD』…と変化するようになります。
それに伴い、MacroDroid の変数『スクログ』も True → False → True → False… と変化します。
これで、MacroDroid の変数をウィジェットから制御することができるようになりました。
最後に、Buttons For Alexa のアイコンを一定間隔で押すマクロを作ります。
うちは20時台に5分間隔でリマインドし続けてほしいので、『スクログ20時台』という名前にしました。
- トリガー
- 指定曜日(複数可)の時刻: 20:00 月曜-日曜 【※1】
- ストップウォッチ スクログウォッチ: 5分0秒【※2】
- アクション
- ストップウォッチ(リセット&リスタート) スクログウォッチ 【※3】
- 条件分岐を開始[If] 発動したトリガー: 指定曜日(複数可)の時刻: 20:00 月曜-日曜【※4】
- 変数を設定 スクログ: False
- ウィジェットボタンを変更 BAD
- 分岐[Else]
- 条件分岐を開始[If] スクログ=False【※5】
- UI 画面操作 クリック スクログ リビング【※6】
- UI 画面操作 クリック スクログ 息子の部屋【※6】
- 条件分岐を終了[End If]
- 条件分岐を開始[If] スクログ=False【※5】
- 条件分岐を終了[End If]
【※1】毎日20時になったら、【※3】まずストップウォッチを念の為リセットしてリスタートさせます。
ここからずっと時間を計測していきます。
そして、【※4】20:00になったときにだけ、ホーム画面のウィジェットを『BAD』に戻す作業を入れます。
リマインドを流すのは20:05からです。
ただ単に、20時には「ゲームとかは終了の時間だよ」というリマインドを流す時間になっているため、5分ずらしているという理由です。
【※2】ストップウォッチで5分測定したら、【※3】再度スクログウォッチをリセットしてリスタートし、計測を続けます。
今回は20:05になっているので、【※4】の If はスルーします。
次の分岐の Else に飛び、【※5】変数『スクログ』が False だった場合は、ホーム画面にある Buttons For Alexa の『スクログ リビング』と『スクログ 息子の部屋』をタップします。
(開いているホーム画面に、前回設置した Buttons For Alexa のウィジェットアイコンがあることが前提です。スペースの有無・全角半角なども見られるので、ちゃんと合致させなければいけません)
それが終わったら、このターンは一旦終了です。
次に【※2】また5分経過したあと、【※3】再度スクログウォッチをリセットしてリスタートし、計測を続けます。
【※5】、【※6】と動作を繰り返しますが、この間に息子にスクログを提出された場合、私は画面上にある『BAD』のウィジェットをタップして『GOOD』に変更します。
すると、次の5分後からは【※5】の条件と合致しなくなるので、スクログのリマインドが流れなくなる、という仕組みです。
以前はストップウォッチの機能に気づいていなかったので、20:05・20:10・20:15…と、20:55まで5分ごとにトリガーを11個作成していました。
動作的にはきちんと動いていたんですが、仮に「間隔を短く・長くしたい」などの要望が出てきてしまった場合、いちいちトリガーを全部変更するのがとってもとってもめんどくさいなーと思っていまして。
このストップウォッチの機能があれば、【※2】の『5分0秒』のところを好きな長さに変えることで簡単に変更ができます(…多分、試していないですが)。
Alexa のリマインドは1回につき大体15秒程度の長さなので、間隔を15秒にしてしまうとぐちゃぐちゃしてずっとしゃべっている感じになってしまいそうですが、本来のポッド042と同じ30秒であればそれなりにそれっぽく聞こえると思います。
まー…ウザいと思いますが。
これで、息子の面談のときに言われた「スクログを書いた後も音声が流れ続けるんですか?」という問いに対して、堂々と「書き終わったら止められます!」と言うことができるようになりました。
多分聞かれないですけどね。
まー、ストップウォッチの機能を使えたのはおもしろかったです。
やっぱり MacroDroid 大好きだなー。



コメント