2024年6月22日土曜日

指紋認証でロック解除のON/OFFをトグルにしてみた

 ポケットにケータイを入れてる間は、指紋センターが反応しないように無効にするマクロを作ったんですが、

1.モードとルーチン:ホームボタンダブルタップ

 ・指紋認証を無効

 ・指紋認証無効通知出力

2.MacroDroid:指紋認証無効通知が出力されたら実行

 ・画面OFF

3.モードとルーチン:電源ボタン長押し

 ・指紋認証を有効

 ・指紋認証有効通知出力

4.MacroDroid:指紋認証有効通知が出力されたら実行

 ・指紋認証無効通知を消去

 ・5秒後に指紋認証有効通知を消去

なんですね。

ONとOFFで操作が違うんです。

ONは電源ボタンを長押し

OFFはホームボタンをダブルタップ

です。

でも、どうせなら同じ操作でトグル切替したい!

要するに、

ONならOFF

OFFならON

を同じ操作にしたいんですよ。

できれば、電源ボタンを長押し操作に統一したい!


でも、

・指紋認証でロック解除の設定変更ができるのはモードとルーチンだけ

・電源ボタン長押しをトリガーにできるのもモードとルーチンだけ

MacroDroidも電源ボタンを長押しをトリガーに出来るんですが、そのためには既定のアシスタントアプリをMacroDroidにする必要があるんです。でも、これやっちゃうと、Hey!Googleが使えなくなるんですよ。


なので、

・電源ボタン長押しトリガーはモードとルーチン

・指紋認証でロック解除のON/OFF判定はMacroDroid

・判定結果に応じて指紋認証でロック解除を有効か無効にするのはモードとルーチン

にする必要がありますね。


そんな訳で、通知を表示のトリガーで連携させてみました。


1.モードとルーチン:電源ボタン長押しで実行

 ・「指紋認証トグル」通知出力

2.MacroDroid:「指紋認証トグル」通知が出力されたら実行

 ・「指紋認証トグル」通知消去

 ・変数「指紋認証」の判定

 [オフ]なら

    ・「指紋認証オフ」通知消去

    ・「指紋認証オン」通知出力

    ・1回バイブ

  ・5秒後に「指紋認証オン」通知消去

  ・変数「指紋認証」に「オン」を設定

 [オン]なら

    ・「指紋認証オフ」通知出力

  ・変数「指紋認証」に「オフ」を設定

  ・画面をOFF(ロックされないように「ユーザ補助サービスを使用」)

3.モードとルーチン:「指紋認証オン」通知が出力されたら実行

 ・指紋認証を有効

4.モードとルーチン:「指紋認証オフ」通知が出力されたら実行

 ・指紋認証を無効


モードとルーチンの条件に「指紋認証でロック解除の状態」があれば無駄に連携しなくて済むんですが、MacroDroidの通知はアイコンを替えられるメリットがあるので通知バーを見れば状態が簡単に分かって便利です。

逆に、MacroDroidに「指紋認証でロック解除の状態判定」や「指紋認証でロック解除のON/OFF」が出来ればもっと単純な仕組みで済むんですけどねぇ。

電源ボタン長押しするとバイブするんですが、ONにする時だけMacroDroidでもバイブさせています。これで、バイブ1回はOFF、バイブ2回はONと分かるので、ポケットの中で電源ボタンを長押しして簡単に切替できるようになりました。


2024年6月21日金曜日

MacroDroidとモードとルーチン

MacroDroid凄いです。

今まで津使わなかった事を深く反省しています。


でもね、不満点があるんですよ。

・Galaxy純正のモードとルーチンと連携できない

 これ、どちらもショートカットやアクティビティで、個々のマクロやルーチンを

 実行できれば良いんですけどねぇ。

・Googleアシスタントへ連携できない

 Googleアシスタントと言うよりも、Google Homeのルーチン呼び出したい!

・Googleアシスタントから呼び出して使えない

 英語モードだと出来るような記事を見かけましたが、日本語だとダメそうです。

実は出来るのかも知れませんが。


で、

・Googleアシスタントから呼び出して使えない

