MacroDroid の文字列タップで、Google フォームのラジオボタンが押せなくなりました

スマートホーム

【 2024.07.11 追記 】

また押せるようになっていました!

【復活】MacroDroid の文字列タップで、Google フォームのラジオボタンが押せるようになりました!
先日、MacroDroid の文字列タップで、Google フォームのラジオボタンが押せなくなったと書きました。 私は Google スプレッドシートを使って体調管理などをしています。 その際の体重や睡眠時間の入力、お通じの回数などは Go

いつも MacroDroid を便利に使わせてもらっています。開発者の方には感謝しかありません。MacroDroid 本当に大好きなんですよね…。

私が1日に何度も使っているのが、『Google フォームを自動で押してもらう』ことなんです。

MacroDroid と NFC タグで自動化
最近、MacroDroid と NFC タグでいろいろ自動化するのが好きです。 もともと MacroDroid は大好きでいろいろやってもらっていました。 本当に便利なアプリで、開発者様には感謝しかありません。もちろん、プロ版を買っています
Google フォームとスプレッドシートで健康管理をする
Google スプレッドシート、本当に便利ですよね。ただ だし。本当にありがたい。 私はフリーランスで仕事をしているので、仕事の管理とかも Google スプレッドシートを使ってやっています。案件が完了したら、そのまま請求書にデータを反映さ

お通じがあったとき、朝散歩に出かけるとき、点鼻薬を使ったときなんかに、毎回 Google フォームで作ったサイトに行って、該当のラジオボタンを押して『送信』を押します。そうすると、Google スプレッドシートに1レコードずつデータがたまっていきます。それを別のシートで加工して表示しています。それが↓です。正確には、そのシートを参照して表示している別のスプレッドシートですが。

点鼻薬なんかは、10年以上前は1日に5回も6回も、花粉症の時期だと10回以上も使っていて、ちょっと病的だなと思っていました…。ちゃんと記録して現状を把握、体質改善などに取り組んだ結果、今はほとんど使わなくなりました。嬉しい。2024年の年始はインフルエンザの影響で乱用していましたが、それもなんとか治まりました。

冷水シャワーを再開したら、鼻詰まりが解消されました
年末に家族でインフルエンザにかかりました。 そこから丸々1ヶ月以上経っても、鼻詰まりが治らなくて。1/1~2/9での点鼻薬の平均使用回数は3.6回/日でした。 夜中も鼻詰まりで起きちゃって、もういやでいやで…。 そもそも、私は鼻詰まりがすご

そんな感じで Google フォームを使っているんですが、毎回自分でクリックするのもちょっと面倒だったので、NFC タグと MacroDroid を使用して自動でクリックできるようにしていました。

しかし最近、なぜか Google フォームのラジオボタンを、MacroDroid が押してくれなくなったんです…。いつ頃からかな、5月半ばくらいからかな。最初は、私の使っている Google Pixel 7a だけだったので、端末が原因なのかと思いましたが、しばらくするとうちにある働き者のタブレットでもできなくなりました。

Web 会議中を家族に知らせる方法
現在、夫は週に2回の出社以外は在宅です。在宅中にちょっと困るのが、 寝室でドアを締めて仕事をしている夫に、今話しかけていいのか ということです。以前は、余っていたスマートプラグに小さな電球を挿してIFTTT と Google カレンダーを連
SwitchBot リモートボタンで子どものお通じ記録
うちの子供達はなかなかの便秘気味です。 私自身毎日快腸ですし、1日スッキリできないと次の日必死で努力します。(多めに難消化性デキストリンを飲む、腸もみなど。ファイブミニも常備していますが…まぁ、あれはジュースですね) そもそもの、子供のお通

どう頑張ってもダメなので、仕方ないからマクロを修正しました。
いままでは

  • アクション
    • Web サイトを開く → Google フォームのアドレス
    • 待機5秒
    • UI 画面操作 クリック[{lv=体調}]
    • 待機1秒
    • アクションブロック 縦スクロール(下にスクロールする動きをアクションブロックにしたもの)
    • UI 画面操作 クリック[送信]

