Macに接続したMagic Keyboardの電池残量をコマンドラインで得る

Magic Keyboardを利用する様になって電池残量が気になってしまい、メニューバーのBluetooth接続一覧の箇所からキーボードを選び残量を知るということを行っていたのだけれども、あまりスマートではないなと思ったところもあったので色々と調べると ioreg というコマンドでOSが持つ情報を得れるということを今更ながら知った。

Magic Keyboard等の電池残量は "BatteryPercent" というキーの値で得ることができるので以下の様にioregの引数で渡してやると得ることができる。

ioreg -r -d 1 -k BatteryPercent

ioregの実行結果
上の様な形で結果が得られる

更にこのコマンドに -a という引数を渡すとplist形式のXMLで上の情報を得られるので、更にそれをJSONで扱えると便利そうだなと思ったのでnpmのexecanode-simple-plistを使って以下の様に書いてみた。(このあたりシェルだけで解決できそうな気もするが…)

上の様なものを書いたら、それとなく便利そうなJSONが得られる様になったので、今度はバッテリー残量を定期的にSlack通知させようかと思う。仕事終わりに近いときに残量気付ける様に。

それとなく便利そうなJSON

余談だが今回初めてplistを今更ながら知り、そしてその系譜がNeXTに遡ることを知ってしみじみした。
NS接頭辞以外にもこういうところに残っているんだと。