については、特に不満は無いんです。
と言うのも、今のところは自分キックでマクロを動かすことが無いので、当然ながら声でマクロを動かすこともありません。でも、いずれは使いたくなると思います。

それよりも、

・Galaxy純正のモードとルーチンと連携できない

・Googleアシスタントへ連携できない

です。

モードとルーチンはGalaxy標準だけあって、トリガやアクションが端末固有の機能に対応してるんですよ。
例えば、
特定のアラームの鳴動を止めた場合に実行するトリガー
とか
指紋認証を無効にするアクション
があるんですね。
これはMacroDroidにはありませんでした。

で、何とかして連携できないものかと考えた挙句、
・通知を使って連携
することにしました。
残念ながら、モードとルーチンには
・通知が出力されたら実行トリガー
はありますが、
・通知を消去アクション
は無いので、
MacroDroidで通知を出力 ⇒ モードとルーチンで通知が出力されたら実行は出来ますが、
モードとルーチンでMacroDroidが出力した通知を消すことは出来ませんね。
でも、これで双方向に連携が出来るようになりました。

一つ目は
目覚まし止めたらPC起動して部屋の明かりなどを点ける
です。
1.モードとルーチン:特定アラームの停止で
 ・PC起動:Wolアプリのショートカット呼び出し
 ・通知出力
2.MacroDroid:通知が出力されたら実行で
 ・Googleアシスタント呼び出し
 ・メディア再生でGoogleアシスタントに音声入力(と言うかスピーカから再生)
 ・Googleアシスタントで入力された音声に対応した、部屋の明かりなどを点ける
  アクションと当日の天気や予定の読み上げアクションを実行
が出来るようになりました。朝、目覚ましアラーム止めるだけで完了です。
Googleアシスタントに文字で連携出来れば良いんですが、見つけられませんでした。
音声ファイル再生だと、周囲の音に影響されて正しく動かないこともありますが、今回のは朝のベッドルーム専用なので大丈夫そうです。

二つ目は
指紋認証の状態を通知
です。
ケータイって暑い夏にパンツのポケットに入れておくと、ポケットの中で勝手に指紋認証失敗が反応するんですよ。で、使おうとすると、PIN入力しなきゃいけなくなってる。
Galaxy Note 10+の時は持ち歩き中に勝手に反応しない設定があったんですが、S24 Ultraには無さそうなんです。
で、ポケットに入れる前に指紋認証を無効にすることにしたんですが、無効か有効かが分かりにくいので、通知を出すことにしたんです。
で、
1.モードとルーチン:ホームボタンダブルタップ
 ・指紋認証を無効
 ・指紋認証無効通知を出力
2.モードとルーチン:電源ボタン長押し
 ・指紋認証を有効
 ・指紋認証有効通知を出力
にしたんですが、モードとルーチンには通知の消去がありません。
なので、両方の通知が出たままになるんですよ。
それに、ホームボタンダブルタップして、電源ボタンを押さないと画面は消せない。
と、これでは不便だし結局分かりにくい。
てな訳で、
1.モードとルーチン:ホームボタンダブルタップ
 ・指紋認証を無効
 ・指紋認証無効通知出力
2.MacroDroid:指紋認証無効通知が出力されたら実行
 ・画面OFF
3.モードとルーチン:電源ボタン長押し
 ・指紋認証を有効
 ・指紋認証有効通知出力
4.MacroDroid:指紋認証有効通知が出力されたら実行
 ・指紋認証無効通知を消去
 ・5秒後に指紋認証有効通知を消去
にすることで、
ホームボタンダブルタップで、指紋認証無効と画面OFFで無効通知出力
電源ボタン長押しで、指紋認証有効と、指紋認証無効通知消去して、5秒すると有効通知も消去
が出来るようになりました。

スマートウォッチを使ってるので、カスタム通知が物凄く便利で色々活用してます。


2024年6月20日木曜日

MacroDroid - 予定の内容でフィルタする時の注意点

 MacroDroidのトリガーで

・特定のカレンダーに予定がある場合

が指定できますが、

・予定のタイトル

・予定の内容

でもフィルタリングできるんです。

で、

*特定の文字列*

正規表現を使用する を ON

にしたんですが動きませんでした。


正規表現を使用する を OFF

にすると機能しました。


