Googleの「Go 節電プロジェクトAPI」を使ってChrome拡張機能を作ってみた

2011年7月13日水曜日に、Go 節電プロジェクトのAPIが公開されました。
http://googledevjp.blogspot.com/2011/07/go-api.html

「Go 節電プロジェクト API 説明ページ」
http://api.gosetsuden.jp/#api-peakpowersupply

で、早速このAPIを使って、
現在の電力使用率を5分ごとにアイコンに表示するGoogleChrome拡張機能を作ってみました。

■使ったAPI:------------------------------------------------------------

◆瞬時値: 5分ごとに計測された電力消費量を取得する◆
http://api.gosetsuden.jp/#api-instant

例:
http://api.gosetsuden.jp/usage/tokyo/instant/latest
⇒これで、最も最新の電力消費データ (瞬時値) を一件のみ取得できます。

◆ピーク値: ピーク時の電力供給力を取得する◆
http://api.gosetsuden.jp/#api-peakpowerdemand

例:
http://api.gosetsuden.jp/peak/tokyo/supply/today
⇒これで、当日のピーク時における電力の供給力を取得できます。


で、「消費量 / 供給力 × 100」で使用率を割り出しています。(割り出し方あってんのか?


拡張機能を作成する際に作成したファイルたち:--------------------------------

◆manifest.json

{ 
"name" : "節電太郎" ,
"version" : "1.0",
"description" : "現在の電力使用率を5分ごとに、アイコンに表示します。",
"icons": { "128": "bulb_128.png" },
"browser_action" : { 
	"default_icon" : "bulb.png"
 },
"background_page": "background.html",
"permissions" : [ 
	"http://api.gosetsuden.jp/"
 ]
}

◆background.html

<html>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" ></script>
	<script>
		var update = function() { 
			var bunbo = 0;
			var bunshi = 0;
			$.ajaxSetup({async : false, cache :false});
			$.getJSON("http://api.gosetsuden.jp/peak/tokyo/supply/today", function(json){
				bunbo = json[0].usage;
			});
			$.getJSON("http://api.gosetsuden.jp/usage/tokyo/instant/latest", function(json){
				bunshi = json[0].usage;
			});
			var rate = '?';
			if( bunbo != 0 && bunshi != 0) { 
				rate = ( bunshi / bunbo ) * 100; 
				rate = Math.round(rate);
			}
			chrome.browserAction.setBadgeText({ text :rate + '%'});
			setTimeout(update, 1000 * 60 * 5 );
		}
		update();

	</script>
</html>	

あとは、アイコン画像を用意してパッケージングすれば完成!

この拡張機能を使ってみたい人は以下のリンクをクリックして、Chromeにインストールしてください。
http://dl.dropbox.com/u/13255543/ElectricPower.crx