WM3500R のバッテリー残量を Growl で通知する

WM3500R をうっかり契約して家の固定回線解約しました。将来的には、softbank の2年縛りが切れたらそれも解約して docomowimax の2回線で生きていこうと思ってます。それで、実際使っててバッテリー残量が分かりにくいし、いちいち管理ページに見に行くのもめんどいので Growl で通知できるようにした。

勉強中の pythonスクリプト書いてみた。これを cron 登録して適当な感覚で回すことでだいたいの残量を把握するようにしました。

ちなみに、実際の WM3500R の使い勝手ですが、すごい満足してる!!! 前、契約してたときは我が家すらギリギリ電波入るけど速度でないとかいう状況だったけど、今は、余裕の電波状況で速度も満足なレベル。エリアに関しては地下は勿論全滅だけど、地上ではそれなりに使えるようになった感じ。少なくとも通勤の山手線とかに関してはまったく問題なく使えて、むしろ softbank のほうが電波入らないことがある。バッテリーに関しては、本当に8時間稼動とか可能なレベルなのでバッテリー切れとか気にする必要が殆どない。

ということでお金ない感じの人は家回線とスマートフォン回線を wimax に集約すれば、生きていける〜。

家ではかったスピードテスト

#!/usr/bin/env python
# coding: utf-8

import urllib2
import scrapemark
import Growl

username = 'ユーザ名'
password = '設定したパスワード入れる'

password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(None, 'http://web.setup/index.cgi/eco_mode_main',
        username, password)

handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
html = urllib2.urlopen('http://web.setup/index.cgi/eco_mode_main').read()

html_utf8 = html.decode("euc-jp").encode("utf8")

batter = scrapemark.scrape("""
<body>
{*
<td class='small_item_td2'> {{ batter }} </td>
</tr>
*}
</body>

    """,
    html_utf8)

g = Growl.GrowlNotifier(
        applicationName = 'GrowlPython',
        notifications = [ 'Demo' ],
        defaultNotifications = [ 0 ],
        hostname = 'localhost',
        password = '',
        )
g.register()
g.notify(
        noteType = 'Demo',
        title = u'WM3500R バッテリー残量',
        description = batter["batter"],
        sticky = False
        )

ちなみに、Python から Growl に通知するやり方はこちらを参考にしました。
PythonからGrowlを利用する | おいぬま日報

追記

WM3500R に繋いでないときの処理の存在忘れてたし、あとで書こう。