"*"使うと正規表現なのかと思ったんですが違うようです。

2024年6月18日火曜日

MacroDroid - マクロをOFFにする時の注意点(不具合?)

マクロの一覧画面で、

・マクロ単位

・カテゴリ単位

で、マクロの有効化と無効化が出来ますよね?

それぞれの右端にあるトグルスイッチです。


無効にすることで、トリガと条件が満たされる状態になっても、

マクロは実行されなくなります。

これは想定通りの動きです。


でもね、

・アクションブロック

も動かなくなりました。

なので、無効にしていないマクロでアクションブロックを使っていると、アクションブロックが実行されなくなりました。

どういうこと?

動かなくなったマクロは、通知を表示して、表示した通知のアクションボタンを押した際にアクションブロックを呼び出す仕組みです。

最初はさっぱり原因が分からなくて、動かなくなったマクロや、アクションブロックをステップごとに試したりしたんですが

・マクロを試す では 通知は表示されても、通知のボタンからアクションブロックが呼び出されない

・アクションを試すでも同じ

・アクションブロックを試すだと問題なく実行できる

という謎現象でした。

マクロでアクションブロックを再設定したりもしたんですが状況は変わらずでした。

で、何気なく、無効にしているカテゴリを有効にしたら動いたんです。

無効にしているカテゴリに属しているマクロは、呼び出されなくなったアクションブロックを使っていないので因果関係があるとは思いませんが、とにかくそれで動くようになりました。

無効にしたカテゴリーに属していたマクロは、既に別のマクロに置き換えたものだったので、カテゴリーごとマクロも削除しました。

その後に、似たような状況を作り出そうとお試しマクロやお試しカテゴリーを作って見たんですが、再現することはありませんでした。

未だに理由が分かりませんが、怖いのでマクロやカテゴリーを無効にするのはやめました。


2024年6月14日金曜日

MacroDroid(ゴミの日)

 MacroDroid面白いですね。

条件や実行操作が、Galaxy標準のモードとルーチンよりも多いんですよね。

でも、Galaxyのケータイ特有の機能は条件にしたり操作したりできないんですよ。

それでも、条件にトリガーと条件が設定できたり、条件分岐できるのでGUIでシェル組んでるような感覚ですね。

Galaxyのモードとルーチンでも色々と出来るし、特有の機能の操作ができて便利なんですが、

特定の音声再生が出来ない!

んですよ。

ウチのケータイは通知音で何の通知か分かるように音声ファイルを使ってます。

アプリのカテゴリ別でも音声ファイル使って分けてます。

通知用の音声ファイルが60以上ありますね。これだけで無駄にケータイの画面を見なくて済むようになりました。

でも、カレンダーやメールって個別に設定できないんですよ。

カレンダーだとカレンダー単位(プライベートと仕事とか)だし、メールも自分のメールアカウント単位です。

カレンダーもメールも、ある程度は使い分けているので、

カレンダーだと

 個人(タスクもアリ)

 仕事(タスクもアリ)

 仲間

 記念日・誕生日

 期間的なイベント

のようにカレンダーを分けて通知音も変えてます。

メールも

 重要(金融機関などの重要なアカウント用)

 一般(サポートなどのアカウント用)

 会社

 ゴミ

で通知音を変えてます。

Galaxyには、通知の際に内容を読み上げる機能もあるんですが、読んでほしくないメールもありますよね。ま、メールは実際のところ知人とのやりとりには全く使ってないので、急いでみなきゃいけないようなものは来ません。でも、カレンダーとタスクは備忘に使ってるので見た時には手遅れって事にもなりかねません。


な~んて言っては見ましたが、ケータイを触れないような状況(満員電車や歩行中)に、手遅れになるような通知が来ないように登録してるので、基本的には数時間前に通知されます。

で、唯一気になってるのが

ゴミの日

です。忘れがちですよね。特に、燃やさないゴミの日って、月に2回なんですよ。ウチは第一週目と第三週目なんですが、今日が何週目か分かりにくいし、なによりも何週目が燃やさないゴミの日だったっけ?になりがちです。いまも自治体のサイトで調べました。

