探検


Tasker 質問スレ 17

■ このスレッドは過去ログ倉庫に格納されています
2018/01/16(火) 01:34:31.99ID:dqWO+Zp8
Androidアプリ、Taskerの質問スレです

質問時はまず質問テンプレート(>>2-)を読んでください

■公式サイト:7日間体験版あり http://tasker.dinglisch.net/

■前スレ
Tasker 初心者質問スレ 16
http://egg.5ch.net/test/read.cgi/android/1500893818/

■関連リンク
◆Tasker Wiki(英語) http://tasker.wikidot.com/
◆Playストア https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm

■日本語解説サイト
◆Tasker for Android 日本語化をめざす@ウィキ http://www43.atwiki.jp/taskeru/
◆ぷらりん http://tasker-userguide.pralin.info/
◆NIFの楽園(超初心者向け 概要から学び例題へ) http://solodc2011.com/tasker/1-overview

>>980を踏んだ方が次のスレを立てて下さい
※立てられない方は他の方にお願いして下さい
2018/05/14(月) 23:39:04.53ID:OZ+TSK9K
>>651
わかりにくくてすみません。
ベーシック認証は、651さんが書かれている通りの方法で突破できたのですが、そのさきにもう一回ユーザーIDとパスワードを求められていて、そこでつまづいています。

>>647
pcやスマホのブラウザではログインできるものの、そのクッキーをtaskerのなかでうまく流用できません。
2018/05/14(月) 23:43:32.15ID:TeDCoaiP
>>648
PushbulletのEvent設定するときにPushbullet側で通知を消すオプションがある
2018/05/14(月) 23:45:15.27ID:TeDCoaiP
>>650
ロック中に操作できないならロックを解除すればいい
Taskerならロック解除もできる
2018/05/14(月) 23:46:52.66ID:TeDCoaiP
>>653
1回PCかスマホかでログインして保存されたcookieをHTTP GetのCookie欄に入れちゃえば動くんじゃないか?
そのサービスがどんな仕様で動いてるかわからんから断言はできないが
2018/05/15(火) 01:03:41.87ID:Po5Kdxel
>>653
最初にHTTPサーバーでBasic認証があって、そのさきにアプリケーションでユーザー認証があるってことね
>>647,656が書いてるように手動ログイン時のCookieを持ってくるのが常套手段かと思われ

トライアルサイトで試してみたら、クライアント側(Javascript)でCookie生成してるのでトークンの有効期限が短いとか制約がきついとキビしいかもしれない
PCのChromeみたいにHeadlessモードがあれば解決できそうなものだけど
2018/05/15(火) 06:31:38.80ID:JMnv4ZeZ
>>652
ありがとうございます
調べてやってみます
2018/05/15(火) 09:43:19.02ID:VMZ51Tff
セッション有効期限が短いと実用的ではないかもね
2018/05/15(火) 09:59:55.98ID:olgtyOoy
>>657
有効期限は2日間くらいもしくは、違う端末でログインしたら切れちゃう感じなんですよね。
2018/05/15(火) 12:50:38.57ID:edvzOnZa
>>660
ソース見る感じdneor.cgiにPOSTすれば普通にログインできそうだからinputのvalueを投げてみればいいのでは
2018/05/15(火) 13:28:45.71ID:mrHvYjA0
●Tasker有無: 購入済み
●Androidバージョン:8.0
●root有無: なし
●わからないこと(知りたいこと)
Androidバージョン6.xの機種では正常稼動していた、位置情報をトリガーとしたタスクが稼動しなくなりました。
Tasker自体を起動するとタスクが実行されます。Android8.0においてGPS関係で何か設定が必要なのでしょうか?
●やってみたこと
Android設定にて
 アプリ>Tasker>電池 消費電力が高いアプリ=OFF、起動=手動で管理(全てON)

以上、アドバイスをよろしくお願いします。
2018/05/15(火) 14:30:18.32ID:qIArdSDs
>>661
ありがとうございます。
私の実力では、『postすれば何となくできそうな感じがする。』というところまででして、実際見よう見まねでやってみてもうまくいきませんでした。
詳しい方にたぶんできると言われただけでうれしいです。
ぐぐってトライしてみます。

もしよければもう少し詳しくおしえてください。
2018/05/15(火) 22:00:44.25ID:Po5Kdxel
>>661
ログインはできるかもしれないけど、本当にやりたいことの「サイトのソースを取得」までたどり着けなくない?
レスポンスで受信したJSONからCookie生成してリクエストしないとContentが取得できないと思われ
※下記はスマホ用サイトにアクセスした結果から書き出し

* /cgi-bin/dneosp/dneorsp.cgi/splogin/
-> Form Data[POST]
<- JSON

* /cgi-bin/dneosp/dneosp.cgi?cmd=portal
-> -(Cookie)
<- HTML Content
2018/05/15(火) 23:09:13.65ID:R6/ABAny
>>649
Tasker の右上のメニュー>More>Android Settings>Grant Document Tree Access はやったか?
それが原因かどうかはわからんが,手元の環境では特に問題なくアクセスできる.
これ以上は Task を貼らなければ試しようもない.
2018/05/15(火) 23:33:07.96ID:DBulaMpo
>>664
そのうんとかっていうサイトの仕様を知らないからあれなんだけどjsonにそれっぽいデータが帰ってくるならそれをcookieとしてこんどはgetすればいいってことだよね?
2018/05/15(火) 23:41:20.14ID:R6/ABAny
>>646
これだけでは情報不足過ぎて,憶測でしか回答できないが,
ログインしたら Cookie が返ってきて,その Cookie を使って目的のサイトを取得しにいけばよいのだとすると,
少なくとも HTTP Post では無理.なぜなら返ってきた Cookie を利用する手段がないので.

