Bluetooth PANを活用する 逆方向Watchdroidその2

私はRogbid Brave Pro(LEMFO LEM14)をSIM無しBluetoothにて運用しています。今までBluetooth PANを経由してJoinを使い、親スマホを操作してきました。常時BT PANに接続してれば問題ないんですが、「画面がオンの時だけBT PANにつなぐ」運用をしていると、Joinの再接続が遅れることがまぁまぁある。

 

と言うことで逆方向Watchdroidを使ったらもう少し快適そうなのでやってみた。

 

なお、画面がオンのときだけBT PANに繋ぎにいくAutomateフローの例は↓のとおり。省電力効果が大きい。


フルAndroidスマートウォッチでの基礎的なAutomateの例 - diablo3cs’s diary

 

 

逆方向Watchdroidとは


逆方向WatchDroidによってBluetooth経由でスマホに通知を送る - diablo3cs’s diary

 

通常使用するのと逆にもWatchdroidを入れて、時計側から親スマホに通知を送る。この通知を受けて、親スマホのマクロ起動をする。

 

 

時計側WatchDroidPhoneの設定

ちっこい画面でめんどくさいですが、やるしかありません。

  • アプリはAutomateのみを許可。
  • Automateの自動フィルターはオフにする。
  • 手動フィルターは適当に。

 

  • 通知→ソーシャル通知→通知の動作→「画面をオンにする」を有効。オンの画面じゃないとTaskerといえども反応出来ない。
  • 新しい通知スタイル、有効。
  • 「通知に触れない場合、スマートウォッチでレコードを生成します」を無効。ただしこれはWatchdroidの通知画面を利用する場合で、システム上の通知notificationを利用する場合はオン。ややこしいな。
  • 「タスクバーから通知を破棄すると~」有効。
  • 音声通知を発行する、オフ。
  • サイレントモードで振動する、有効。
  • 振動時間ゼロ。これで通知が来た際に音も振動も鳴らない。
  • 通知を表示する時間、最短の5秒。

 

  • スポーツと心拍数、電池の同期をオフ。

 

 

スマホでWatchdroidAssistantの通知をキャッチする by Tasker

watchdroidの最初に全画面表示される、システム上の通知notificationじゃない、通知画面をキャッチする。システム上の通知notificationをキャッチする場合は、通知が履歴に登録される場合の通知を利用するので、5秒待たなくてはいけない。

 

https://drive.google.com/file/d/1cypagbzS9wxBOF69LlhdISB-KCuh5WGE/view?usp=drivesdk

 

今回作製したTaskerのプロファイル。AutoInputプラグインを使用している。やっていることは、

 

  1. WatchdroidAssistantがforegroundに来たとき、
  2. それが通知ならタイトルを%titleofwd に、本文を%textofwdに格納する。title of watchdroid。
  3. %titleofwdが、「Hotspot On」ならばwifiテザリング開始。
  4. %titleofwdが、「Hotspot Off」ならばwifiテザリング終了。
  5. %titleofwdが、「Call via WD」ならば、%textofwdの番号に電話開始。

 

 

 

↓プロファイルのDescription

 

Profile: If WatchDroidAssistant is foreground, Then DO2 (15)
Restore: no
Event: App Changed [ Output Variables:* Package:com.lumaticsoft.watchdroidassistant ]
Enter: Anon (16)
A1: AutoInput UI Query [ Configuration:App Package: com.lumaticsoft.watchdroidassistant
Variables: titleofwd Timeout (Seconds):20 Continue Task After Error:On ]
A2: AutoInput UI Query [ Configuration:App Package: com.lumaticsoft.watchdroidassistant
Variables: textofwd Timeout (Seconds):20 ]
A3: If [ %titleofwd ~ Hotspot On ]
A4: WiFi Tether [ Set:On Keep Wi-Fi when turning on:Off ]
A5: Say [ Text:Hot spot on Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]
A6: End If
A7: If [ %titleofwd ~ Hotspot Off ]
A8: WiFi Tether [ Set:Off Keep Wi-Fi when turning on:Off ]
A9: Say [ Text:Hot spot off Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]
A10: End If
A11: If [ %titleofwd ~ Call via WD ]
A12: Call [ Number:%textofwd Auto Dial:On SIM Card: ]
A13: End If

 

↑ここまで

 

あとはスマートウォッチ側で

Automateにてスマートウォッチ側で通知を生成すればOK。ただし発行した通知は貯まっていくので、自動的に通知キャンセルするフローを組むと良い。今回の場合、以下の動作をスマートウォッチから親スマホにさせられる。

 

  • タイトルに「Hotspot On」、wifiテザリング開始。
  • タイトルに「Hotspot Off」、wifiテザリング終了。
  • タイトルに「Call via WD」テキストに電話番号、電話発信開始。

 

 

おまけ

逆方向Watchdroidを入れている場合のBrave Proの電池消耗具合。

 


f:id:diablo3cs:20210318133430j:image

だいたい1時間当たり3%くらい。30時間ちょい。まぁBrave Pro は何でかバッテリー消耗具合が安定しないのでご参考まで。