なので、これまで繰り返しタスクに登録してたんですが、カレンダーにゴミの日が表示されるのヤダぁってのと、カレンダー単位でしか通知音変えられないので、何のゴミの日か分かりにくい!しかも出勤前の短い時間(早起きなんで短くは無いんですがやること多いんで)なので通知音だけで知りたいっ!という我儘を叶えるためにMacroDroid使ってみました。

いや、本当の目的は別なんですが、今回は条件分岐とかも使ったマクロの方が良いかなと。

で、通知したいのは

・燃やせるゴミの日(毎週火金)

・資源ゴミの日(毎週水)

・燃やさないゴミの日(第一木・第三木)

です。

毎週繰り返しは何一つ悩む必要もないんですが、第一・第三て・・・

これがカレンダーを使ってた理由なんです。カレンダー(と言うかタスク)は、第一とか第三とか指定できるんですよ。

年間の何週目かは関数とかよくあるんですが、その曜日が何週目なのかってどうやりゃいいの?

例えば、

1日が月曜なら7日が日曜なので、1日から7日は1週目

1日が日曜なら2日が月曜なので、2日から8日は1週目で9日は2週目

じゃないですか。

じゃあ、3日は何週目?って計算しようとすると、どうすりゃいいの?

1週間は7日なので、何かを7で割れば良いんでしょうが、何を割ればいい?

1日が火曜なら7日は月曜で2週目になるって事は、

7日が7か8になれば良いんですか?

あ、違いました。木曜日の日付が何週目になるかでしたね。

とすると、

1日が月曜なら、木曜は4日(1週目)

1日が火曜なら、木曜は3日(1週目)

1日が水曜なら、木曜は2日(1週目)

1日が木曜なら、木曜は8日(2週目)

1日が金曜なら、木曜は7日(1週目)

1日が土曜なら、木曜は6日(1週目)

1日が日曜なら、木曜は5日(1週目)

と言うことは、1日が7になれば良いですかね?
で7で割れば良い?

(今日+6)/7

って事ですか?

1日が月曜なら、木曜は4日なので (4+6)/7 = 1.43

1日が火曜なら、木曜は3日なので (3+6)/7 = 1.29

1日が水曜なら、木曜は2日なので (2+6)/7 = 1.14

1日が木曜なら、木曜は8日なので (8+6)/7 = 2.14

1日が金曜なら、木曜は7日なので (7+6)/7 = 1.86

1日が土曜なら、木曜は6日なので (6+6)/7 = 1.71

1日が日曜なら、木曜は5日なので (5+6)/7 = 1.57

あ~、いけそうですね。

念のため、月末付近も見てみます。

1日が月曜なら、木曜は25日なので (25+6)/7 = 4.43

1日が火曜なら、木曜は24日なので (24+6)/7 = 4.29

1日が水曜なら、木曜は23日なので (23+6)/7 = 4.14

1日が木曜なら、木曜は29日なので (29+6)/7 = 5.00

1日が金曜なら、木曜は28日なので (28+6)/7 = 4.86

1日が土曜なら、木曜は27日なので (27+6)/7 = 4.71

1日が日曜なら、木曜は26日なので (26+6)/7 = 4.57

なんかいけそうな気がするけど、別の見方もしてみよう

1日が月曜なら、

8日も月曜なので (8+6)/7 = 2

15日も月曜なので (15+6)/7 = 3

22日も月曜なので (22+6)/7 = 4

29日も月曜なので (29+6)/7 = 5

バッチリだ。で、

1日が日曜なら、

2日が月曜なので (2+6)/7 = 1.14

9日が月曜なので (9+6)/7 = 2.14

16日が月曜なので (16+6)/7 = 3.14

23日が月曜なので (23+6)/7 = 4.14

30日が月曜なので (30+6)/7 = 5.14

これだっ!これでいける!

月の何週目なのかってなると難しそうだけど、その曜日が何週目かならOKだな。

もう疲れたんで、この辺で終わろうかと思ったけど、MacroDroidのこと何も書いてなかったわ。


じゃ、ザックリと


1.変数を設定

 週番号の計算です。

 ({dayofmonth}+6)/7の結果を変数[dayofweek]に格納します。

 dayofmonthは日付(日)が数値で返される関数らしいです。

 dayofweekはユーザ変数です。


