掲示板

パケット繰越忘れを防ぐ通知ショートカットの試行錯誤をしたスレ(iPhone用)

※ショートカット公開専用に新スレ立てました。
https://king.mineo.jp/reports/267545

-----
深夜だというのに、このスレ見てて作りたくなりました。
「【MacroDroid】mineo:パスケットリマインダー【Android】」
https://king.mineo.jp/reports/266506

私、たまーに繰り越し忘れて、パケットを一夜にして大量に失ってしまうんですよね。
マイネ王のお友達から預かった大量のパケットを流してしまった事も…

カレンダー機能で毎月何度か「パケット繰越」の通知を出しているのですが、それでも自分ではもう「月初に繰り越し終わった」と思い込んでいて、でも実際には繰り越しやっていなくて流れちゃう、という状態が起こるんです。

なので、
・本当に繰越されていない場合だけ、通知が出る
または
・流れるパケットの量が通知される
ようにしておけば、忘れないのでは?という願いがずっとありました。

で、なんとなーく作りましたよ。不慣れなショートカット。これで毎月動くのか信頼性は謎。様子見中です。
→コメント欄で色々教えて貰って、大体出来上がりました。

ダウンロードはこちらから
https://www.icloud.com/shortcuts/acc85cdee08449c982ba94f5fb02bdb3
不具合報告を是非お願いします。

オートメーションで自動化すると、ロック解除した時に動きます。(確認後に実行 にしないとエラーになる)

IMG_7656.jpeg

仕組みは、
・mineoアプリ起動
・スクショを撮る
・スクショからOCRで文字を抜き出す
・「今月末無効パケット0MB」になっていなかったら
繰越処理を促す通知

もっと良い方法ありますかね?是非得意な方に教えて頂きたいです。
現状OCRが怪しくて「今月末」が「今日未」になったり、やるたびに変わって不安定です。

➪コメント欄での皆さんの協力でかなり精度が上がりました!!

毎月一定の日にオートメーションでこのショートカットを起動する予定。
それからmineoアプリは、表示設定でログインボーナスを獲得時に表示しないように事前設定が必要です。

※すみません、もう少し完成度が上がったら、誰にでもわかるように手順をきちんと書きます。今は途中なので意味わからないと思います。


88 件のコメント
39 - 88 / 88
さと
さとさん・投稿者
SGマスタ

>> もにゃぽん さん

>Appleの日本語のOCRは、そのレベルなんですネ…。

いえいえ。写真アプリで画像を長押ししてOCR使ってみて下さい。
超絶優秀ですよ!
ショートカットのOCRとは結果が違います。エンジン?が違うのかなあと推測中。
さと
さとさん・投稿者
SGマスタ

>> もにゃぽん さん

>まとめて発動するものを作ってあります。

発動って例えば何ですか?
ゲームアプリが開く前に、仕事アプリを開くみたいな事ですか?
さと
さとさん・投稿者
SGマスタ

>> ヤマ06 さん

ああ、分割した結果を見て、rangeかindexで取得する方法がわかりました。

>> さと さん

任意発動のまとめショーカットをホームに置く形で、
朝、ティータイム、外出、帰宅、などのセットがあって。

例えば、見始めるとダラダラ見続けがちなInstagramはティータイムのセットに入れてそこから起動(他の時間にあまり見ない様にする目的も)、同時にmineo(ゆずるね。宣言する)、買い出しメモ(記入する)、魔法の家事ノート(家事系Todo。家で仕事してるので休憩後にどれかする)が起動します。

その他、朝はメール、カレンダー、外出はWi-Fi、音量ゼロ、帰宅はWi-Fi、Suica(チャージする)などのセットです。

週1木曜発動のオートメーションのセットは、
Gmail、Yahooメール(業務以外のメールの整理、見落としチェック。気づくと積もり積もってる)、魔法の家事ノート(くりこし分を週末にかけて努力)、時間があったらやろうと思うことリスト(Todoにはしてない)。
のような感じです。

