Tasker と sinatra 製サーバーで各端末のバッテリ状況を一元的に把握できるようにしてみた。
サーバー
Ruby の sinatra で、適当に GET するとバッテリ状況を保存するサーバー書いた
https://gist.github.com/anekos/8255991
一瞬でかけました。
Android 端末
Tasker というアプリを使用。
HTTP Get のアクションを使って http://example.com/level/$devicename/$level を定期的に叩く
(普段ネットに繋がないような端末は、WIFI On > Wait (%WIFI = On) > WIFI Off とかするといいっぽい。
ノート
C# で適当にプログラム書いた。
こいつをタスクスケジューラで、定期的に実行してやる。
https://gist.github.com/anekos/8256104
割と苦戦したけど、内容は超簡単。
BatteryLifePercent が float で 100% の時に 1 を返すような仕様は変。
あと、こいつで繋ぎに行くとサーバ側で Connection reset by peer になるのが謎。
見る
http://example.com/level/ を叩く
しきい値以下の端末があったら、Pebble というスマートウォッチとデスクトップに通知がいくようにしている。