Cookie を使うことを前提にログインするには,
RESTaskプラグインを使うか,XMLHttpRequest() を使うか,curl コマンドを使うかだが,
まずはこれらを使って 200 なり 302 なりログイン成功のレスポンスを得るところから始める必要がある.

俺なら curl コマンドを使う.-v オプションをつければ,簡単にレスポンスの詳細が得られるから.
https://qiita.com/letsspeak/items/8c7266742371699ab45e
2018/05/16(水) 01:02:10.62ID:aLUSEfFX
>>666
yes. Chromeでログイン見た感じそんなだった
Tasker云々の前に、ドットさんが書いてる方法とか開発者ツールとか使って>>646が動きを理解しないと進まないね
2018/05/16(水) 09:51:47.79ID:y1jNiOxA
●Tasker有無: 購入済み
●Androidバージョン:7.0.0
●root有無: なし

●やりたいこと
動画再生アプリ「vlcプレイヤー」内の動画ライブラリで特定の動画ファイルを選択した時に、他の動画再生アプリでそのファイルを再生するようにしたいです。
ライブラリ表示はvlcが気に入っているのでそのまま使用したいが相性のためか上手く再生しないファイルがあるため実現したいのですが、taskerで可能でしょうか?どなたか詳しい方がいれば宜しくお願い致します。
2018/05/16(水) 15:17:53.93ID:fB+4p9/+
>>666
>>667
>>667
みなさん本当にありがとうございます。
完全に自分の力量を超えたところに来てしまった気がします。
curl自体を扱うのが初めてでしてPCのコマンドプロンプトからcrulをつかえる環境にはできました。
その先いろいろとやってみたものの次に何をやればよいのか皆目わからない状態です。
まずはドットさんのアドバイスにより-vのコマンドをいれてみました。
curl -v -F "UserID=Hoge" -F "_word=Hoge" https://hoge:[email protected]/cgi-bin/dneo/dneo.cgi?

すると
< HTTP/1.1 200 OK

< Set-Cookie: dnzHashcmd=fin;
< X-Powered-By: PleskLin
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=UTF-8

という値が返ってきました。
あわせて教えていただいたサイトにあった、「-F」をつかってuseridと_wordを入れてみましたが特に何かが起きている感じはしませんでした。
2018/05/16(水) 15:18:19.82ID:fB+4p9/+
なお、もともとログインできているPCのクッキーを確認したところ、クッキーは7つあるようで、これがどういうルールで発行されているのか定かではありません。
ただクッキーを全部消した後、ユーザーIDとパスワードを入力する画面にいった状態では上記のdnzHashcmd=finだけ発行されていたいて、ユーザーIDとパスワードを入力後、さらに6つ発行されているようでした。

適切な質問ができれば、正しい答えが返ってくるのだと思いますが、なにをどう質問したものか。。。この先どうすればよいのでしょうか。
クッキーをうまく扱っている、タスクの例があったら知りたいです。
2018/05/16(水) 15:24:51.32ID:fB+4p9/+
https://i.imgur.com/FeqYXUE.jpg

クッキーはこんなかんじで発行されてます。
2018/05/16(水) 15:32:06.31ID:4ryp0grU
>>670
-X POSTでpostリクエストにして、dneor.cgi(dneo.cgiじゃない)に投げるんじゃないかな?
仕様わかってないからてんで違ったらごめん
2018/05/16(水) 16:13:46.90ID:O9XgULj8
AutoAppsって入れる意味ありますか?
結局、それぞれのプラグインインストールしなきゃ行けないですよね?
2018/05/16(水) 17:07:58.84ID:pX7H5mlQ
>>674
課金の支払に必要
2018/05/16(水) 21:36:09.40ID:gSLoNz/B
>>671
Taskerでの実現以前にログインの手順を把握したほうがいいと思う
サイトによって仕様は異なるから部外者がアクセスできない以上、根本は>>646が解決しないといけないからね

使ってみよう! [F12] IE9 開発者ツール ? HTTP キャプチャ機能
ttps://blogs.msdn.microsoft.com/osamum/2011/08/14/f12-ie9-http/


おまけ
トライアルサイトでの確認内容

>>657にも書いたとおりログイン後に必要なCookieはクライアントが生成している
dnzHashcmdは唯一サーバーから渡ってくるけど、ログインやポータルトップのアクセスには不要だった

curl -i -F"cmd=certify" -F"nexturl=dneo.cgi?" -F"svuid=" -F"starttab=0" -F"gid=15" -F"uid=9" -F"_word=" https://trial.desknets.com/cgi-bin/dneo/dneor.cgi/certify/
curl -i -H "Cookie: dnzSid=ほにゃらら; dnzToken=ほにゃらら; dnzSv=; dnzInfo=9; dnzPtab=5" https://trial.desknets.com/cgi-bin/dneo/dneo.cgi?
でポータルトップContentは取得できた

PCとスマホサイトはURLが違うもよう
* /cgi-bin/dneo/dneor.cgi/certify/ XHR
 -> Form Data[POST]
 <- JSON
* /cgi-bin/dneo/dneo.cgi?
 -> -(Cookie)
 <- HTML Content

CookieとJSONの対応リスト
 dnzSid <- rssid
 dnzToken <- STOKEN
 dnzSv <- dnzsv? ※なければ空文字
 dnzInfo <- id
2018/05/16(水) 22:37:33.52ID:YmynfdwY
>>654
探したのですが、それらしいオプションは見つかりませんでした。

日本語版taskerユーザーガイドを見ると

既にステータスバーに表示されている通知が再び送られた場合もこのイベントは発生します。
このイベントはTaskerによって送られた通知は対象となりません。

と書いてあるのですが、自分のtaskerだとステータスバーの通知を毎回
スワイプして消さないと次回発動しません。。
2018/05/16(水) 22:49:15.00ID:UxQ52ZCp
>>662
Tasker の Preferences>MONITOR>Display Off Monitoring>All Checks Seconds の値はどうなっている?
最大でその値の時間だけ遅延が発生するが,それでも Task が実行されないということか?