というのを『アクションブロック』に『体調管理入力』として登録していて、入力変数に『体調』というローカル変数を指定していました。
なので、例えば『朝散歩』を記録したい場合は、

  • トリガー
    • NFC タグ 朝散歩 (←という名前のNFCタグがある)
  • アクション
    • アクションブロック 体調管理入力(体調=朝散歩)

としていました。…正確には、この後『Pikmin Bloom』を起動するアクションも入れていますが、今は割愛。
アクションブロックの変数『体調』に、Google フォームのラジオボタンの項目を指定すれば、Google フォームを開いたときにその文字列を見つけてタップしてくれる、という感じで使っていました。
が、その文字列タップが使えなくなってしまったので、アクションブロック『体調管理入力 2』を新たに作成し、IF で場合分けをして泥臭く X 座標と Y 座標をそれぞれ入力してタップするように設定しました。そして、アクションブロック『体調管理入力』のアクションの一番上に『アクションブロック 体調管理入力 2』というアクションを入れ、それ以降のアクションをすべて『無効』にしました。
これでまぁ一応、再度動くようにはなりましたけど…。なんだかなぁ。

文字列タップのいいところは、レイアウトが多少崩れたり変更になったとしても、その文字列をちゃんと探してタップしてくれるところなので、今度は Google フォームのほうがなんか変更になっちゃったとしたら、また座標を計測しなきゃいけないんですよねー。めんどくさいなぁ。
よくわからないのは、最後に『送信』のボタンをタップして終了するんですが、その『送信』のテキストはちゃんとタップしてくれているんですよね…。Google フォーム側で『朝散歩』とかのラジオボタンの入力を必須にしているので、空のレコードが蓄積されることはないんですが、『この質問は必須です』と赤字で出ているのでタップはしてるっぽい。
ラジオボタンの文字列に、何が起こったのか…? 「画像になっちゃったのか?」と思ったんですが、ちゃんと文字列っぽく選択してコピーはできるんですよね。HTML もしくは CSS の何かが何かしてる…? 20年以上前のHTML と CSS しかわからないので、しんどい…。

ただまぁ、MacroDroid の機能である『UI 画面操作』の中に『アプリで自動判定』というのがあるんですが、今まで使ったことがなかったんです。いつもだいたい『テキスト内容』『XY 座標』のどちらかだったので。座標を取るときは、これまた MacroDroid で別に作ってある『座標表示』のマクロを使っていました。

  • トリガー
    • 空のトリガー (ショートカットとかで起動させるのでトリガーはナシ)
  • アクション
    • 起動: 設定
    • 待機2秒
    • UI 画面操作 クリック[設定を検索]
    • 待機2秒
    • UI 画面操作 貼り付け[ポインタの]
    • 待機2秒
    • UI 画面操作 クリック[ポインタの位置]
    • 待機5秒
    • UI 画面操作 クリック[ポインタの位置]

アクションの一番上の『起動』で設定画面を出し、次の『設定を検索』タップで検索画面に移行します。『ポインタの』という文字を貼り付けると『ポインタの位置』という項目が検索されるんですが、その次にこれをタップしたいので、検索されたものと検索ワードを取り違えないように『ポインタの』でやめています(笑)。最後の待機だけ5秒なのは、画面遷移の時間を考えてです。

これで画面の XY 座標が表示されるようになるんですが、『アプリで自動判定』を使用すると、MacroDroid 側で XY 座標をちゃんと取ってくれるみたいで! こんな便利機能があったんですね! …まぁ、端末や対象のアプリによっては座標をちゃんと取れない場合もあるみたいで、結局『ポインタの位置』で自分で取らなきゃいけないこともあるんですが…。
まぁ、この機能に気づけたのは嬉しかったので、いいか。

ちょうどここ数日で MacroDroid のバージョンが新しくなったっぽいので、タップできるようになってるかな…と確認してみたんですが、まだなっていないようです。これは MacroDroid のバグなのか仕様なのか、はたまた何が悪さをしているのか…。わからないですが、対処したからまぁいっか。
いつか直るといいなぁ。

コメント

タイトルとURLをコピーしました