2.1.条件分岐

 今日が木曜日か

2.1.1.(木曜なら)条件分岐

 [dayofweek]が[1 or 3] ← このためだけに上の長い文があったんです

2.1.1.1.(1週目または3周目なら)燃やさないゴミの日の処理

 燃やさないゴミの日の通知音再生

 燃やさないゴミの日の通知表示


2.2.条件分岐

 今日が火曜日または金曜日

2.2.1.(火曜日または金曜日なら)燃やせるゴミの日の処理

 燃やせるゴミの日の通知音再生

 燃やせるゴミの日の通知表示


2.3. 条件分岐

 今日が水曜日

2.3.1.(水曜日なら)資源ゴミの日の処理

 資源ゴミの日の通知音再生

 資源ゴミの日の通知表示


マクロはこんな簡単なものなんですよ。

どちらかと言うと条件や分岐判定の設計の方が大変です。

でも、これで、何のゴミの日か通知音だけで分かるようになりました。


で、ゴミの日なので通知されて終わりじゃないですよね。

ゴミを出して終わりです。

なので、通知について書いときます。


通知を表示するための設定画面ですね。


通知ID:0以外だと同じIDの通知で上書きされるそうです。

 用途としては、「何かを実行中」って通知を出した後に、何かが終わったら「何かが完了」って通知で上書きするような感じですかね。


[アイコン設定]

 ステータスバーに表示されるアイコンの設定です。文字にもできますが小さいので2文字が限界かと思います。アイコンはユーザで作ったものも使えるので分かりやすい通知に出来ますね。でも、ステータスバーは設定したアイコンですが、通知バーはMacroDroidのアイコンなのが残念で仕方ありません。


タイトル

 通知バーに表示されるタイトルです


通知のテキスト

 通知バーに表示されるメッセージ内容です


通知チャンネル

 通知の重要度を設定できます。通知チャンネルに名前も付けられます。


タップした時にマクロを実行する

 通知バーでタップした時にマクロを実行するかどうかです。

 ONにするとマクロやアクションブロック(ユーザ設定できる部品です)を選択できます。

 私は、タップしただけで通知が消えると嫌なので、単にタップした場合はもう一度マクロを実行して通知を出すようにしています。


既存の通知を消去する

 通知IDが0なので、万が一通知を消す前にマクロが実行されたら、通知時刻を更新するために既存の通知を消去してから新しい通知が出力されるようにしています。

 他のアプリやマクロの通知が消えることはありません。


アクションボタン

 ラベル

  通知バーで通知を展開した時に表示されるボタンの文字です。


 ボタン押下時に実行

  ボタンを押したときの動作の設定です。


 入力/出力パラメーター設定

  使ってないので分かりません。


 タップ時に通知を消去

  このボタンを押すと通知を消すのかを設定します。

  ゴミ出し完了のボタンなので通知を消すようにしています。


アクションボタンを追加

 アクションボタンは複数設定できるので、追加したい時に選択します。


これで、通知バーで「やった!」ボタンを押すまで通知は消えません。

ゴミ出しは完璧です!

という計画だったんですが、通知をスワイプしたら消えますね。

通知をスワイプした時の動作設定が出来るようにしてください。


モードとルーチン(職場)

 ウチのケータイはサウンドモードだとしゃべりまくります。

Voice VOXの四国めたんさんで色んな音声ファイルを作って、色んなトコに設定しています。

家にいる場合はケータイ見て確認すりゃあ良いんですが、満員電車の中とか歩行中ってケータイ出したくないですよね。満員電車だとスマートウォッチの画面みるのも難しいことありますよね。

しょ~もないことするために、ず~っとケータイ使ってる馬鹿もいますが、私には全く理解できません。何してるのか知りませんが、SNSとか動画見たりとかゲームなんでしょうね。AIが進化しなくても人類って既に終わってますね。

話がそれましたが、そんな理由で、通知音だけで何の知らせか分かるようにしています。

でもね、職場でケータイがしゃべったら恥ずかしいじゃないですか。なので職場(とその付近)ではケータイはバイブにしています。

これも、Galaxyのモードとルーチンで簡単に出来るんですよ。

