オートメーションも使ってAppleWatchからLogseqのiCloudでない方の記憶域に追記
相変わらず忙しくて、AppleWatch上でできるものは全てそれで済ませたい。
Logseqのグラフは、iCloudを使った同期では重複ファイルなどの問題が発生するので、ローカルストレージに保存してそれをSyncthingで同期させている。
基本的にAppleWatchからアクセスできるのはiCloudドライブ内のファイルのみで、iPhoneのローカルストレージにはアクセスできない。
以前なら、Toolbox Pro for Shortcutsアプリを使って、AppleWatchからiPhoneのローカルフォルダー(ファイルアプリで「このiPhone内」と書かれた場所)に書き込めた。
しかし、現在はこの方法は使えなくなっている。
そこで、
という2段階方式にしてみた。
1段目と2段目のつなぎをオートメーションでおこなう。
AppleWatchのショートカット
- Apple Watchから音声入力した内容を、iCloud Drive内のShortcutsアプリのフォルダーに書き込む。
- 集中モード「おやすみ」をオンにする。
iPhoneのショートカット
ただ、「おやすみ」がOnになっても、それをトリガーにしたオートメーションが始まるまでに5秒から10秒のディレーがある。
その間に次の内容をApple Watchから入力してしまうと、前回の内容が消えてしまう。
そこで、iCloud Drive内のファイルに追記するようにしてみたが、タイミングによってはiPhone側の処理とコンフリクトしてしまう。
なので、AppWatchから入力した内容は、入力ごとに別のファイルに保存するようにして、ジャーナルファイルに追記したものだけ消すようにした。これならタイミングが悪くても入力した内容が消えることはなく、次回の音声入力時に一緒に追記されるはずだ。
AppleWatch側のショートカットは初回だけiPhone上で起動しておく。
そうすると音声入力した内容の保存先フォルダがShortcutsフォルダに作成される。
またこの時、各種アクセスの許可を与えておく。
ショートカット: 時計からLogseqローカル(AppleWatch) 1
ショートカット: 時計からLoseqローカル(iPhone) 1
「おやすみモード」がオンされたらショートカット「時計からLoseqローカル(iPhone) 1」を起動するようにオートメーションを設定
AppleWatch側のショートカットを実行すると最後におやすみモードがオンになる。
すると、やがてiPhone側のショートカットが自動実行され最後におやすみモードがオフになる。
何回か実行した結果。5つ追記されている。
ソート機能が必要だったので、
も利用した。
UNIXタイムはショートカットのみでも取得できるが、これもActionsを使用した。