後は,Tasker の Preferences>MONITOR>Run In Foreground にチェックは入っているか?

消費電力が高いアプリ=OFF、起動=手動で管理(全てON) というのが機種依存なのかちょっとわからないのだが,
Android設定>電池>右上のメニュー>電池の最適化 で,Tasker を最適化していない設定になっているか?
2018/05/16(水) 23:57:15.54ID:HMwixnLm
>>662
Prefs / Monitor / Display Off Monitoring / Motion Detection の可能性もびれぞん
http://tasker.dinglisch.net/userguide/en/loctears.html

その状態でLocation以外トリガーにしたタスクは動いてるんかね?
2018/05/17(木) 00:02:27.38ID:+q9pONgu
>>677
あるからよく見て
https://i.imgur.com/ESgzQ1U.jpg
2018/05/17(木) 00:29:10.23ID:ZmVNWFhu
>>678
Display Off Monitoring>All Checks Seconds=600
Googleマップでは、測位されているのに、600秒以上経過してももタスクが実行されません。tasker起動後はタスク実行されます。

All Checks Seconds=ON


HUAWEI端末です。
Android設定>電池>右上のメニュー>電池の最適化はありませんでしたが、アプリ設定>特別な設定>バッテリー最適化無視の対象にしてます。
2018/05/17(木) 00:37:41.90ID:ZmVNWFhu
>>679
Motion Detectionのチェックは外れてました。オンにしてみます。

その他のタスクは稼働してます。
(時間やディスプレイのONOFFをトリガーとしたタスクなど)
2018/05/17(木) 06:45:58.84ID:37BRfp5r
>>682
> if available on your device, will need to be disabled if you wish to detect changes of location on the order of a few meters.
だから外れてたほうが精度はいいと思うんだ

まとめるとこんな感じか なんでしょうなあ
- 非該当プロファイルはトリガー動作するからTasker自体は起きれているっぽい
- Googleマップで位置情報が確認できているのにLocationでトリガー動作しない

関係ないかもしれないけど、自分の環境ではOreo8.1でCell Nearは特に苦労せず動作している
Locationは使ってないので参考にならずにごめんなさいね
2018/05/17(木) 07:56:57.82ID:C7P8UDEe
●Tasker有無: 購入済み
●Androidバージョン:8.0.0
●root有無: なし
●わからないこと(知りたいこと)
「Do Not Disturb」アクションが下記のエラーで今朝から動作しなくなってしまいました
機器管理、サービス、通知アクセス権はすべて許可済みです
よろしくお願いいたします

07.51.20/NSI return last filter: -1
07.51.20/E cur mode: unknown wanted: all
07.51.20/NSI no service interface, notification access service enabled in Android settings ?
07.51.20/E result: stop task (error)
07.51.20/E Error: 1
07.51.20/MacroEdit action finished exeID 1 action no 0 code 312 status: Err next 0
2018/05/17(木) 14:07:21.97ID:EBm1jhXp
>>676
おおおおお。
ありがとうございます。
いろいろ試行錯誤してすこし前進しました。

●やってみたこと
教えていただいた↓を参考に

@
curl -i -F"cmd=certify" -F"nexturl=dneo.cgi?" -
F"svuid=" -F"starttab=0" -F"gid=15" -F"uid=9" -F"_word=" https://trial.desknets.com/cgi-bin/dneo/dneor.cgi/certify/

を目的のサイトに変えたら、4つのクッキーの取得に成功しました。
それを手書きで書き換え&書き加えて、

↓のフォーマットに落とし込んだら、目的のサイトのソースをPC上の表記できました。
A
curl -i -H "Cookie: dnzSid=ほにゃらら; dnzToken=ほにゃらら; dnzSv=; dnzInfo=9; dnzPtab=5" https://trial.desknets.com/cgi-bin/dneo/dneo.cgi?

ということでPCでは、curlをつかいコマンドプロンプト上で、目的サイトのソースを入手できました。
ちなみにこんな風になりました。

curl -i -H "Cookie: dnzSid=ほげ; dnzToken=ほげ; dnzSv=ほげ; dnzInfo=ほげ" https://ほげ:
ほげnep.dn-cloud.com/cgi-bin/dneo/dneo.cgi?cmd=plantweekgrp#cmd=plantsearch&key=&entry=%E5%B2%A1%E6%9D%91&splantgroup=0&sterm=
1&sfuture=1&rankflg=&reserve=&flag=&visitflg=&outflg=&fldsort=date&order=1&row=0&_=14994908777789132

●わからないこと
1 ルートのないスマホ端末のtaskerでcurlを扱い、かつ戻り値をtaskerの変数にいれる方法はあるでしょうか。
過去スレをみてtermuxのプラグインをインストールしてみましたが、「 /.termux/tasker 」というフォルダがうまく作れず、挫折してしまいました。

2 @からAを自動的に移行するコマンドみたいなものはありますか?
もしなければ、@の戻り値の中のキャッシュの部分をsplitなどで切り取り、タスカーの変数にして、curlのコマンドのなかのに埋め込むということなのでしょうか。
これは頑張ればできるような気がします。
2018/05/17(木) 14:10:12.14ID:EBm1jhXp
キャッシュの部分でなく、クッキーの部分でした。
2018/05/17(木) 15:35:53.23ID:pDhk6rPK
>>685
まずtermuxは消してなかったことにしよう

Code>Run Shell
https://i.imgur.com/Fny5JIY.png
コマンドの出力が画像の通りなら出力が%stdoutに入る(今回はgoogleのトップページのソース)