簡単すぎるので説明もテキトーです。

モードとルーチンの右下にあるモードを選択します。

既に設定済みなので表示されてますが、新しいのを追加する時は

モードを追加

を選択します。



この「モード」はクイックパネルの「モード」からも呼び出せます。クイックパネルのモードアイコンをタップすると設定済みのモード一覧を選択する画面が表示されます。

私はカスタムを使ってますが、仕事を選ぶのが正解かも知れません。


あとは、名称決めたりアイコン選んだら、条件や操作内容を設定すればOKです。
ルーチンと違って位置情報が複数設定できるので、複数の場所で同じモードにしたい時に便利です。
ルーチンと違うのは、条件を満たした状態でOFFに出来ることですね。ルーチンは無効にしないとダメですが、モードはOFFに出来ます。
でも条件を満たした状態でOFFにすると、再度条件を満たさないとONになりません。
例えば、職場の位置情報で到着時を条件にすると、一度範囲外に移動して、もう一度範囲内に行かないとONにはなりません。
手動でONにもできますが、その場合は手動でOFFにするまではONのままです。
手動でONにしても、条件が満たされなくなったらOFFになるような設定が欲しいんですが、そもそも条件を満たしてなくてもONに出来るんで難しいんですかねぇ。


あとは、壁紙なども変えられるようです。

ウチのケータイは動くたけちゃんなので職場では恥ずかしいですが、ケータイなんて誰かに見せるためのものではないんで変えてません。VRM壁紙ってアプリ使って設定してるんで、たぶんモードがOFFになっても壁紙は戻りそうにないし。

モードとルーチン(起きたらPC起動)

 我が家はTVがありません。ま、あっても殆ど見ないし。

昔は、U-NEXTのケーブル契約をしていて、ヒストリーチャンネルやナショナルジオグラフィック、外国のTVドラマを見てたんですが、あれって同じ放送が何回も繰り返されるんですよね。で、キーワードで録画予約すると同じ放送が何回も録画されてウザかったんです。でも、番組表とか細かく見ないし、番組名だけじゃなくてキャストでもキーワード登録してたんで、時刻指定の録画では無理があった訳です。

でも、Amazon PrimeやDisnet+でも配信されてるし、YouTubeでも公式がアップしてたりするんで、U-NEXTも解約しました。やっぱり配信の方が見たい時に見えるじゃないですか。それに、家のTVじゃなくても見えるし。

てな理由で我が家からTVは無くなりました。

TV代わりに55インチのモニターはあるんですが、PCのモニターを4Kの28インチに替えたら、普段は55インチのモニターも使わなくなっちゃいました。4Kなら、何かしながらでも隙間に動画再生させとく領域が確保できますからねぇ。

でも、そのせいで在宅中はPC起動しっぱなしになりました。

ま、

・絵を描いたり

・動画編集したり

・調べ物したり

・ブログ書いたり

・写真編集&整理したり

してると、結局は1日PC使いっぱなしなんですけどね。

でも、寝てる間は電源OFFです。

なので毎朝ONにしなきゃいけません。

ええ、電源ボタン押すだけですよ。手間ってほどでもない。

でも、減らせる手間は減らすに越したことはない。

ってなことで、起きたらPCの電源をONにする!って事にしました。


電源ONはWOLで遠隔操作できるので、どうやって

起きたらWOLを実行するか!

ですね。

「起きたら」って難しいですよね。

ケータイのホームにショートカット置いといて押すとか・・・

それならPCの電源ボタン押せばいいじゃん!


ですよねぇ。

で、見つけました!Galaxyユーザで良かった!と思った瞬間です。

Galaxyにはモードとルーチンというアプリがあるんですね。

条件によって、色々な動作や設定変更を自動的にしてくれるんです。

Nokiaの頃から同様のアプリを使ってたので、iPhoneを使ってた頃は不便極まりないとおもってました。iPhoneほど使い勝手の悪いケータイってないと思うんですよね。今度、ようやくホーム画面のアイコンを任意の場所に置けるようになるそうですよ。初めて使ったときに、右手でもって片手で使うのに、なんでホームのアイコンが左上から並ぶんだ?って思いました。