しばらくすると、やらなくなったりする事もあるので(´∀`; )、時々中身は変えたりしつつ。
不精&天邪鬼なので、義務化されると嫌になるんです、たぶんw

>> さと さん

ほんとだ、全然ちゃんとしてますね!日本語はやった事なかったです。
なぜショートカットだけがポンコツ…( ゚д゚)
さと
さとさん・投稿者
SGマスタ

>> もにゃぽん さん

すごいっ!
時刻が来たり外出や帰宅のGPSで動くようにしているのですね?

画像.PNG

>> さと さん

マスクのありなしでOCR性能はそれほど変らなかったです。画像左上から順番に「実験に使ったマスク画像」「アプリ画面のマスクイメージ」「マスクなしの全画面OCR結果」「マスクありの部分OCR結果」です。0MBの部分ですが、外字の区点コード0716,0751,0762として認識してました。(数字+アルファベットとして見てないですね)

あとで、掲示板内にあったショートカットに追加するかんじでサンプルのキャプチャーも置いておきます。参考程度にどうぞ。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

あらら、そうですか。
私の端末では、真ん中の残容量の単位が外字、
右側の月末無効パケットが英字(ゼロだけ全角)
となりました。

端末によって違うみたいですねー。
さと
さとさん・投稿者
SGマスタ
壁紙が影響しているのか?と想像していろいろやってみましたが、どうも関係無さそうです。
弱酸性ぷーちんさんの画像は、どう読み込んでも(写真アプリでも)外字の「Омв」になります。
私の画面では、英数字の「0MB」となります。何故でしょうね。

ゼロとMBの高さの比で判断しているのかな。

画像.png

OCRのパラメータを渡せないから出たとこ勝負になっちゃいますが、文字の形状が似ているので事前に変換しておけばそこそこ行けそう。一応、残りのサンプル置いておきます。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

おおーなんかすごい!今から解読します。
ショートカットってコメント書けたんですね、知らなかった。
さと
さとさん・投稿者
SGマスタ
ああーでもスペースや改行が無い場合もあるから、桁数で判定は危険ですね。やはり弱酸性ぷーちんさん形式で文字を辞書で変換するのが一番良いかも。
さと
さとさん・投稿者
SGマスタ
以下のいずれかを抜き出したら良いかなと思ったのですが
・改行なにがしMB
・スペースなにがしMB
・改行なにがしмв
・スペースなにがしмв

でなにがしの部分の桁数が1桁なら繰り越し済み
と判定したら良いかと…
でも前に改行やスペースが無い場合もあるのでダメですね。

やはり弱酸性ぷーちんさん形式で英数字に似ている文字を辞書で、半角英数字に変換するのが一番良いかも。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

弱酸性ぷーちんさんの辞書データをテキストで、コメントに貼って貰う事は可能でしょうか?
私もやってみようと思って。
{
"name":"char-conv-tbl","spec":"JIS-X-0208",
"dt":[
{"kuten":"0104","find":"%EF%BC%8C","rep":",","graph":","},
{"kuten":"0127","find":"%E3%80%87","rep":"0","graph":"〇"},
{"kuten":"0191","find":"%E2%97%8B","rep":"0","graph":"○"},
{"kuten":"0294","find":"%E2%97%AF","rep":"0","graph":"◯"},
{"kuten":"0316","find":"%EF%BC%90","rep":"0","graph":"0"},
{"kuten":"0317","find":"%EF%BC%91","rep":"1","graph":"1"},
{"kuten":"0318","find":"%EF%BC%92","rep":"2","graph":"2"},
{"kuten":"0319","find":"%EF%BC%93","rep":"3","graph":"3"},
{"kuten":"0320","find":"%EF%BC%94","rep":"4","graph":"4"},
{"kuten":"0321","find":"%EF%BC%95","rep":"5","graph":"5"},
{"kuten":"0322","find":"%EF%BC%96","rep":"6","graph":"6"},
{"kuten":"0323","find":"%EF%BC%97","rep":"7","graph":"7"},
{"kuten":"0324","find":"%EF%BC%98","rep":"8","graph":"8"},
{"kuten":"0325","find":"%EF%BC%99","rep":"9","graph":"9"},
{"kuten":"0345","find":"%EF%BC%AD","rep":"M","graph":"M"},
{"kuten":"0334","find":"%EF%BC%A2","rep":"B","graph":"B"},
{"kuten":"0379","find":"%EF%BD%8F","rep":"0","graph":"o"},
{"kuten":"0602","find":"%CE%92","rep":"B","graph":"Β"},
{"kuten":"0615","find":"%CE%9F","rep":"0","graph":"Ο"},
{"kuten":"0634","find":"%CE%B2","rep":"B","graph":"β"},
{"kuten":"0647","find":"%03%BF","rep":"0","graph":"ο"},
{"kuten":"0703","find":"%D0%92","rep":"B","graph":"В"},
{"kuten":"0716","find":"%D0%9E","rep":"0","graph":"О"},
{"kuten":"0751","find":"%D0%B2","rep":"B","graph":"в"},
{"kuten":"0762","find":"%D0%BC","rep":"M","graph":"м"}
]
}
辞書の4つ目の項目で外字の生データなんですが、自動的にコード変換されてるっぽいです。サンプル内では使ってない項目なので動作には影響しないです。

0AAF3AD8-EDFB-40E0-99EA-75F7E9FBDEE9.jpeg

切り出して、
312MBのときは、テキストが何も取得できなかったのに、
0MBのときは、
「OMB」が取得できました。

画面全体にすると、「今月無効パケット」の部分は何かしらバケて取得出来るんですけど、切り出すと消えてしまいますね。謎です。
さと
さとさん・投稿者
SGマスタ

IMG_7636.jpeg

>> 弱酸性ぷーちん@ブタノアブラスキー さん

データありがとうございます。

あらら、4つ目の項目とは、外字などの全角文字のことですよね?
マイネ王投稿時に別の文字にコード変換されちゃってるという事ですか?

私のショートカットでは、エンコードせずに、そのまま生データで変換する仕組みで作ってしまいましたorz
さと
さとさん・投稿者
SGマスタ

>> アッカリ〜ン@_@….,….,…😅 さん

>312MBのときは、テキストが何も取得できなかった

ええっほんとですか。それは困った

>> さと さん

ちょっと余白の部分を多めにしたら、取れたかもしれません。
何か微妙ですね。

>> さと さん

区点コード(0647)の"%03%BF"の部分が間違ってました。正しくは"%CE%BF"です。掲示板にペーストした生データの部分もバイナリモードで確認したら、UTF-8で正しく反映されていました。表示フォントから違うように見えて疑ってしまいました。

(●´ω`●)スンマセン
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