cookieに関してはどうしようもないのでVariables>Variable Search Replaceを使うか、Plugin>AutoTools>Regex、もしくはJS,Javaのコードを書くって手もある
好きな方法で切り出したり貼り付けたり頑張れ
2018/05/17(木) 23:00:17.99ID:0QdnCzlC
>>685
1 について
>>687 のとおり.

2 について
@のときに -c /書き込める場所/cookie.txt のようにして,クッキー情報をファイルに書き出し,
Aのときに -b オプションで書き出したクッキーファイルを指定すればよい.
http://blog.tmd45.jp/entry/2015/11/10/203526
2018/05/17(木) 23:04:05.03ID:0QdnCzlC
>>681
Android設定>アプリと通知>アプリの権限>位置情報>Tasker はオンになっているか?
2018/05/17(木) 23:11:06.70ID:jukoCY0T
>>689
端末によって違うかもだが、現在地>Taskerはオンになってます。
2018/05/17(木) 23:31:36.39ID:BCJkPw6H
>>685
@で返ってくるのはCookieでなくJSONフォーマットのデータね
>>676に書いたとおり

個人的に別途作りたいものを思いついたのでテストがてらタスク作ってみた
sdcard/Download/test.txt にポータルトップのContentを保存するところまで
http://thuploader.orz.hm/miniup/?mode=dl&;id=3059&original=1
DLパス=646のID

@
JSONの扱いはJavaScriptが手っ取り早いので>>209さんの参考にXHR
別な手段としてHTTP PostでもCurlでも同じことはできるけど、JSONのParseやValueのURLEncodeも何かしらで実現する必要がある
>>687,688さんの方法でも良いし組み合わせてもいいしお好みで
A
そのままJavaScriptで書いてしまいたかったが、XHRのクロスドメイン制約で setRequestHeader("Cookie",〜) ができない
※Refused to set unsafe header "Cookie" てなる https://i.imgur.com/RGIAxHq.png
仕方ないのでTaskerのHTTP GetでCookie付けてアクセスしている
2018/05/18(金) 00:26:50.71ID:f/7LOBu3
>>669
AutoInputプラグインを使えば可能.

下記の Profile は *.mp4 を選択したときに,MX Player で動画再生するようにしたもの.