みんな何が良くてiPhone使ってるんでしょうね?

ま、そんな事はどうでも良いんですよ。

モードとルーチンは色んな条件を設定できるんですが、

「選択したアラームを解除」

って条件があるんですね。そうです。鳴動中のアラームを解除すると何かを実行させられるんです。私は毎日ケータイの目覚ましで起きているので、まさにうってつけです。

これをトリガにして、WolでPC起動するだけですよ。


まずは、モードとルーチンを起動します。

標準のアイコンは右画像のドロアの方のものです。

 

起動すると、設定済みのルーチンが表示されます。
画面の下でモードを選ぶと、設定済みのモードが表示されます。
モードもルーチンも似たようなものなんですが、設定できる条件が少し違いますね。
私は「職場だとバイブにする」といったシーン別設定はモード、BTヘッドフォン繋いだら音楽再生や毎日繰り返しといったものはルーチンを使ってます。

右上の"+"でルーチンを追加します。


ルーチンの条件で、「選択したアラームを解除」を選択すると、


アラームの選択画面になります。
今回は目覚ましなので、一番上のを選択です。
因みに、Galaxyの時計アプリのアラームは優秀で、アラームの画面でOFF(無効)にしたときに、次の鳴動時刻までにONに戻すか選択できます。これで、翌日に設定するの忘れしてましたゴメンナサイは起きません。


次に設定するのは実行内容です。
今回はWolでPCを起動するのでアプリを選択します。


さらに、アプリの項目で実行できる内容が表示されます。
私はWolアプリで設定しているPCへのマジックパケット送信をしたいんですが、アプリのショートカットやアクティビティは選択肢に有りません。
でも、アプリを起動/アプリの操作を実行を選択すると、


アプリのショートカット(アイコンを長押しした時に表示されるアプリ特有のメニューです)も選択肢に表示されるんです。アクティビティは選択できませんが、今回の目的なら大丈夫です。
Wake On LanからARIEL(ウチのPCです)を選択します。


因みに、WolOnというWolのアプリもあるんですが、こいつはショートカットが無いので使い物になりません。


これで設定は完了です。あとは名前つけたりアイコン選んだりするだけですね。



これで、朝の目覚ましを止めるとPCが起動されます。
外出先からも起動できるようにWake on Wanを設定している人は、条件に家にいる場合とか家のWiFiに接続されている時とかを追加すれば、誤って出先からPCを起動してしまうことは無いでしょう。ウチはWolのみなので家の中でしか機能しません。

本当は、ここからGoogleアシスタントを呼び出して、「おはよう」ルーチンも実行したかったんですが、一つのルーチンからアプリの起動が1回しか実行できないんですよ。MacroDroidなら何回でも実行できるんですが、特定のアラームを停止した場合のトリガは無いですね。
しかも、アシスタントを呼び出せても「おはよう」ルーチンを自動で実行するのは無理なので諦めました。

SamsungがMacroDroid買収してくれないかな。それか、MacroDroidをモードとルーチンから呼び出せるPlugin作ってくれないかなぁ。


モードとルーチン(BTイヤフォンとXreal Air併用時の楽ちんルーチン)

ケータイで音楽を聴きます。移動中は殆ど音楽を聴いてます。

音楽を聴くのにBluetoothヘッドフォンを使ってるんですね。で、それだけだと何も問題なく使えるんです。


・BTヘッドフォン接続

・PowerAmpで自動的に音楽再生開始(アプリ設定)

・BTヘッドフォン切断

・PowerAmpで自動的に音楽停止(アプリ設定)


なので、BTヘッドフォンの接続と切断だけで音楽再生の開始と停止が自動で働きます。

でも、Xreal Airを併用すると面倒なことが起きるんですよ。

ま、ウチのはXrealになる前のNreal Airなんですが。

そもそも、Nreal Airを使うためにBTヘッドフォンを接続することは無いんです。

いや、Nreal Air接続時も音声出力はBTヘッドフォンを使うんですが、BTヘッドフォンはNreal Airよりも先に接続していて音楽を聴いてるんですね。

で、Nreal AirでDex使って映画とか見ようとすると、

・BTヘッドフォン接続

