Tasker

自分の車の「エンジンを掛けた時刻」「エンジンを切った時刻」「エンジンを切った場所(到着地)」をGoogleカレンダーに予定として挿入します。

仕様(概要)

  • タイミング
    • エンジンをかけたとき
    • エンジンを切ったとき
  • 挿入する予定に含める内容
    • 時刻(開始・終了)
    • エンジンを切った場所(到着地)

設計

  • 自分の車にはBluetoothでのハンズフリー通話機能付きのカーナビがついているので、これと接続/切断したタイミングを利用します。
  • 接続時のタスク(Enter task)
    • シリアル時刻を記録する(エンジンをかけた時刻)
  • 切断時のタスク(Exit task)
    • 現在のシリアル時刻から、エンジンをかけた時のシリアル時刻を引き、エンジンON時間(秒)を求め、60で割って「分」に換算しておきます。
    • GPSで現在地を検出する
    • Googleカレンダーに予定として挿入する。

コード

Vars

手動で作る必要はありません。Taskを初めて実行したタイミングで自動生成されます。

TimeOfPowerOnMyCar
エンジンをかけた時刻(シリアル秒)
duration
エンジンをかけていた時間(分)
durfrom
何分前からエンジンをかけていたか(分)(マイナス表現)

エンジンを切ったタイミングで上記を計算するので、durationとdurfromは符号がちがう同じ数字となります。
たとえば、「運転は -15分後から開始し、15分間継続した」というデータでCalendarに挿入するわけです。

Profile

1つだけです。 EnterとExitの両方にTaskを設定します。

Profile: DriveReport
    State: BT Connected [ Name:Prius Address:* ]
Enter: car on
Exit: car off

NameやAddressはご自身の車の環境に合わせて設定してください。

Task

Task: car on
    A1: Silent Mode [ Mode:Vibrate ] 
    A2: Variable Set [ Name:%TimeOfPowerOnMyCar To:%TIMES Do Maths:Off Append:Off ] 
Task: car off
    A1: Variable Set [ Name:%duration To:floor((%TIMES-%TimeOfPowerOnMyCar)/60) Do Maths:On Append:Off ] 
    A2: Variable Set [ Name:%durfrom To:%duration * -1 Do Maths:On Append:Off ] 
    A3: Get Location [ Source:Any Timeout (Seconds):10 Continue Task Immediately:Off Keep Tracking:Off ] 
    A4: Calendar Insert [ In / For (Minutes):%durfrom / %duration Calendar:Google:LifeLog Title:Prius Description: Location:%LOC Available:Off All Day:Off ] 

カレンダー名は Google:LifeLog のところですが、これは各位お使いのカレンダーを指定してください。
おまけで乗車時にサイレントモードに設定しています。(降車時に戻す操作はしていません)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-05-22 (木) 14:48:52 (1459d)