面白いアプリがリリースされていました.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS18.1.1
スポンサーリンク
オートメーション管理を補助する
標準のオートメーションは名前を付けたりフィルタするといった機能が一切ないので不便ですよね.
このアプリ自体にオートメーションを操作する機能はありませんが、独自のログを用意し、記録を取ったり専用の変数を管理することができます.
アプリをインストールして開くと、通知の許可を求められます.
その後アプリ内で使用する日付フォーマットを12時間か24時間のどちらにするか選択します(日付フォーマットは後で変更できます).
日付フォーマットなど各種設定はホーム画面左上の歯車アイコンから行えます.
"オートメーション"は"Controller"と"Scheduller"の二種類あり、どちらにもサンプルがひとつずつ用意されています.
(ややこしくなるのでAutomation Controlで作ったものは"で囲って"オートメーション"と表現します)
画面左上にある矢印アイコンをタップすると各"オートメーション"を並び替えたり見た目を変えたりできます.
新規作成
"オートメーション"を追加するにはホーム画面右上の+アイコンをタップし、以下を入力していきます.
- Type:ControllerかSchedulerかを切り替えるものです
基本は同じですがSchedulerは日時や曜日でフィルタする機能があります - Name:"オートメーション"の名前です
- Description:説明欄です。"オートメーション"の表示形式によって見れない場合があります
- Shortcuts input (optional):"オートメーション"で使える変数です。後述しますがアクションとして取得したり上書きができます
- Select Tags:"ショートカット"側で追加したタグを指定できます
- Enabled:Statusの値(ON/OFF)を決めます。あくまでもステータスなのでオフ(スイッチがオフの状態)でも機能します
設定を終えたら画面右上の"Add"をタップし、さらに"Yes"をタップします.
するとショートカットアプリのオートメーションの画面に飛ばされます.
この時点でオートメーションを作らないといけないとかそういうわけではないので移動しても問題ありません。
ちなみにオートメーションと銘打っていますが実際には各種機能を持つアクションを追加する形なので、(作者の意図に反しますが)実はオートメーションでなく普通のレシピでも使えます.
追加後のオプション
作成した"オートメーション"に戻ると、追加項目が現れます.
"Date & Time Conditions"は"Scheduler"のみのオプションで、日付や曜日時刻で働くよう制御できます.
また"Automatic Toggle Timer"では指定した時間後にStatus(Enabled)をトリガ(オンオフ切り替え)することができます.
各アクション
上の画像でもわかる通り、Automation Controlはアプリ側で"オートメーション"を作成したうえで複数のアクションを用いてオートメーションや通常のレシピに組み込んで使います.
そのうち一部のアクションは推奨版に切り替わっているためここでは紹介しません(アップデートですでに削除されているかもしれません).
また"Backup Data"や"Delete Controller or Scheduller"、"Create New Controller/Scheduler Item"あたりのアクションは特に説明する程でないため省略します.
また多くのアクションについて、Automation Controlでの編集画面が開きっぱなしだと実行結果が反映されないため、編集画面を弄ったらその度確実に"Save"で抜けましょう.
記録系
Automation Controlが提供するアクションは上で述べたものを除いて記録に関するものとデータを取得するものに大別されます.
まずは記録に関するアクションから紹介します.
Log Last Run for Controller/Log Last Run for Scheduler
"Log Last Run for Controller"は指定のControllerのログを取るアクションです.
Schedulerの場合も同じです(他のアクションを見るに、いづれ統合されてもおかしくないと思います).
記録系のアクションはアクション一つで記録が取られるので試しに実行してみるといいです.
正しく記録された場合、そのログは各"オートメーション"の"View Log"から参照できます.
記録される内容は日時と時刻ですね.
Manage Item Input Variable
"Manage Item Input Varible"は指定した"オートメーション"の変数を操作します.
"Select Item"で"オートメーション"を指定し、"Action"では変数を取得するか置き換えるかを選択できます.
"Variable Value"に希望の値を入れておきます(当然"Action"で"Get Variable"を選んだときは反映されません).
実行して"オートメーション"を覗いてみると、確かに"Shortcuts Input"の値が変わっています.
しかしこのアクションでログは記録されないようです.
この辺の違いは後半にまとめることにします.
Manage Logs for Item
"Manage Logs for Item"は指定の"オートメーション"のログを操作します.
"Select Log Action"を見ると"Log Last Run Time"と"Get Last Logged Run Time"の2項目あります.
今回は記録系の紹介なので"Log Last Run Time"を選ぶことにします、実行時間が記録されるはずですね.
実行して"オートメーション"のログを見ると確かに書き込まれています.
Set Status of Item(s)
"Set Status of Item(s)"は指定した"オートメーション"のステータス(編集画面にある"Enabled"スイッチ)のオンオフを操作します.
"Action"を見ると、オンとオフ、そしてトグル(切り替え)の3つから選択できることがわかります.
操作した結果はアプリのトップ画面からも確認できます.
取得系
データを取得するタイプのアクションは基本的には"オートメーション"を指定するだけです.
取得系のアクションは以下があります:
- Get Item Details (JSON)
→"オートメーション"の情報をJSON形式で取得 - Get Status of Item
→"オートメーション"のステータスを取得 - Manage Item Input Variable
→"オートメーション"の変数を取得 - Manage Logs for Item
→"オートメーション"の最新のログを取得
ただ一部のアクションは注意が必要なのでそこだけ挙げておきます.
この"Get Item Details (JSON)"は指定の"オートメーション"の情報を返すアクションです.
"Item Type"で"Controller"と"Scheduler"のどちらかを選び、"Filter Type"でオンオフや条件の一致などで更にフィルタできます.
当然このままでは場合によって複数拾うことになります.
このままではショートカットでは辞書として扱えないため、場合によっては「テキストを置き換え」や「一致するテキスト」、「ファイルにフィルタを適用」などを使ってひとつに絞る必要が出てきます.
というわけで取得系のアクションを一括で見てみます.
なお画像の通り、"Manage Item Inpu Variable"の"Action"は"Get Variable"、そして"Manage Logs for Item"の"Select Log Action"は"Get Last Logged Run Time"を選んでいます.
結果は画像の通りです.
"Get Item Details (JSON)"や"Manage Item Input Variable"は値そのままを返しますが残りの二つは余計な文言が入っておりそのまま使うと面倒な場合がありそうです.
記録されるもの、されないもの
アクションによってログに記録されるかどうか、ステータスや変数はどうか…がバラバラなのでここで整理しておきます.
Action | Option | 変更対象 | ||
---|---|---|---|---|
Status | Input | Log | ||
Get Item Details(JSON) | - | - | - | |
Get Status of Item | - | - | - | |
Log Last Run for Controller | - | - | ◯ | |
Log Last Run for Scheduler | - | - | ◯ | |
Manage item Input Variable | Get Variable | - | - | - |
Set Variable | - | ◯ | - | |
Manage Logs For Item | Log Last Run Time | - | - | ◯ |
Get Last Logged Run Time | - | - | - | |
Set Status of Item(s) | ◯ | - | - | |
*Automatic Toggle Timer | ◯(Toggle) | - | - |
最後の"Automatic Toggle Timer"は編集画面から使うトグルタイマーのことです.
〆
贅沢を言えば、最新だけでなくもっと前のログも取り出せればよかったんですけどね.
少なくともレシピやオートメーションの最初にログを取得しておけばとりあえず前回の情報はわかります.
あとログと共に変数も記録できたらより細かい情報として記録できて使い勝手が上がりそうです.
ウィジェットがあっても良さそうなアプリですが今はないようです.
紹介だけで結構な内容になってしまったので、実践や応用はまだ今度書きたいと思います.