・PowerAmpで自動的に音楽再生開始(アプリ設定)

・Nreal Air接続

・Dex自動開始(Galaxyの設定)

・BTヘッドフォンの再生ボタンで音楽停止

 ↑これが上手く機能せずに音楽が停止されないことが多い

・DexでMX Playerを起動して映画を再生

・BTヘッドフォンの再生ボタンで映画の音声をBTヘッドセットに切替

 ↑これも上手く機能しないことが多い

  音楽が再生され始めたり、動画の再生が止まったり、Nreal Airから音が出たりする

・DexでMX Player終了

・Dex終了

・Nreal Air切断

・BTヘッドフォンの再生ボタンで音楽再生再開

 ↑コレも時々上手くいかない

  PowerAmp起動するか、PowerAmpのウィジェットで再生ボタン押さないと

  ダメだったりする。

てな訳で、移動中(歩行中じゃないですよ)や、茶店とかで人待ちしてる場合にNreal Airで映画を観るのを楽にするルーチン作りました。

・ルーチン1:BTヘッドフォン接続時


 BTイヤフォン接続時に音楽再生

 [条件]

  Bluetoothデバイス接続時:デバイスはBTイヤフォン

  有線ヘッドフォン:接続解除時

 [実行内容]

  サウンドモードと音量:音楽聴くので通知音を大きめに変更(66%)

  音楽を再生:PowerAmpの設定はOFFにしてルーチンで再生開始に変更

 [ルーチン終了時]

  サウンドモードと音量:ルーチン実行前の状態に戻す

  音楽を再生:音楽を停止


 元々、サウンドモードと音量で通知音を大きくするためにルーチンを使っていたので、そのルーチンに実行内容を追加しました。

 有線ヘッドフォン(これNreal Airの事です)接続中には音楽再生が始まらないようにしました。これで、Nreal Air切断時に音楽再生が再開されるようにもなりました。

 BTヘッドフォン接続時の音楽再生開始は、以前はPowerAmpの設定で行ってましたが、これだとルーチンの条件満たさなくても音楽再生が始まっちゃうので、PowerAmpの設定はOFFにして、ルーチンで音楽再生させるようにしました。

 Dex中は画面見てるので、通知音を大きめにする必要もないのでばっちりです。

・ルーチン2:Dex開始時


 Dex開始時にBT音楽停止

 [条件]

  Samsung Dex:開始

  Bluetoothデバイス接続時:デバイスはBTイヤフォン

 [実行内容]

  アプリを終了:PowerAmp

  アプリサウンドの出力デバイスを設定:MX PlayerとPowerAmpの出力先をBTに

 [ルーチン終了時]

  アプリサウンドの出力デバイスを設定:ルーチン実行前の状態に戻す

 実行内容で音楽再生を停止させることが出来ないようなのと、PowerAmp以外で音楽聴かないのでアプリ終了で音楽再生停止させることにしました。これなら確実に停止されますね。

 アプリサウンドの出力デバイスの設定もしました。これで、DexでMX Playerの動画再生したらBTヘッドフォンで操作しなくても、BTヘッドフォンから音が出るようになりました。あと、Nreal Airを接続したタイミングでPowerAmpも出力先がNrealに変わるので、BTヘッドフォンに出力先を変えています。Dex中に音楽聴くことは殆ど無いんですが、再生中にNreal Air外しても再生が止まらないようになるし、誤操作で音楽再生しちゃってもNreal Airから音楽が流れることはありません。

 条件にBTヘッドフォン接続時を入れてます。これは、ホテルのTVに接続してDex使う場合はBTヘッドフォンは使わないので、出力デバイスが変更されないようにするためです。

 唯一気になっているのは、Dex終了時にPowerAmpのサウンド出力先を戻してしまう事なんですね。殆ど無いんですが、Dex終了からNreal Air切断(抜線)まではNreal Airから音が出てしまうんです。でも、これを戻しておかないと、Dex使用中にBTヘッドフォンを切断しても、サウンド出力先がBTヘッドフォンのままになってしまうので、Nreal AirやHDMI接続したTVから音が出なくなるんですよ。順序やタイミングなどの組み合わせを全て網羅するのも大変なのでこのままにしてます。