そうそう、マイネ王はユニコードに変換するのでした、思い出した。
さと
さとさん・投稿者
SGマスタ
皆様のお陰で大体できました。
皆様の環境では動きますでしょうか。
https://www.icloud.com/shortcuts/dbb3d9e17f934366ac57f2d9afbe240f

オートメーションは
・すぐに実行
・実行時に通知ON
にすると良い感じかも。
さと
さとさん・投稿者
SGマスタ

IMG_7646.jpeg

>> アッカリ〜ン@_@….,….,…😅 さん

右上の画像部分を保存して読み取ってみたら、私の環境では全文字読み取れました。
iOSのバージョンによったりするんですかねー

>> さと さん

切り取り方を少し変えたりすると、読めたりはしていました。
化けていましたが…(^_^;)

>> さと さん

iPhone7 iOS15.7.9 という古い環境で動きました。
1回目の起動では、mineoのロゴをスクリンショットしてしまい、2回目で成功しました。
さと
さとさん・投稿者
SGマスタ

>> アッカリ〜ン@_@….,….,…😅 さん

>1回目の起動では、mineoのロゴをスクリンショットしてしまい

あらら、そうですか。なんでだろう。
ショートカットで撮ったスクショがmineoロゴだったんでしょうか?画面上部の?
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

画像切り取り後の図ありがとうございます。
大分下の方を切り取っていて、ギリギリですね。