Profile: VLC2MX (68)
Event: AutoInput UI Action [ Configuration:Action Types: Clicks ]
Application: VLC
Enter: Anon (145)
Abort Existing Task
A1: If [ %aielementtext(1) ~ *.mp4 ]
A2: Back Button
A3: SQL Query [ Mode:URI Formatted File:content://media/external/video/media Table: Columns:_id Query:_display_name = ? Selection Parameters:%aielementtext(1) Order By: Output Column Divider: Variable Array:%result Use Root:Off ]
A4: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type:video/* Data:content://media/external/video/media/%result(1) Extra: Extra: Extra: Package:com.mxtech.videoplayer.ad Class: Target:Activity ]
A5: End If
2018/05/18(金) 02:36:40.16ID:T/VVPaeH
>>692
細部まで教えて頂きありがとうございます。
しかし私がプログラミング&taskerの知識がほとんど無いため、実現することができませんでした。

初歩的なことで申し訳ないのですが、「Abort Existing Task」にはどうしたら設定できますでしょうか?"Collision Handing"の設定から選択するみたいですが、そこまで辿りつけずです。

スクリーンショットを載せますので、お時間があればミスを指摘して頂けないでしょうか。宜しくお願いします。

https://i.imgur.com/OPnFJBk.png
https://i.imgur.com/XXa6fcI.png
https://i.imgur.com/LPo9O0U.png
https://i.imgur.com/V8YxNLp.png
https://i.imgur.com/3RsxjGT.png
https://i.imgur.com/y93gs96.png
2018/05/18(金) 02:37:28.00ID:T/VVPaeH
>>692
エクスポートしたものはこちらになります。

Profile: VLC2MX (14)
Event: AutoInput UI Action [ Configuration:Action Types: Clicks ]
Application: VLC
Enter: Anon (12)
A1: If [ %aielementtext(1) ~ (MCU05).mp4 ]
A2: Back Button
A3: SQL Query [ Mode:URI Formatted File:content://media/external/video/media Table: Columns:_id Query:_display_name = ? Query: Selection Parameters:%aielementtext(1) Order By: Output Column Divider: Variable Array:%result Use Root:Off ]
A4: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type:video/(MCU05) Data:content://media/external/video/media/%result(1) Extra: Extra: Extra: Package:com.mxtech.videoplayer.ad Class: Target:Activity ]
A5: End If
2018/05/18(金) 07:19:28.02ID:zybojTkm
>>684
端末を再起動したら直りました
2018/05/18(金) 12:08:53.11ID:iOEM1vY8
>>687
>>688

本当にありがとうございます。
凄く初歩的なことでお恥ずかしいのですが、Run sherllでcurlがうまく扱えません。
過去スレを見てみると「端末による」「端末にcurlがはいっていれば」などと、端末に依存しているような表記が2、3件ありました。
なおRunshellで動かそうとすると、こんなエラーメッセージが出ます。

https://i.imgur.com/QWCyBeB.png
https://i.imgur.com/F8ryt0y.png

termuxが薦められた経緯をみても使えないのは端末依存ということで正しいのでしょうか。
もしそうであればcurlが動けば、ゴールできそうな感じだっただけに残念です。
ちなみにmate9です。
2chMate 0.8.10.1/HUAWEI/MHA-L29/7.0/LR

>>691
ありがとうございます。
書いて頂いたものを頑張って飲み込んで、検証するまでちょっとお時間頂きたいです。
2018/05/18(金) 15:37:06.35ID:9jCYHFrY
>>696
じゃあResTaskっていうプラグインがあるから試してみたら?
2018/05/18(金) 22:15:33.54ID:f/7LOBu3
>>693 >>694
まず Collision Handing は,Tasker の Preferences>UI>Beginner Mode のチェックを外せば,
Task画面(2つ目のスクリーンショット)で,右上の歯車アイコンから設定できる.

それから A1 と A4 の (MCU05) ってのは何だ?
そこは半角のアスタリスクだぞ.

それと A3 の Columns と Selection が間違っている.
Columns に _id,Selection に _display_name = ? を入れる.
699名無しさん@お腹いっぱい。
垢版 |
2018/05/18(金) 23:11:11.48ID:f/7LOBu3
>>690
HUAWEI 独自の省エネ設定が怪しいかもしれない.
https://help.mycartracks.com/knowledge-base/how-to-fix-gps-recording-issues-on-huawei-devices/
HUAWEI 端末は持っていないので,これ以上はわからん.
2018/05/19(土) 00:40:45.37ID:S60U3em9
>>680

https://i.imgur.com/oPrwBE4.jpg
https://i.imgur.com/R04XKnH.jpg

自分のtaskerのprofileのnotification→pushbulletの設定には無い見たいです。。
2018/05/19(土) 06:49:41.64ID:N9Z41w1t
>>700
Plugin>Pushbullet
2018/05/19(土) 09:43:33.92ID:DxGi53ti
>>698
ご指摘ありがとうございます。

(MCU05)というのはテストに用いた動画のファイル名でした。*の箇所を書き換えると勘違いしておりました。
A4の指摘された箇所を書き換えましたが、残念ながら上手く動作しませんでした。
申し訳ございません。



Profile: VLC2MX (14)
Event: AutoInput UI Action [ Configuration:Action Types: Clicks ]
Application: VLC
Enter: Anon (12)
Abort Existing Task
A1: If [ %aielementtext(1) ~ *.mp4 ]
A2: Back Button
A3: SQL Query [ Mode:URI Formatted File:content://media/external/video/media Table: Columns:_id Query:_display_name = ? Selection Parameters:%aielementtext(1) Order By: Output Column Divider: Variable Array:%result Use Root:Off ]
A4: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type:video/* Data:content://media/external/video/media/%result(1) Extra: Extra: Extra: Package:com.mxtech.videoplayer.ad Class: Target:Activity ]
A5: End If
2018/05/19(土) 18:06:40.99ID:tXhaBzMp
●Tasker有無: 購入済み
●Androidバージョン:7.1.1
●root有無: あり
●やりたいこと
コピーした定型文を現在時刻、日付に自動で書き換えたい
例、「#時#分に家を出ました」の定型文をコピー→taskerで「5時00分に家を出ました」に変換
●やってみたこと
訳の分からないことを考えて試したのですが初期から失敗しました
%CLIPから#をVariable Search でローカルVarに格納、%TIMEから時刻を取得しVarにセットそれを%ClIPに書き込み
2018/05/19(土) 19:05:07.12ID:ZRgGfHLq
>>701
notificationじゃなくてプラグインの方か!
ありがとう、解決しました!
2018/05/19(土) 21:21:13.41ID:WArANglZ
>>698
上手く動作しなかった件ですが、autoinputの権限を許可し忘れていたという初歩的なものでした。
思い描いていたことを実現することができました。誠にありがとうございます。
2018/05/19(土) 22:19:00.61ID:HfynjVpm
>>691
アップロードしていただいたものをカスタマイズして無事にサイトに到達できました。本当にありがとうございます!!!

>>687
>>688
>>697
お三方の助言なくてはとてもここまでこれませんでした。ありがとうございます。

完成タスクを張るべきところですが、
すでに691さんのお手本があるので、前半部分を私の手のなんとか届くRESTaskに書き換えたものを貼らせていただきます。
なおサイトの挙動が今一つわかっておらず、一回でクッキーがとれなかったり、A7で違うソースがきたりすることがあります。
その処理のため余分なものが入っており美しさにかけますが、本当にやりたいことがなんとか実現できそうです。

Dn取得試行 (174)
A1: RESTask [ Configuration:REST call Timeout (Seconds):30 ]
A2: Goto [ Type:Action Number Number:1 Label: ] If [ %rtcode !~ 200 ]
A3: Variable Set [ Name:%rtreS To:%rtres Recurse Variables:Off Do Maths:Off Append:Off ]
A4: Variable Split [ Name:%rtreS Splitter:" Delete Base:Off ]
A5: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A6: Variable Set [ Name:%cookie To:dnzSid=%rtreS8; dnzPtab=S; dnzHashcmd=fin; dnzToken=%rtreS12; dnzSv=%rtreSa36;
dnzInfo=%rtreS20 Recurse Variables:Off Do Maths:Off Append:Off ]
A7: HTTP Get [ Server:Port:https://hoge:[email protected] Path:/cgi-bin/dneo/dneo.cgi?cmd=plantweekgrp#cmd=plantsearch&key=&entry=ho&splantgroup=0
&sterm=1&sfuture=1&rankflg=&reserve=&flag=&visitflg=&outflg=&fldsort=date&order=1&row=0&_=14994908
Attributes: Cookies:%cookie User Agent: Timeout:10 Mime Type: Output File:Download/test2.txt Trust Any Certificate:On ]
A8: Flash [ Text:%HTTPR %HTTPL Long:Off ]
A9: Goto [ Type:Action Label Number:9 Label:short ] If [ %HTTPL < 12000 ]
A10: Write File [ File:Download/testlong.txt Text:%HTTPD Append:Off Add Newline:On Continue Task After Error:On ]
<short>
A11: Write File [ File:Download/testshort.txt Text:%HTTPD Append:Off Add Newline:On ]
A12: Stop [ With Error:Off Task: ]

●しりたいこと
この際、RESTaskを勉強して見ようとおもったのですが、cookiesをどこにどのようなかたちで記述すればうまくいくのかわかりませんでした。
追加の質問となってしまいますが、もしよければ教えてください。
2018/05/19(土) 23:32:31.71ID:qGn6PoSP
>>706
Headersタブで Name を Cookie として追加すればよい.

それと,JSON から自分で解析してクッキーを取得したようだが,
クッキーで返ってくる方にすれば,%rtck_dnzsid のような変数にクッキーの値が自動で入るので,
dnzSid=%rtck_dnzsid; dnzToken=%rtck_dnztoken;
のようにするだけで済む.
2018/05/20(日) 01:18:41.03ID:hSwGinpS
●Tasker有無: 購入済み
●Androidバージョン: android 8.0
●root有無: なし
●やりたいこと
 サブ機huawei nova lite 2にてデータsim(fuji sim)刺してます。
自宅ではwifi
外出時はテザリングを自動で切り替えたいです。
GPSにて自宅判定しようと思うんですがLocation設定で地図表示されません。
※メイン機(android7)だと同じ場所で地図表示されるんですが・・・
http://imgur.com/ANT4v1b.jpg
2018/05/20(日) 07:13:37.47ID:OargeJQn
>>708
GooglePlay開発者サービスを初期化で戻るよ。でもその他Googleサービスが使えないけど。
2018/05/20(日) 07:14:36.41ID:cpYNuHWN
>>707
おお!ありがとうございます。
やって見ます。
2018/05/20(日) 07:19:08.53ID:OargeJQn
>>708
上の方で質問したけど、私の環境ではnovalite2のtaskerで位置情報の取得がうまくいかない。ぜひ試して結果を教えてほしいな。
>662
2018/05/20(日) 14:47:34.30ID:QGUQDTKB
>>709
ありがとうございます。
ググるとHUAWEI機あるあるっぽいですね。
開発者サービス初期化・再起動でlocation画面でマップ表示されるようになりました。
あとはGPSでon・offされるかテストしてみます。

>>711
設定>アプリ>開発者サービス>無効>端末探す>無効アンインストール>再起動で今のところはGPS連動でon出来てます。offはまだ試せてませんが・・・
2018/05/20(日) 16:39:20.41ID:CIIzj3mX
■質問テンプレート

●Tasker有無: 購入済み
●Androidバージョン:8.1
●root有無: なし
●やりたいこと
 ・yyyymmdd-HHnnssの形式でPOP-UPに表示したい
 
●やってみたこと
 ・プロファイルまで作ってみたのですが、上手く変換されず変数名がそのまま表示されます。


https://i.imgur.com/h2APhwM.png
https://i.imgur.com/A5WWKs4.png
https://i.imgur.com/nF1itxB.png

getFormattedDateのタスクは前にこのサイトから拾いました
2018/05/20(日) 16:40:42.05ID:CIIzj3mX
すみません
サイトはここです
http://tasker.wikidot.com/getformatteddate
2018/05/20(日) 17:21:44.64ID:Y2SoyQ52
>>713
1枚目のPriorityを10ではなく%priorityにしたら動いた。
2018/05/20(日) 17:48:38.43ID:RAgsqba6
>>715
ありがとうございます。
うまく表示されました。
これで地球に帰ることが出来ます
2018/05/20(日) 23:14:44.25ID:jeUAlhFH
>>703
下記のような Profile を組めばよい.
なお,Profile Properties の Cooldown Time を設定しておかないと無限ループになるので注意.

下記の Profile は A2 の部分で変数展開しかしていないので,そこは好きなように変換すればよい.
どういうことかというと「「%TIME に家を出ました」をコピーすると,「5.00 に家を出ました」のようになるということ.

Profile: ClipConvert (206)
Cooldown: 3
Event: Variable Set [ Variable:%CLIP Value:* User Variables Only:Off ]
Enter: Anon (210)
A1: Variable Set [ Name:%clip To:%CLIP Recurse Variables:Off Do Maths:Off Append:Off ]
A2: Variable Set [ Name:%clip To:%clip Recurse Variables:On Do Maths:Off Append:Off ]
A3: Set Clipboard [ Text:%clip Add:Off ]
2018/05/20(日) 23:56:51.48ID:X39LPlWZ
●Tasker有無: 購入済み
●Androidバージョン:8.0
●root有無: なし
●やりたいこと
「指定Wi-Fiが切れると同時にバイブレーション&待ち受けに戻る」タスクを使ってるんだが、端末のWi-Fiをオフにしてたり指定外のWi-Fi使ってる時でもバイブ&待ち受けに戻されるようになった

対象のWi-Fi指定方法はSSIDとMACアドレスにて

Tasker入れて半年は問題なかった
誤作動するようになったのはここ二週間ほど

これだけでは情報が不十分かもしれないが何が原因かわかりますか? 
2018/05/21(月) 06:47:00.31ID:Dkzq+3J9
>>718
情報が不足してて意味がわかりません
2018/05/21(月) 08:21:23.49ID:MmQ+szLD
●Tasker有無: 購入済み
●Androidバージョン:7.0.0
●root有無: なし

●やりたいこと
AutoInputのプラグインで設定→テザリング→テザリングon・offのタスクを作成しました。
テストや発動契機をアプリケーションの起動に設定した場合はこの一連の動作は一瞬で終了してくれるのですが、契機をblutooth接続に設定すると画面の遷移から自動タッチまで3〜5秒ほど間隔があきストレスのある動作になってしまいます。
この間隔を無くす解決法などはあるのでしょうか?宜しくお願いします。
2018/05/21(月) 11:57:57.71ID:Ax3aGNK9
質問です。taskerははじめていじりますので言葉足らずだと思いますがご教授ください

●Tasker有無: 購入済み
●Androidバージョン:8.0(galaxyS8)
●root有無: なし

●わからないこと(知りたいこと)
task→display →turn on がこのデバイスじゃできませんと出ますが、ルート権限取るしかないでしょうか?

https://i.imgur.com/aygzq7e.jpg

●やりたいこと
turn onのtaskをショートカット、ウィジェットもしくはtaker内のtaskで作り、それをbxactionsというgalaxy専用のbutton action remaperでスリープ中に電源ボタン以外でもturn on できるようにしたい。
※bxactionsの動作項目にtaskerのtask選択もあります
2018/05/21(月) 19:40:45.65ID:vaWU27eH
>>720
そもそもテザリングのオンオフがtaskerの標準アクションで出来るけどそれじゃダメなのん?
wifiテザじゃなくBTテザだっていうならSecuresettingsでオンオフ
両方画面変移なくオンオフ出来るで?
2018/05/21(月) 19:53:17.82ID:+et23EnG
>>722
wifiテザリングですが、tasker標準のアクションで設定しようとすれば"This action may not work on some devices〜"と警告が出て実際に動作しませんでした。androidのバージョンと機種が関係しているようです。
2018/05/21(月) 20:11:16.45ID:vaWU27eH
>>723
それはご愁傷様
あと時間かかるのはこんなに言われてるのにタスク貼らないあわてん坊さんだから
BTconnectedじゃなくてBTnearになってないかい?
これ以上はドットさんなり現れるのを待ちなさいな
2018/05/21(月) 20:47:01.80ID:+et23EnG
>>724
タスクも貼らずにすみませんでした。
今回作成したのはこちらです。

Profile: wifiテザリング (7)
State: BT Connected [ Name:CAR-KIT Address:* ]
Enter: テザー (2)
A1: Wireless Settings
A2: AutoInput Action [ Configuration:Type: Text
Value: テザリング
Action : Click Timeout (Seconds):20 ]
A3: AutoInput Action [ Configuration:Type: Text
Value: Wi-Fiテザリング
Action : Click Timeout (Seconds):20 ]
A4: Go Home [ Page:0 ]

A2A3で画面が表示されてから3秒ほど経ってからタッチされるのでそれを短くしたいです。
2018/05/22(火) 18:23:05.82ID:ggjFIzeS
>>717
どうさしました。ありがとうございます
これの仕組みって
クリップボードに何かがコピーされたのを検知

A1%CLIPをローカルvars(%clip)に格納

A2%clipの中のグローバル変数を変換(recurseでグローバル変数が無くなるまで繰り返す)

A3%clipをクリップボードに送る

であってますか?
2018/05/22(火) 19:19:47.76ID:hPt5SnRG
●Tasker有無: 購入済み
●Androidバージョン:7.0.0
●root有無: なし
●やりたいこと
Javascriptから返ってきたUTF16(と思われる)の文字列をUTF8(もしくはSJIS)などに変換して、なにかしらのグローバル変数にいれたい。

たとえばこういう文字列を
2018\u5e7405\u670811\u65e5\uff5e

2018年05月11日〜
と、このようにしたいです。

●やってみたこと
過去レス4をみて、kconvでの変換をいろいろと試してみたが、どうやってもうまく変換できなかった。(sl4aでrubyを動かすところまではできました。)

※taskerの中でやるのが理想ですが、なにかの変換サイトに文字列を投げて、て返ってくる%HTTPDを切り出せればそれでも構いません。

どうぞよろしくお願いいたします。
2018/05/22(火) 19:47:06.67ID:2POZ0Ha8
>>727
変換用のRubyのコードみせて
2018/05/22(火) 20:14:17.79ID:qqriw9xA
●Tasker有無: 購入済み
●Androidバージョン:8.0.0
●root有無: なし
●やりたいこと
特定アプリの通知が来たときに、バイブとLEDの色を指定したい。

バイブは設定どおりに振動するのですが、LEDがTaskerのNotify LEDで設定した色になりません。
TaskerでPinkを選択しているのですが、青になります。
2018/05/22(火) 20:48:42.14ID:kMClwav4
>>727
JavaScriptでデコードして返すのはだめ?

let s;
s = decodeURIComponent(JSON.parse('"2018\u5e7405\u670811\u65e5\uff5e"'));
setLocal("res", s);
2018/05/22(火) 20:50:49.40ID:5+Ruej0t
●Tasker有無: 購入済み
●Androidバージョン:Nougat
●root有無: あり
●やりたいこと
機内モードオンにした時自動でWiFiをオンにする

お願いします
2018/05/22(火) 20:50:59.06ID:tf9vVDQN
>>729
LEDの色は端末によって再現できる色とできない色がある
つまり必ずしも指定した色になるとは限らない
2018/05/22(火) 21:42:10.95ID:F23JXAR0
>>731
プロファイルにState→Net→Airplance Mode(Invertにチェックしない)
タスクにNet→WiFi(Set on)
が1番簡単かな?
2018/05/22(火) 21:50:06.97ID:+Cn8JOUe
>>728
コードはこれです。
下記のUTF16とUTF8のところをいろいろいろと書き換えてみましたがうまくいきませんでした。

require 'kconv'

in_path = '/mnt/sdcard/Tasker/log/infile.txt/'
in_code = Kconv::UTF16
out_path = '/mnt/sdcard/Tasker/log/outfile.txt'
out_code = Kconv::UTF8

File.open(in_path, 'r') do |f_in|
File.open(out_path, 'w') do |f_out|
f_out.write f_in.read.kconv(out_code, in_code)
end
end
2018/05/22(火) 21:57:02.08ID:wFaTuveb
>>733
すげー!
ありがとう!
2018/05/22(火) 22:05:20.43ID:+Cn8JOUe
>>730
変換したい文字は変数かファイルにはいっているのですが、javaのコードの中にグローバル変数をいれることって可能ですか?

decodeURIComponent(JSON.parse('"%hoge"'));
setLocal("res", s);

みたいにできれば、嬉しいのですが。。。
2018/05/22(火) 22:27:45.43ID:kMClwav4
>>736
たぶんこんな感じ?
ど正常以外は考慮していないので念の為
http://thuploader.orz.hm/miniup/?mode=dl&;id=3075&original=1
DLパス=727のID
2018/05/22(火) 22:42:43.11ID:ke+nPrT7
>>725
端末を再起動した直後でも動作が遅いか?
それと BT Connected のタイミングで何か他に Task が動作していないか?
2018/05/22(火) 22:46:26.88ID:ke+nPrT7
>>726
A2 はグローバル変数に限らず変数ならば変換する.
それ以外はあっている.
2018/05/22(火) 23:02:19.36ID:ke+nPrT7
>>721
root 不要.
Tasker単体で別の方法でもできるが,一番簡単なのは Secure Settingsプラグインを使う方法.

https://play.google.com/store/apps/details?id=com.intangibleobject.securesettings.plugin&;hl=ja

Secure Settingsプラグインをインストールしてから,
Task Edit画面で Plugin>Secure Settings>Configuration>Actions>Wake Device と選択していって Action を追加すればよい.
2018/05/22(火) 23:44:28.74ID:NUNX0rPq
>>736
面倒だけど
変数をテキストファイルに書き出して
jsで読み込んで変換して書き出して
taskerで読み込んで変数にセット
2018/05/22(火) 23:55:29.66ID:+Cn8JOUe
>>737
ありがとうございます。めちゃくちゃ素晴らしいです。
変数には↓こんなふうにずらずらとUTF16が入っていて
"event":"--","entry":"2018\u5e7405\u670811\u65e5\uff5e"
上記をまるごと変換すると、失敗するらしく%resだけか返って来てしまいます。
waitは5秒くらい入れています。

ただ、ここから
2018\u5e7405\u670811\u65e5\uff5e
だけ切り出せばうまく変換できます。
まるごと変換するのは難しいでしょうか。
2018/05/23(水) 00:01:26.83ID:PUHsUGX8
>>741
今日一日Rubyと格闘したことを考えると、全く面倒ではありません。

「jsで読み込んで変換して書き出して」
ここがよくわからないです。
2018/05/23(水) 00:14:56.62ID:Z5EbXn+A
>>742
おそらく元のデータは{}でくくられていると思うのでそのままつっこめばOK
くくられてなければ{}でくくって渡す
http://thuploader.orz.hm/miniup/?mode=dl&;id=3076&original=1
DLパス=727のID
2018/05/23(水) 06:55:18.66ID:xLAl4b7S
>>741
ファイルに書き込む必要ないぞ
変数は展開できる

>>743
>>736の%hogeのところをlocalかglobalに置き換えればいい
local("ローカル変数名")かglobal("グローバル変数名")
https://i.imgur.com/7igF8AV.jpg
2018/05/23(水) 08:37:50.70ID:9NldrfQK
●Tasker有無: 購入済み
●Androidバージョン:7.0
●root有無: なし
●やりたいこと

sl4a以外でpythonの実行

●わからないこと(知りたいこと)

一定時間毎に実行したいPythonのコードがあり
sl4aでやろうとしたところpip installがうまく行かず使いたいライブラリが入れられないので
別のアプリ(「Pydroid 3」というアプリ)でPythonを実行したい

一定時間毎の部分もpythonでやればいいと言う指摘もあるかもしれませんが
あくまで、実行タイミングはtaskerで管理したいのです(必然性は無いのですがそれがやりたかったので)
2018/05/23(水) 11:51:43.10ID:MnjS0yaE
>>746
Termuxがお手軽
2018/05/23(水) 11:52:59.96ID:HyEuIXbk
>>744
ありがとうございます。
おっしゃる通りに全体が{}でくくられてました。
まるごと変換したいという説明が稚拙でした。恐縮です。

まるごと変換したい文字列は4000文字くらいありまして、{}で入れ子構造になっていたり、並列に繰り返しになっていたり。

{省略
{"event":"--","entry":"2018\u5e7405\u670811\u65e5\uff5e"},{"mame":"--","limit":"\uff5e5\u670813\u65e5"}}
みたいなものがひとつの単位となって入力結果に応じて繰り返されてます。

これを
{省略
{"event":"--","entry":"2018年5月11日〜"},{"mame":"--","limit":"〜5月13日"}}
※繰り返し略

のように最初と最後の{}も含めて4000字全部変換したいのです。
2018/05/23(水) 12:30:11.67ID:HyEuIXbk
>>745
ありがとうございます。
貼っていただいたスクリーンショットが手がかりなんですよね。

変数のところにlocalと変数名を書き換えてみましたが、
let s;
s = decodeURIComponent(JSON.parse(local("hoge")));
setLocal("res", s);
2018/05/23(水) 12:36:49.80ID:HyEuIXbk
続き(途中で送ってしまいました。)
では動かず。。。
クォーテーションマークを挿入する程度にしか試行錯誤もできず。ここで止まってしまいました。

この解決法をとるにしても、748にあるように%hogeの中にある文字列を4000字全て変換してみたいです。
2018/05/23(水) 14:09:22.74ID:Z5EbXn+A
>>748
タスク上げる余裕がないのでコードだけ
グローバル変数のアクセスと文字列のデコードもできるはず

let json = global('Hoge');
let o = JSON.parse(json);
setGlobal('DEBUG', JSON.stringify(o));
2018/05/23(水) 14:26:38.44ID:5nDgl0MZ
>>749
動かないって言われてもなんで動かないのかこっちはわかんない
エラーが出るとか何も言わずに止まるとかそういう情報が必要

まずflash使って変数はきちんと展開できてるかとかの確認はすべき
flash(local("hoge"))で変数が出るかどうか

あとJSON.parseした時点で通常の文字に戻ってる気がするからそこも確認してみて(decodeいらないのでは?って話)
■ このスレッドは過去ログ倉庫に格納されています