2016年3月2日水曜日

グローバルIPが変わったら知らせるTaskerタスク

家に近づいたときに PCを Wake on LANで起動するようにしてるのですが、
グローバルIPが変わってしまってて起動できないことがありました。

そこで家に据え置きのスマホでグローバルIPを監視し、
変更があった場合は知らせるタスクを作ってみました。

●家スマホ


新規タスク "GIPget"
1. NET > HTTP Get
  Server:Port → www.whatismyip.org
  Mime Type → text/plain
  Output File → Tasker/myip.txt
 myip.txtは任意の場所(私はSDカードのTaskerフォルダ)に作っておく
2. File > Read Line
  File → Tasker/myip.txt
  Line → 41
  To Var → %myip
 こんなのが入ります↓
 <span style="color: blue; font-size: 36px; font-weight: 600;">123:456:789:012</span>
3. Variables > Variable Split
  Splitter → >
4. Variables > Variable Split
  Splitter → <
 3~4でIP部分だけを抜き出します
5. File > Write File
  File → Tasker/newip.txt
  Text → %myip21
  Add Newline → チェック外す
 Splitで分割した変数は数字を後につけることで指定できます。
 %myip2 でひとつめの">"の後、%myip21 で">"後で"<"の前まで。

あとはプロファイルで1日1回、夕方くらいに呼び出す。
こうして最新のグローバルIPを記載した newip.txtを
FolderSync Liteでクラウドサーバに保存します。

一部参考にさせてもらったのが以下の記事。

What's My Home IP automated via Tasker - Google Group
DaWeav さんの書き込み

●持ち歩きスマホ


あらかじめ oldip.txt/newip.txt をスマホ上に作っておきます。
また newip.txtは家スマホが夕方に更新した後を見計らって
FolderSync Liteで上書きコピーします。

新規タスク "GIPcheck"
1. File > Read File
  File → Tasker/oldip.txt
  Var → %oldgip
 oldip.txtは前日までのIPが書いてあります。
2. File > Read File
  File → Tasker/newip.txt
  Var → %newgip
3. Task > If
  %oldgip neq % newgip
 "neq"はDoesn't Equalです。もし新旧IPが違ってたら…
4. Alert > Notify
  Title → グローバルIP変更
  Text → %newgip
 通知します。
5. File > Write File
  File → Tasker/oldip.txt
  Text → %newgip
  Add Newline → チェック外す
 oldip.txt を最新に更新します。
6. System > Set Clipboard
  Text → %newgip
 WoLアプリに張り付けられるよう、クリップボードに値を入れます。
7. Task > End If

これをFolderSync Liteの上書きコピー処理の後に回すよう、
プロファイルで時間指定します。

0 件のコメント:

コメントを投稿

Evernote

Clip to Evernote