もう少し上の方から切り取るように変えようと思います。
iPhoneのバージョンによってかなり違いそう…

私はiPhone15 pro maxなので、iPhoneの中で一番画面が長いのかも。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

あ、こんな画面が最初に出るのですね。

IMG_1896.jpeg

なんか出来とる〜
ふ、複雑や…( ゚д゚)

やってみましたところ。
アプリの起動の方が遅いことの方が多いかも。上
通信の速度かなぁ。。深夜フリー中。
アプリ立ち上げたままだと、見てたページをスクショしてまうネw
ホームに戻しとくか、終了しとくか。

11Pro Maxなんで画角はダイジョブ〜
さと
さとさん・投稿者
SGマスタ

>> もにゃぽん さん

動作確認、ありがとうございます。
なるほど起動の方が遅いんですね。
アッカリーンさんも同じ事書いてましたね。
では、2~3回スクショのトライしてから、メッセージ出すよう作ってみましょうかね。
さと
さとさん・投稿者
SGマスタ
2回スクショ撮って2回とも、今月末無効パケットが無い場合に、エラーメッセージを出すように変更しました。
https://www.icloud.com/shortcuts/dbb3d9e17f934366ac57f2d9afbe240f
色々な事ができるんだと感心するばかりです。
この通知は自分には必要無いですが自分も何かプログラムしたい気持ちになりました。
今は、mineoアプリを起動するたびにスクリーンショットを取るかんじですよね。オートメーション自動化の仕組みはそのままで、リマインダーをうまく組み合わせるとショートカットの主動作を省略したり、実チェックのタイミングを調整しやすくなるんじゃないかなー

ちょっと実験してみたので、後でサンプル込みで投稿しておきます。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

おおーありがとうございます。楽しみ。
さと
さとさん・投稿者
SGマスタ

>> かくいち さん

ショートカットのギャラリーを見たら、ゲームとか凄いのがありますよ
https://support.apple.com/ja-jp/guide/shortcuts/apdd018638ca/ios
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

リマンダーに記録して、次回実行に役立てるというわけですね。

説明画像.png

>> さと さん

多分、そんなところだと思います。
こちらでも似たような物を作っていて、違いは繰り越しが必要な時だけ申し訳程度に通知するものです。ただ、mineoアプリ起動の度にスクリーンショットのチラつきが気になってたんですよね。
で、リマインダーをチェック条件に利用すればうまくいくんじゃね?という発想で組み込んでみたら使えそうだったので概要を図の順番で説明します。

最初はリマインダーの作成から始まります。これはショートカットで利用する為の初期設定になります。やり方は「ショートカット」という名前でリストを作り(図1)、中に「無効パケット確認-xxx 」というタイトルでリマインダーを作ります(図2)。リマインダー詳細で設定するのは「タイトル=無効パケット確認-xxx」「日付=適当」「繰り返し=毎月」の3項目です(図3)。図2では毎月4日,14日,24日に発動する複数のリマインダーを作っていますが実験したかっただけなので、普通は月次で発動するものを1つ用意すればいいと思います。これ以降はショートカットでステータスを参照したり変えたりするのでリマインダーアプリで直接チェックを入れることはないです。

次はショートカットで操作する実装の部分です。こちらでは自作ショートカットに組み込んで動いていますが、そのまま公開する訳にもいかないのでサンプル(図4)を掲載します。サンプルは初期処理/主処理/後処理の3つのブロックに分かれます。

初期処理の部分がリマインダーを参照する実装です。未実施のリマインダーが無ければ、スクリーンショット前に終了するといった実装にも応用出来ます。後処理は未完了のリマインダーのステータスを「完了済み」にする実装です。「完了済み」にすると翌月までスクリーンショットを含むショートカットの実チェックを回避する事ができます。(こちらでは「0MB」を見つけたら「完了済み」にしています。)

図5はサンプル実行時にリマインダー(図2)がどのように引き渡されているかの確認画面です。図6はリマインダーを「完了済み」にした後の表示で、翌月に繰り越されていることを確認した画面です。「実行済みリスト」にも反映されていていつチェックされたのかもトレースできます。

