【自動化】MacroDroid Part2【マクロ】
■ このスレッドは過去ログ倉庫に格納されています
その他情報源やFAQ、テンプレ的なものがあれば補足お願いします 日本語参考情報
MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう
https://sp7pc.com/gadget/macrodroid/19966
「RPA 関係」のブログ記事一覧-駅前散策ブログ@かわさき HOT
ttps://blog.goo.ne.jp/oprsfr3saku/c/9af4b5a1ad5b7fed55eaf4752ea5a195
ググる
https://www.google.com/search?q=MacroDroid 前スレ>>999
タイミングじゃなくて100%最初のif文がおかしくなるのよ
今までどんなにネストが深くてもおかしくならなかったから不思議
俺がバグってると思って調べてもバグってないからむしろ怖いわ >>5
どうもネストが怪しい
この場合a→b→c→c→fと流れcが2回実行される
https://i.imgur.com/ROrY6F4.png 条件に直近に実行したマクロと発動したトリガーがあるけど
組み合わせて直近に実行したマクロと今実行しているマクロのトリガーが同じだったら
みたいなことできんかな? >>7
・指定時間以内に指定したマクロを実行している/していない
・指定したトリガで現在実行中のマクロを起動した
これだけの情報だと判定できないね
前に実行したマクロの方のトリガでマクロ名とタイムスタンプなんかをグローバル変数に記録しといて後で実行するマクロでチェックすれば近いものは実現できると思う BTイヤホンのボタンで音声アシスタント呼び出し操作を行った時、
選択肢として
・Googleアシスタント
・AmazonAlexa(インストールしていれば)
の他にMacroDroidも表示されるんだけど、これをマクロのトリガーとして
設定・使用するにはどうすれば良いのか、分かる人おる?
「メディアボタン」等々を一通り設定してみても無反応で… >>9
暗黙的インテントを受け取ったときのアクティビティ(アプリ)選択かな?
インテント受信トリガーでマクロ起動できるかも >>10
レスありがとうございます い、インテントか…全然詳しく無いす(-_-;)
まずイヤホンで操作した時に、どんなインテントが送られてるのかを
確認しなきゃならん訳ですね? そういう用途のアプリとかあるんでしょうか… >>11
インテントはマニフェストを見れば分かるけど音声アシスタント起動を掴んてトリガーに流すってのを実際にやったことはないんで
ボタン操作が取れないって話だけどベータ機能のMedia Button v2でも取れないのかな? >>12
Media Button v2も試してましたが全て無反応でした
送られて来るインテントを確認するアプリも使ってみたんですが、上手く動かず
マニフェストも何処を確認すれば良いのか…お手上げです(-.-)
公式にも質問しましたが「音声コマンドには対応していません」との回答
…いや、
「アシスタント呼び出し操作で一覧に出て来る"MacroDroid"をトリガーとして使える?」
と訊ねたんだがw >>14
すみません、今回は音声コマンドを使ってインテント受信したい訳ではなく
BTイヤホンのボタンでアシスタント呼び出し操作を行った時に(声は発する事なく)
MacroDroidの特定マクロを実行出来れば、と考えていました テストまでして頂いたのに
申し訳ないです…
>>9の通り、ボタンで呼び出した段階でMacroDroidが一覧に出て来る為
それをトリガーにしてマクロ叩けるのかな?と思ったのですが… logcatで拾うと
ボタン押下時に"android.intent.action.VOICE_COMMAND"が発行されていたので
これをインテント受信に入れてみましたが駄目でした >>15
あ、いや
それは分かってるんだけど
AutoVoice経由でインテント起動が可能だと分かってるわけだから
AutoVoice側の音声認識設定でタイムアウトを1秒とか0秒とか極端に短くしてMacrodroid側のマッチ文字列を「なし」または*に設定すれば希望に近いものになるかなと
音声アシスタント呼び出し時のデフォルトアプリをAutoVoiceにすればアプリ選択すら不要だし >>9のおかげてTaskerプラグインのAutoVoice試せて良かった
他にもTouchTaskやTermux:Taskerあたりが便利 >>16
度々すみません 試してみた所、Macrodroid側のマッチ文字列を*にしていても
BTイヤホンから音声アシスタントを呼び出した状態で何も話さないでいると
「聞き取れませんでした」のエラーで先へ進まず、マクロは実行されない模様でした。
(何かしら単語を発すれば、実行されます)
しかしながら、MacroDroid登録時にトリガーをプラグイン→AutoVoice→BT Pressed
に設定すると、イヤホンからアシスタント呼び出し操作をした時点で瞬時にマクロが
実行されるようになりました。
AutoVoiceをご紹介頂けなければ、辿り着けませんでした。ありがとうございました! LINEの通知をトリガーにしてメール送信を行っているのですが、何故か毎回2回トリガーが発動されメールが2通になってしまいます。
そもそもLINEの通知が2回出るというLINEの仕様なのでしょうか? >>19
変数で秒数を指定したストップウォッチをトリガーにするとバグる
他は気づいてないかな
あれ?って思ったものは全部原因が特定できた
ありがちなのはクローンで取っといた他のマクロを停止するのを忘れて重複実行されてるとか
ストップウォッチや変数更新トリガーを他と共有してる場合に予期しないトリガー発動があるとか
システムログに加えて自分でユーザーログを書き出して追っていけばデバッグ捗るよ >>20
コメントありがとうございます。
ログ見ると同じトリガーが2回発動しているんです。
特に細かい設定もしてなくて、単純に通知拾ってるだけなのですが。
ちなみにSMSをトリガーにして同じことやると1回だけなので、LINEの問題の様な気がしています。 >>19
「常駐表示の通知を無視する」や「複数トリガーの発生を1つと扱う」にチェック入れてみた? >>19
通知記録系のアプリで見てると実際2回(メッセージ書いてるのと空白の)出てるんだよね
それのせいじゃないかな トリガーや条件で
特定位置のタップや、画面認識ってできますか? >>23
そうなんです。多分これなんです。
最初の1回は無視できると良いのですが。 >>26
空の文字列だと分かってるなら簡単に場合分けできるのでは?
トリガーでanyで引っ掛けててもアクション側でMacrodroidの組み込み変数(*Notificationで始まる)から取れるよ タップや音量操作でもユーザーの入力全般をトリガーにするものはありますか? beta使ってるけどggrが原因でWiFi周りの扱いが変更になった模様
MacroDroidヘルパーファイルを追加で入れないとダメになった
現状だとWiFi接続トリガーでSSID指定が出来なくなってるな
作成済みのWiFiトリガーは取り敢えずそのまま動いてるが
いずれ使えなくなりそう こちらのマクロで、特定のアプリで、GPSを使用せずに基地局情報のみで測位するというのは可能でしょうか?
android8までは位置情報サービスで高精度(GPSも利用)、省電力(GPS不使用で基地局の電波から測位、これをやりたい)、端末のみ(GPSのみ)とあったと思うのですが、android9以降GPSを切る方法があるのか伺いたいです。 >>31
OSが提供する機能を使ってるだけだからアプリ側でどうこうできる問題じゃないよ
各Androidバージョンによる差異は以下の通り
https://support.google.com/accounts/answer/3467281?hl=en >>32
>>33
ありがとうございます。
よそのスレでできると見たので何かしら方法があるのかと思ったのですが、難しそうですね。 振動パターンが少ないから自作したいんだけど
ショートカット起動から自作パターンを呼び出せるアプリやプラグインはないですかね? >>37
試したけどショートカットから呼び出しはできなかった
MacroDroidと連携させられればそれでいいんだけどね >>31ですが、
Android9ならばMacroDroid使うことで、GPS切りでの位置情報取得ができました。
Android10だとその選択肢が出てこなかったので、8までは標準機能、9まではいじれる。10以降は難しいということなのかもしれません。
ありがとうございました。 >>40
そういう事じゃなくて、簡単に言うとBluetoothや基地局の取得に使うAPIをGPSのAPIに載っけちゃったから
位置情報サービスをオンにしないとそのAPIが利用出来なくて取得その物が出来ない
どうも>>32>>34はそれを伝えたいっぽいんだけど回りくどいと言うか難しく言い過ぎて誰も理解出来ん >>39
これとVibronsで何とかなると思ったけど
アプリが立ち上がるだけで振動しませんでした >>42
やりたい事はショートカットから自作パターン呼び出しだったっけか
役に立たなくてすまんね
そこまで興味ないんであとは自分で試してみてよ
macrodroidで補ってあげればやりたい事が実現できそうだね >>43
いい感じだけど有料だね
無料だと1日1回広告を見なければいけない んじゃTermuxのtermux-vibrate使えば? beta版使ってる人おる? 暫く前から、特定のWiFi接続をトリガとか
条件に指定しようとしても、SSIDが選択肢に上がって来ないで
「ネットワーク指定なし」しか選べなくなってない?
SSID圏内・圏外トリガの時は今まで通り、一覧から選択出来るんだけども… >>49
v5.8.6使用中だけどトリガーに出てくるよ
Wifi SSID Transitionの方は近隣の検索結果が出て自分で任意のssidの指定も可能
Wifi state change>Connected to Networkの方は現在接続中のssidしか出てこない
旧バージョンのヘルパーはエラーメッセージに從って削除済
ヘルパーへのロケーションパーミッションも追加済の状態 >>50
こちらも最新のヘルパーしか入れてない状態だったんだけど
一覧にSSIDが一つも表示されてなかった
SSID圏内・圏外トリガの方は今まで通り付近の全てから選べる状態
そこで一旦、MacroDroid本体(v5.8.6)とヘルパー削除して入れ直したところ
WiFi接続トリガでも接続中か、過去に接続済みのSSIDだけは選べるようになった
以前は付近のSSIDも纏めて出てた筈だが、OSの保存済みネットワークのみが
リストアップされるように変更になった、って事なのかな?
とにかく何とかなって良かった レスありがとう>>50 >>46
さすがにパターンじゃなくて
振動1回ごとにコマンド打つのはキツい >>52
横からだけどシェルスクリプト書いて関数にして呼び出せば良くない?
どういうパターンか知らないけど例えば一回の振動の時間が段々増えてって振動時間が短かくするなら
Timeを振動する時間としてXを振動させる回数とすれば
Time=floor (abs(100sin(πx/50)))
みたいにしてxを1〜100までwhileとかのループと&&とかを使って
termux-vibrate -d $Time
みたいに回せばいいんじゃない?
floor and sinとかの関数をbashでどう計算するかわかんないけど
一々同じコマンドなんて打つ必要ないと思うよ
行いたいパターンを関数で表現してループ回せばいい
bcコマンドも使えるし最悪Python呼び出すなりすれば好きな関数比較的簡単に作れると思うし いやわざわざ数学の関数使わなくても少ないループ関数なら[ 1 4 5 7]みたいな配列とかでぐるぐるさせりゃいいか 最初の例に至っては計算する必要するないな
多分ブレース展開で足りる
{1..10..2}とかを
termux-vibrate -d $Timeで回す >>52てな発想の人がシェルスクリプト書けるとは思わないな
適当なアプリで振動パターン作って呼び出す線でいいんじゃね? そうかもね
そういう発想他のアプリとかの線でいいかも
どうでもいいことに気がついたけどシェルスクリプト書けばバイブレーションとか光りとか音でモールス信号出せるね >>57
できるね
ボチボチ数が多いから定義したパターンを格納しといて簡単に取得するために連想配列がほしいかな
termuxでdictのあるpythonスクリプトが楽で良さげ
macrodroidは配列使えないのが不満 >>57 さん
>>58 さん
横からですが大変勉強になります…
あとスレ民の皆様は、
お気づきとは存じますが、
Macrodroidのループと機器制御で行われるバイブレーション(振動)は非同期なので、バイブレーションを複数回実行される場合には、
間にwaitを挟む必要がありますのでご注意ください。
Termuxから有料プラグイン使って、shell呼び出しするのもお金、掛かっちゃいますからね…
Macrodroidのshell実行で配列が使えて、
Macrodroidのwait時間が変数制御出来れば柔軟に対応できそうですけれど、ね。
参考までにキャプチャーを添付しておきます。
お目汚し失礼しました。
https://i.imgur.com/PiqNJ4S.jpg >>61 さん
情報提供ありがとうございます。
知らない訳ではないのですが、
不馴れな方にPlayStore以外から拾わせるのも、という気がしているのです。
↓以下、自己責任(要F-Droid、わかる方向け)
https://search.f-droid.org/?q=Termux&lang=en バイブの件、たくさんのレスありがとうございます
シェル組めないというのはおっしゃる通りで何言ってるかちんぷんかんぷんです
初心者お断りでしたらすみません
AutoToolsみたいのが無料で使えたらいいんですけどね >>63
悪意はないよ
気に障ったならゴメン
人にはそれぞれあったやり方があるし過度な学習が必要だとコストに見合わなくなるからさ
趣味の範疇で楽しんで気楽にやれる範囲がいいよね
てなわけである程度妥協も必要ってことで 初心者うんぬんってより
金出すのも広告見るのも勉強するのも面倒なのもイヤだ有料autotools並のを無料でほしい
実質これでしょ
最初からそういってくれればautotoolsもTermuxも紹介せんわ
後付け条件二連発は胸糞
そんの胸糞でも仕方ないからアイデアくれてやる
Taskerの無料期間を使ってほしいバイブパターン分のタスクを作成してApp Factoryでアプリ化
そのアプリをMacroDroidから呼ぶ
パターン作成はautotools無料期間中に数字を取ればお手軽だろうよ
無料期間中にApp Factoryが使えるかは知らん 少額アプリなら、Googleのアンケートでも答えてりゃすぐ買えるけどね
まぁ無料縛りで考えるのも、面白いかも知れないけど >>65
いきなり大量の条件突きつけたら
そんなものねーよ乞食で突き返されるオチ と言うか最初から情報が少ない上に後出しであれは嫌だこれは駄目だは無いわ すみません
次から気をつけます
でもApp Factoryも面倒くさそうなので別の方法お願いします >>69はもう自分で探したらいいんじゃないかな?
この流れでお願いシステムはちともう無理ゲー バイブパターン作って
アイコン決めて
適当なパッケージ名つけるのも面倒かw
MacroDroid使うのも無理じゃないかな
簡単なものでも自分で組んだことなさそう バイブの話ぶった斬りで質問
みんな何かplugin使ってる?
この人のxxxTaskってtasker pluginはフリーでいろいろ揃ってる
今のとこ使ってないけどTouchTask以外にもIntentTaskとParseTaskを使うかもと思って入れてみたよ
https://play.google.com/store/apps/dev?id=6982888636488378244 >>72 さん
現状使っているのはこんな感じでしょうかね。
FADownloader は、カメラ用のFlashAirの写真データを吸い上げるためのアプリですが、Taskerプラグインに対応されていてかなり便利だと思います。
あと添付にはありませんが、作者さんにコンタクトをとりアプリに実装してもらった、Buzzkillというアプリもあります。
(対応してなかったのを御願いして実装して貰いました)
https://i.imgur.com/0Lq0jO2.jpg >69
次から気をつけると言った次の行でもう丸投げw
二度と来んな >>74
今までもこうやって全て他人に頼りつつ、アレは駄目コレは無理と
立場弁えず要望ばかりぶつけて周りイラつかせて生きて来たんだろうな
…ってのが>>69だけでも伺い知れるよねw
こういう奴は去り際に突然「さっさと答えだけ教えろよ無能共」みたいな
暴言吐いて消えたりもするんだよ… >>73
ありがとう!
参考になります
ではこちらからも入れてみただけ多数ながらお返しに全リストを
https://i.imgur.com/WRErPbr.jpg >>78 さん
丁寧な御返信、ありがとうございます。
私も知らないプラグインが含まれており、
自分で調べてみて、こんなプラグインもあったのかと参考になりました。
情報提供、感謝です。 LINEの通知拾ってるんだけど2回連続で来てしまう
これだけなら直前にマクロ実行されてたらキャンセルで対応できるが
グループ名が入ってる通知が1回目だったり2回目だったりして
個人宛なのかグループトークなのかが振り分けできない >>65
Taskerの無料トライアルは公式HPからしかできないことを書かんと
有料じゃんとか余計なやりとりが増える
これまた初心者には優しくない もうバイブくん関連のネタはお腹いっぱい
LINEくんもループしてる
前に出た対策アイディアのうち何をどう試したか
現状のスクリプトと想定通知文字列はどんな感じか
このあたりを提示しないと進展しないと思うよ ・この程度の英文もわからないのか
・機械翻訳を使うこともできないのか
かんたんだね 充電時に音声を再生しようとしてるんだがマナーモードだと再生することって出来ない...? 機種によるんじゃね?
とりあえず充電したら音量変更してみりゃいいじゃん アラームやカメラのシャッター音みたいにマナーモードに依存しない音声に偽装する 代わりにアレクサに言ってもらうとか?
IFTTT無課金だと3つまでになっちゃったから何か別の連携のやり方試してみようかな いろいろ探したけどmacrodroidの変数を日アマのアレクサスキル「音声通知」にhttp POSTでJSONを渡す方法が見つからない
結局IFTTTをGET→POST変換のためだけに噛ませてwebhookで渡すしかなさそう
MD本体の機能→GETのみ
プラグインのRESTask/HTTP Shortcuts/ParseTask→POSTメソッドが使えてもTasker変数は渡せるのにMD変数は渡せない仕様
何かミスってるのかな?プラグインでPOSTできてる人いますか?
https://i.imgur.com/7AvS0sY.png >>90
続報
SAY ITってアプリがmacrodroidのプラグインとして動作した
アレクサにボイスコマンドで通知の要求出さなくても任意のテキスト読み上げさせられるけどやはり変数が使えないな
https://play.google.com/store/apps/details?id=de.dieterthiess.sayit 調べたらそこら中でHTTP POSTが使えないって言われてんだな
とりあえずPOSTすればいいんなら
HTTP Request Shortcutsのショートカット作って最終的にマクロで叩けばいいんでない?
Macrodroidの変数を扱えなくても保存したJSONで送ればいいんじゃないの?
全部Macrodroidで完結させるのは色々難しいと思うが >>92
そうね
ベタ書きなら>>90に挙げたプラグインどれでもPOSTメソッド使えるんでそれはOKなのよ
てかその割り切りならSAY ITがイメージ通りボイスコマンドなしで発話してくれるからその方がいいなと
「(機種名ベタ書き)のバッテリー充電がまもなく完了します」
「(機種名ベタ書き)がバッテリー切れでまもなくシャットダウンします」くらいなら数も少ないし
ころがってるスマホの充電管理ができなくなってたんで>>86のヒントがいい機会になった >>90
何が言いたいのかよく分かんないけど
脳死でTermuxで叩いたらだめなの?
JSON=$1
URL=$2
HEADER='content-type: application/json'
if type curl > dev/null 2>&1; then;
curl --header $HEADER --request POST --data $JSON $TARGETURL
else
wget --header=$HEADER --post-data=$JSON $TARGETURL
fi
試してないからクォーテーション周りが怪しいけど
スクリプトの設置は比較的簡単だろうし >>94
あぁそうだね
termuxなら普通にargが渡せるな
サンクス バージョンアップしたら
macrodroid helper APKをインストールしろとでるんだが。 Wi-Fi使えなくなったけど、ヘルパーファイルってフォーラムにユーザ登録しないとダウンロードできないの? >>98
他でも動くようにトリガーにしてるボタン足したよ
あとミリ秒の粒度で時間取るようにしてレスポンス改善とか
https://i.imgur.com/gSDC7C2.png
https://www.mediafire.com/file/a2g4fyfy3a3konm/1tm.ctrlMDdrawer2.macro/file
プラグインのTouchTask使うとキーのupとdownが個別に取れるんだけど連打するとdown取りこぼすときある
操作感悪いからMD標準の入力2ストロークで代用 ■ このスレッドは過去ログ倉庫に格納されています