PebbleをTaskerで操る(AutoPebble)
Taskerに有料のサードパーティープラグインであるAutoPebbleを追加して、オリジナルアプリもどきを作ってみたい。
ただし、残念なことに、自分のPebbleTime上では、カーソルなどの反転がうまく表示されず「黒塗りつぶし」になってしまった。自分専用のアプリなので気にならないが、潔癖症の人は避けた方がよいかもしれない。
なお、以下は通勤の合間にヘルプを読んででっち上げたコードであるから、本来の使い方を逸脱していたり、もっと簡単な方法もあるかもしれないのでご留意願いたい。
まず、AutoPebbleでできる「主な」ことを簡単におさらいしたい。
- 右側の上中下ボタンで選択する3項目メニュー(長押しとダブルクリックやシェイクも取得できる)
- その亜種である通知画面。実質的には3項目メニューと同じ。
- 右側の上下ボタンで選択肢を切り替え、中央ボタンで決定する複数項目メニュー
- Pebble側のAutoPebbleアプリが起動したことで発生するイベント
- Pebble側で上記の選択ボタンが押された際に発生するイベント(Commandという変数で押されたボタンを識別できる)
この仕様から導かれるおよその戦略は以下の通り。
- Pebble側でAutoPebbleが起動したらメインメニューを表示する
- ボタン押下時に発生するイベントで、変数"Command"で返されたTaskerのTaskを実行する
- サブメニュー用のTaskを作り階層構造にもする。
さらに応用として
- 自宅Wifiから離脱した際に発生するイベントで、Pebbleに「消灯の確認」を通知し、決定ボタンが押されたときはIRKitから消灯するリモコン信号を発する。
- 自宅Wifiに接続した際に発生するイベントで、Pebbleに「点灯の確認」を通知し、決定ボタンが押されたときはIRKitから点灯するリモコン信号を発する。
Pebble側でAutoPebbleを起動時にメニューを表示するプロフィール
3項目メニューを表示し、上ボタンを押すとリモコンという別のサブメニューに飛ぶ。中と下ボタンには今のところ割り当てなし。
Profile: Pebbleでアプリを開いた (186) Restore: no State: AutoPebble App [ Configuration:Watch App Opened: true Pebble Connected: false PebbleDisconnected: false Media Button: false Media Button Previous: false Media Button Next: false ] Enter: Pebbleメインメニュー (189) A1: AutoPebble List [ Configuration:Full Screen: false Header: Taskerメニュー Labels: リモコン Actions: task:リモコン Last Line Height Default: false Remember Position: false Motion Action: task:リモコン No Prefix if Command: false Do Not Disturb: false Clear History: false Open Phone App: false Save Scren: false Don't Send Screen: false Go Back: false Go Back Multi: false Timeout (Seconds):120 ]
ボタン押下時の発生イベントで、Commandに従いTaskerのTaskを実行するイベント
このプロフィールを作ることで、冒頭にtask:を付してあるCommandを、タスクとして解釈するようになる。
Profile: Pebble:タスク呼び出し (195) Event: AutoPebble [ Configuration:Command Filter: task: Case Insensitive: false Exact: false Case Insensitive: false ] Enter: Task呼び出し (194) A1: Variable Set [ Name:%command To:%apmessage Recurse Variables:Off Do Maths:Off Append:Off ] A2: Variable Search Replace [ Variable:%command Search:task: Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In:%command Replace Matches:On Replace With: ] A3: Flash [ Text:%command を実行 Long:Off ] A4: Perform Task [ Name:%command Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:Off ]
サブメニューのタスク
複数項目メニューである。「外出就寝」というタスクを用意しておき、それを呼び出している。ちなみに、IRKitから、すべての家電に対して電源OFFのリモコン信号を発するタスクである。詳細はIRKitの記事を参照されたい。
リモコン (192) A1: AutoPebble List [ Configuration:Full Screen: false Header: リモコン Labels: 外出就寝,帰宅,照明 Actions: task:外出就寝,task:帰宅,task:時間に応じた照明をつける Last Line Height Default: false Remember Position: false Title Font: Gothic 14 Bold Text Font: Gothic 18 Motion Action: task:Close No Prefix if Command: false Do Not Disturb: false Light Mode: Turn On Briefly Clear History: false Open Phone App: false Save Scren: false Don't Send Screen: false Go Back: false Go Back Multi: false Timeout (Seconds):120 ]
応用編
ここから先は別稿に譲る。
Pebble Time スマートウォッチ 腕時計 (ブラック) [並行輸入品]
- 出版社/メーカー: Pebble
- メディア: エレクトロニクス
- この商品を含むブログ (6件) を見る