さとさんのショートカットは再帰呼び出ししているので、すぐ利用できるか分かりませんが機会があればどうぞ。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

ありがとうございます!私もやってみます!
さと
さとさん・投稿者
SGマスタ
リマインダーで処理済みならスクショ回避、
という仕組みを作ってはみたんですが、やはりゼロMBかどうか、画面を確認しないと不安で。
例えば手動でうっかりリマインダー完了にしてしまわないかとか。

画面のスクショは、数字MBが見つからない場合だけ2回撮影(再帰呼び出し)、見つかったら1回だけ撮影で終了、なのでチカチカして困る、という事は無いので、まいっか、と思っています。

弱酸性ぷーちんさんは、無条件繰り返しアクションでスクショを複数回撮ってるのですかね?
さと
さとさん・投稿者
SGマスタ
リマインダーを新規に作る、部分までショートカットでやってみましたが…
https://www.icloud.com/shortcuts/6916ed2e303448189ebab84039249f12

あとはメイン処理から戻り値を戻して、繰越済みなら来月のリマインダーを作製するようにしました。
(最初にリマインダーをショートカットから作るときに繰り返しの設定ができなかったので)

無題.jpg

>> さと さん

mineoアプリのスクショを複数回撮ることは考えてないですが、スクショがうまく取れないことを前提とて考えました。空振りも頻度を上げて、そのうちOCRが成功する事もあるかもね的なアプローチです。読み返してみたら勘違いしてた所もあったので図で整理しました。
あと、ショートカットも拝見ました。リマインダーの生成は試しにやってみましたが、「繰り返し」の項目は設定も取得も出来ないんですね。リマインダーの初期設定の部分と、日付の先送り部分まで実装するとちょっと大変そう。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

そうですか、mineoアプリ起動時に毎回実行されていたのですね。それで毎回スクショのチカチカが気になったという訳ですね。

私は、普段ほとんどmineoアプリを起動する事が無いので、アプリ起動自体をプッシュで促す必要がありました。

ショートカットからリマインダーを先日付で作成すると、その日時が来たら通知が来るのかと思いきや来ないですね。
通知が来ると間違えて完了済みにしてしまうという、心配があって、リマインダーではなくメモアプリかテキストファイルにフラグを持たそうかとも考えていましたが、、、
なんか私の場合、フラグでスクショ制御する必要性を感じないので作る意欲が無くなって来ましたorz

先日付のリマインダー作成は、私のサンプルで書きましたが、0MBかの判定と、日付の足し算で簡単にできます。
https://www.icloud.com/shortcuts/6916ed2e303448189ebab84039249f12

なぜショートカットでリマインダー作成からやったかと言うと、マイネ王でショートカット配布して使って貰おうという前提にしているからです。
初期設定してもらってスペル間違いなどあると動かなくなるので。作った本人なら気づいて直せるけど。
さと
さとさん・投稿者
SGマスタ
ショートカットの共有って、更新しても反映しないのですね。更新の都度都度、共有の操作をする必要があるんですね。
(クラウドのファイル共有とかとは違うみたい)

という事で、バージョン0.3にしています。
https://www.icloud.com/shortcuts/acc85cdee08449c982ba94f5fb02bdb3

>> さと さん

自分専用ではなく、他人に配布すること前提だったらまだこのスレも暫く続きそうですね。こちらはショートカットの製作は一旦終了していて、これからOCRの性能についていろいろ実験するつもりです。もし面白い発見があったらお知らせしますよ。
さと
さとさん・投稿者
SGマスタ

>> 弱酸性ぷーちん@ブタノアブラスキー さん

OCRの実験の結果を楽しみにしています。

ショートカットの配布は、オートメーションの設定方法含めて、画像付きで説明を書いて別スレにしようかなと思っています。
不具合報告は、新スレになるかな、と。
使ってくれる人が居られるかわかりませんけどね。
コメントするには、ログインまたはメンバー登録(無料)が必要です。